Boost logo

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