|
Boost : |
Subject: Re: [boost] Conversion/Enums/Opaque request for interest
From: Tim Moore (tim_at_[hidden])
Date: 2011-04-16 12:44:49
On 4/16/11 4:43 AM, Vicente BOTET wrote:
Hi,
Lastly I've been working on 3 Boost libraries proposals.
* Boost.Conversion ([1]https://svn.boost.org/svn/boost/sandbox/conversion/libs/
conversion_ext/doc/html/index.html),
* Boost.Enums ([2]https://svn.boost.org/svn/boost/sandbox/enums/libs/enums/doc/
html/index.html)
* Boost.Opaque ([3]https://svn.boost.org/svn/boost/sandbox/opaque/libs/opaque/d
oc/html/index.html)
Boost.Conversion manages with generic explicit conversion between unrelated typ
es. The template function convert_to allows to convert a source type to a targe
t type, using argument dependent lookup (ADL) to select a specialized convert_t
o function if available. If no specialized convert_to function is available, bo
ost::conversion::convert_to is used.
Boost.Enums intends to provide a partial solution to the scoped enums problem e
nsuring a portable solution compatible with compilers supporting natively scope
d enums or not. In addition provides a framework to view enumerations as ordina
l types so we can define some specific and efficient enum containers. Boost.Enu
ms is composed of the following parts:
* Scoped enums
* Ordinal enums
* Enum containers
* MPL enums
* String <-> Enum conversions
Boost.Opaque intends to provide a library partial solution to "opaque typedefs"
. Boost.Opaque provides:
* a generic mixin class hierarchy which can be specialized by the user to make
new opaque classes.
* a generic class hierarchy which can be instantiated by the user to make new o
paque typedefs.
* a meta-mixin concept that allows to compose in a easy way several aspects of
a class in an orthogonal way.
* a considerable number of meta-mixins that helps defining new types from an un
derlying type
* Some helper macros that can reduce the declaration of a new opaque type to a
single line, emulating the language-based approach.
Boost.Opaque and Boost.Enums depend in some degree on Boost.Conversion.
These are quite basic libraries that any of you could find useful (or not) and
that are not associated to a complex domain, so any of you could have an opinio
n without spending too much time.
Please follow the above links to have a better idea of the motivation of these
libraries.
Before continuing completing the design, docs and tests of these libraries I wo
uld like to know if there is an interest on these libraries and if you have any
suggestion on how to improve them, you see something missing or that should be
removed. This will help me a lot to concentrate my efforts on the library that
reveals more interest.
Any comment will really be appreciated.
Thanks,
Vicente
_______________________________________________
Unsubscribe & other changes: [4]http://lists.boost.org/mailman/listinfo.cgi/boo
st
Vicente,
I reviewed the Boost.Enums documentation and I am very interested in this
library. I could use this library right now exactly as it is described in
the documentation. I'm sure once I started using it I will be able to
comment more intelligently on changes/improvements.
Due to client constraints, I must do most of my development on older gcc
versions (3.4.6 and 4.1.1) and I would be willing to help you test this
library on those compilers if you wish to support them.
I haven't looked at the other two libraries yet to see if they meet any of
my needs but I will do so soon.
Thanks for your efforts,
Timothy Moore
Montecito Software LLC
[5]http://www.montecito-software.com
References
1. https://svn.boost.org/svn/boost/sandbox/conversion/libs/conversion_ext/doc/html/index.html
2. https://svn.boost.org/svn/boost/sandbox/enums/libs/enums/doc/html/index.html
3. https://svn.boost.org/svn/boost/sandbox/opaque/libs/opaque/doc/html/index.html
4. http://lists.boost.org/mailman/listinfo.cgi/boost
5. http://www.montecito-software.com/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk