Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r70006 - in sandbox/enums/libs/enums/doc: . html html/boost html/boost/enums html/boost/enums/enum_set html/boost/enums/meta html/boost/mpl html/boost/mpl/equal_to_impl_enum_c_ta_id35963068 html/boost/mpl/equal_to_impl_enum_c_ta_id35963470 html/boost/mpl/greater_equal_impl_enum_id35963147 html/boost/mpl/greater_equal_impl_enum_id35963549 html/boost/mpl/greater_impl_enum_c_tag_id35963108 html/boost/mpl/greater_impl_enum_c_tag_id35963509 html/boost/mpl/less_equal_impl_enum_c__id35963227 html/boost/mpl/less_equal_impl_enum_c__id35963628 html/boost/mpl/less_impl_enum_c_tag__e_id35963187 html/boost/mpl/less_impl_enum_c_tag__e_id35963589 html/boost/mpl/numeric_cast_integral_c_id35963266 html/boost/mpl/numeric_cast_integral_c_id35963668
From: vicente.botet_at_[hidden]
Date: 2011-03-15 18:08:34


Author: viboes
Date: 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
New Revision: 70006
URL: http://svn.boost.org/trac/boost/changeset/70006

Log:
Enums: update doc
Added:
   sandbox/enums/libs/enums/doc/html/BOOST_ENUMS_SPECIALIZATIONS.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_CONS_END.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_END.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_NO_CONS_END.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_START.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_CONS_END.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_END.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_NO_CONS_END.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_START.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/
   sandbox/enums/libs/enums/doc/html/boost/enums/
   sandbox/enums/libs/enums/doc/html/boost/enums/default_value.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/emulator_type.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/enum_array.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/enum_class_cons.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/enum_class_no_cons.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/enum_range.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/enum_set/
   sandbox/enums/libs/enums/doc/html/boost/enums/enum_set.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/enum_set/reference.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/enum_subrange.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/enum_type.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/enum_type_cons.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/enum_type_no_cons.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/first_id35961669.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/get_c_array_id35967730.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/get_c_array_id35967755.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/last_id35961724.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/linear_enum_traiter.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/make_range_id35967838.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/make_range_id35967871.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/meta/
   sandbox/enums/libs/enums/doc/html/boost/enums/meta/enum_traits.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/meta/first.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/meta/last.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/meta/pos.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/meta/pred.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/meta/size.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/meta/succ.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/meta/val.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/operator^.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/operator_.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/operator__.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/operator___id35967603.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/operator___id35967641.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35967488.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35967565.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35968955.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35969032.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35969130.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/pos_id35961787.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/pred_id35961885.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/succ_id35962011.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/swap.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/underlying_type.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/enums/val_id35962091.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/hash_enums_enum_set_EC_id35967943.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/
   sandbox/enums/libs/enums/doc/html/boost/mpl/enum_c.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/enum_c_tag.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/enum_range_c.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/equal_to_impl_enum_c_ta_id35963068/
   sandbox/enums/libs/enums/doc/html/boost/mpl/equal_to_impl_enum_c_ta_id35963068.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/equal_to_impl_enum_c_ta_id35963068/apply.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/equal_to_impl_enum_c_ta_id35963470/
   sandbox/enums/libs/enums/doc/html/boost/mpl/greater_equal_impl_enum_id35963147/
   sandbox/enums/libs/enums/doc/html/boost/mpl/greater_equal_impl_enum_id35963147.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/greater_equal_impl_enum_id35963147/apply.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/greater_equal_impl_enum_id35963549/
   sandbox/enums/libs/enums/doc/html/boost/mpl/greater_impl_enum_c_tag_id35963108/
   sandbox/enums/libs/enums/doc/html/boost/mpl/greater_impl_enum_c_tag_id35963108.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/greater_impl_enum_c_tag_id35963108/apply.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/greater_impl_enum_c_tag_id35963509/
   sandbox/enums/libs/enums/doc/html/boost/mpl/less_equal_impl_enum_c__id35963227/
   sandbox/enums/libs/enums/doc/html/boost/mpl/less_equal_impl_enum_c__id35963227.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/less_equal_impl_enum_c__id35963227/apply.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/less_equal_impl_enum_c__id35963628/
   sandbox/enums/libs/enums/doc/html/boost/mpl/less_impl_enum_c_tag__e_id35963187/
   sandbox/enums/libs/enums/doc/html/boost/mpl/less_impl_enum_c_tag__e_id35963187.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/less_impl_enum_c_tag__e_id35963187/apply.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/less_impl_enum_c_tag__e_id35963589/
   sandbox/enums/libs/enums/doc/html/boost/mpl/numeric_cast_integral_c_id35963266/
   sandbox/enums/libs/enums/doc/html/boost/mpl/numeric_cast_integral_c_id35963266.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/numeric_cast_integral_c_id35963266/apply.html (contents, props changed)
   sandbox/enums/libs/enums/doc/html/boost/mpl/numeric_cast_integral_c_id35963668/
   sandbox/enums/libs/enums/doc/html/index.html (contents, props changed)
Removed:
   sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS.html
   sandbox/enums/libs/enums/doc/html/BOOST_NO_ENUM_UNRESTRICTED_UNION.html
   sandbox/enums/libs/enums/doc/html/BOOST_NO_UNDERLYING_TYPE.html
   sandbox/enums/libs/enums/doc/html/BOOST_NO_UNRESTRICTED_UNION.html
   sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_CONST_DECLARATION.html
   sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_CONST_DEFINITION.html
   sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME.html
   sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME.html
   sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL.html
Text files modified:
   sandbox/enums/libs/enums/doc/Jamfile.v2 | 168 ++++++++-
   sandbox/enums/libs/enums/doc/enums.qbk | 681 +++++++++++++++++++++++++++++++--------
   sandbox/enums/libs/enums/doc/html/standalone_HTML.manifest | 98 ++--
   3 files changed, 723 insertions(+), 224 deletions(-)

Modified: sandbox/enums/libs/enums/doc/Jamfile.v2
==============================================================================
--- sandbox/enums/libs/enums/doc/Jamfile.v2 (original)
+++ sandbox/enums/libs/enums/doc/Jamfile.v2 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -52,41 +52,159 @@
 using doxygen ; # Required if you want to use Doxygen.
 using quickbook ;
 
-doxygen autodoc
+doxygen scoped_enums_ref
    :
- [ glob ../../../boost/enums/*.hpp ]
- [ glob ../../../boost/enums/mpl/*.hpp ]
+ [ glob ../../../boost/enums/config.hop ]
+ [ glob ../../../boost/enums/enum_type.hpp ]
+ [ glob ../../../boost/enums/enum_value.hpp ]
+ [ glob ../../../boost/enums/underlying_type.hpp ]
+ [ glob ../../../boost/enums/underlying_value.hpp ]
+ [ glob ../../../boost/enums/default_value.hpp ]
+ [ glob ../../../boost/enums/emulation.hpp ]
+ [ glob ../../../boost/enums/enum_subrange.hpp ]
+ [ glob ../../../boost/enums/emulator_type.hpp ]
+ [ glob ../../../boost/enums/enum_type_cons.hpp ]
+ [ glob ../../../boost/enums/enum_type_no_cons.hpp ]
+ [ glob ../../../boost/enums/enum_class_cons.hpp ]
+ [ glob ../../../boost/enums/enum_class_no_cons.hpp ]
+
       #[ glob ../../../boost/enums/detail/*.hpp ]
       #[ glob ../../../boost/enums/detail/*.ipp ]
     
       #[ glob ../../../boost/enums/examples/*.*pp ] # Example source files.
    :
         <doxygen:param>"PREDEFINED=\"BOOST_ENUMS_DOXYGEN_INVOKED=1\" \\
- \"BOOST_STATIC_CONSTEXPR=constexpr\" \\
+ \"BOOST_STATIC_CONSTEXPR=constexpr\" \\
+ \"BOOST_DEDUCED_TYPENAME=typename\" \\
+ \"BOOST_STATIC_CONSTANT(x,y)=static x const y\" \\
+ \"BOOST_STATIC_ASSERT(cnd)=\" \\
+ \"BOOST_CONSTEXPR=constexpr\""
+
+ <doxygen:param>WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile.
+ # It is also wise to to set a warnings logfile like this:
+ <doxygen:param>WARN_LOGFILE=AutoDoxywarnings.log # This may not be empty (usually not a good sign!), depending on options chosen.
+ # Much better to send message to a logfile than the default stderr.
+ # and make sure that there are no Doxygen errors or significant warnings in the log file.
+ <doxygen:param>RECURSIVE=NO # Search recursively down subdirectories.
+ <doxygen:param>EXTRACT_ALL=YES
+ <doxygen:param>ENABLE_PREPROCESSING=YES
+ <doxygen:param>MACRO_EXPANSION=YES
+
+ <doxygen:param>HIDE_UNDOC_MEMBERS=NO
+ <doxygen:param>EXTRACT_PRIVATE=NO
+ <doxygen:param>EXPAND_ONLY_PREDEF=YES
+ #<doxygen:param>EXPAND_STATIC=YES
+ <doxygen:param>SEARCH_INCLUDES=YES
+ <doxygen:param>INCLUDE_PATH=$(BOOST)
+ <xsl:param>"boost.doxygen.reftitle=Scoped Enums Reference"
+ ;
+
+doxygen ordinal_enums_ref
+ :
+ [ glob ../../../boost/enums/enum_traits.hpp ]
+ [ glob ../../../boost/enums/enum_traiter.hpp ]
+ [ glob ../../../boost/enums/size.hpp ]
+ [ glob ../../../boost/enums/pos.hpp ]
+ [ glob ../../../boost/enums/val.hpp ]
+ [ glob ../../../boost/enums/first.hpp ]
+ [ glob ../../../boost/enums/last.hpp ]
+ [ glob ../../../boost/enums/pred.hpp ]
+ [ glob ../../../boost/enums/succ.hpp ]
+ #[ glob ../../../boost/enums/detail/*.hpp ]
+ #[ glob ../../../boost/enums/detail/*.ipp ]
+
+ #[ glob ../../../boost/enums/examples/*.*pp ] # Example source files.
+ :
+ <doxygen:param>"PREDEFINED=\"BOOST_ENUMS_DOXYGEN_INVOKED=1\" \\
+ \"BOOST_STATIC_CONSTEXPR=constexpr\" \\
+ \"BOOST_DEDUCED_TYPENAME=typename\" \\
+ \"BOOST_STATIC_CONSTANT(x,y)=static x const y\" \\
+ \"BOOST_STATIC_ASSERT(cnd)=\" \\
+ \"BOOST_CONSTEXPR=constexpr\""
+
+ <doxygen:param>WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile.
+ # It is also wise to to set a warnings logfile like this:
+ <doxygen:param>WARN_LOGFILE=AutoDoxywarnings.log # This may not be empty (usually not a good sign!), depending on options chosen.
+ # Much better to send message to a logfile than the default stderr.
+ # and make sure that there are no Doxygen errors or significant warnings in the log file.
+ <doxygen:param>RECURSIVE=NO # Search recursively down subdirectories.
+ <doxygen:param>EXTRACT_ALL=YES
+ <doxygen:param>ENABLE_PREPROCESSING=YES
+ <doxygen:param>MACRO_EXPANSION=YES
+
+ <doxygen:param>HIDE_UNDOC_MEMBERS=NO
+ <doxygen:param>EXTRACT_PRIVATE=NO
+ <doxygen:param>EXPAND_ONLY_PREDEF=YES
+ #<doxygen:param>EXPAND_STATIC=YES
+ <doxygen:param>SEARCH_INCLUDES=YES
+ <doxygen:param>INCLUDE_PATH=$(BOOST)
+ <xsl:param>"boost.doxygen.reftitle=Ordinal Enums Reference"
+ ;
+
+
+doxygen enums_containers_ref
+ :
+ [ glob ../../../boost/enums/enum_array.hpp ]
+ [ glob ../../../boost/enums/enum_set.hpp ]
+ [ glob ../../../boost/enums/enum_range.hpp ]
+ :
+ <doxygen:param>"PREDEFINED=\"BOOST_ENUMS_DOXYGEN_INVOKED=1\" \\
+ \"BOOST_STATIC_CONSTEXPR=constexpr\" \\
                                    \"BOOST_DEDUCED_TYPENAME=typename\" \\
                                    \"BOOST_STATIC_CONSTANT(x,y)=static x const y\" \\
                                    \"BOOST_STATIC_ASSERT(cnd)=\" \\
                                    \"BOOST_CONSTEXPR=constexpr\""
 
- <doxygen:param>WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile.
- # It is also wise to to set a warnings logfile like this:
- <doxygen:param>WARN_LOGFILE=AutoDoxywarnings.log # This may not be empty (usually not a good sign!), depending on options chosen.
- # Much better to send message to a logfile than the default stderr.
- # and make sure that there are no Doxygen errors or significant warnings in the log file.
- <doxygen:param>RECURSIVE=NO # Search recursively down subdirectories.
- <doxygen:param>EXTRACT_ALL=YES
+ <doxygen:param>WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile.
+ # It is also wise to to set a warnings logfile like this:
+ <doxygen:param>WARN_LOGFILE=AutoDoxywarnings.log # This may not be empty (usually not a good sign!), depending on options chosen.
+ # Much better to send message to a logfile than the default stderr.
+ # and make sure that there are no Doxygen errors or significant warnings in the log file.
+ <doxygen:param>RECURSIVE=NO # Search recursively down subdirectories.
+ <doxygen:param>EXTRACT_ALL=YES
         <doxygen:param>ENABLE_PREPROCESSING=YES
         <doxygen:param>MACRO_EXPANSION=YES
 
- <doxygen:param>HIDE_UNDOC_MEMBERS=NO
- <doxygen:param>EXTRACT_PRIVATE=NO
- <doxygen:param>EXPAND_ONLY_PREDEF=YES
- <doxygen:param>EXPAND_STATIC=YES
+ <doxygen:param>HIDE_UNDOC_MEMBERS=NO
+ <doxygen:param>EXTRACT_PRIVATE=NO
+ <doxygen:param>EXPAND_ONLY_PREDEF=YES
+ <doxygen:param>EXPAND_STATIC=YES
         <doxygen:param>SEARCH_INCLUDES=YES
         <doxygen:param>INCLUDE_PATH=$(BOOST)
- <xsl:param>"boost.doxygen.reftitle=Boost.Enums C++ Reference"
+ <xsl:param>"boost.doxygen.reftitle=Enum Containers Reference"
    ;
 
+doxygen mpl_enums_ref
+ :
+ [ glob ../../../boost/enums/mpl/*.hpp ]
+ :
+ <doxygen:param>"PREDEFINED=\"BOOST_ENUMS_DOXYGEN_INVOKED=1\" \\
+ \"BOOST_STATIC_CONSTEXPR=constexpr\" \\
+ \"BOOST_DEDUCED_TYPENAME=typename\" \\
+ \"BOOST_STATIC_CONSTANT(x,y)=static x const y\" \\
+ \"BOOST_STATIC_ASSERT(cnd)=\" \\
+ \"BOOST_CONSTEXPR=constexpr\""
+
+ <doxygen:param>WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile.
+ # It is also wise to to set a warnings logfile like this:
+ <doxygen:param>WARN_LOGFILE=AutoDoxywarnings.log # This may not be empty (usually not a good sign!), depending on options chosen.
+ # Much better to send message to a logfile than the default stderr.
+ # and make sure that there are no Doxygen errors or significant warnings in the log file.
+ <doxygen:param>RECURSIVE=NO # Search recursively down subdirectories.
+ <doxygen:param>EXTRACT_ALL=YES
+ <doxygen:param>ENABLE_PREPROCESSING=YES
+ <doxygen:param>MACRO_EXPANSION=YES
+
+ <doxygen:param>HIDE_UNDOC_MEMBERS=NO
+ <doxygen:param>EXTRACT_PRIVATE=NO
+ <doxygen:param>EXPAND_ONLY_PREDEF=YES
+ #<doxygen:param>EXPAND_STATIC=YES
+ <doxygen:param>SEARCH_INCLUDES=YES
+ <doxygen:param>INCLUDE_PATH=$(BOOST)
+ <xsl:param>"boost.doxygen.reftitle=MPL Enums Reference"
+ ;
+
+
 
 xml enums : enums.qbk ;
 
@@ -112,7 +230,8 @@
         # Path for libraries index:
         <xsl:param>boost.libraries=../../../../libs/libraries.htm
         # Use the main Boost stylesheet:
- <xsl:param>html.stylesheet=../../../../doc/src/boostbook.css
+ #<xsl:param>html.stylesheet=../../../../doc/src/boostbook.css
+ <xsl:param>html.stylesheet=./boostbook.css
 
         # PDF Options:
         # TOC Generation: this is needed for FOP-0.9 and later:
@@ -135,12 +254,15 @@
         <format>pdf:<xsl:param>admon.graphics.extension=".svg"
         <format>pdf:<xsl:param>admon.graphics.path=$(boost-images)/
         <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/enums/doc/html
- <dependency>autodoc #
- <dependency>css-install
- <dependency>png-install
- <dependency>svg-install
- <dependency>enums-png-install
- <dependency>enums-svg-install
+ <dependency>scoped_enums_ref #
+ <dependency>ordinal_enums_ref #
+ <dependency>enums_containers_ref #
+ <dependency>mpl_enums_ref #
+ <dependency>css-install
+ <dependency>png-install
+ <dependency>svg-install
+ <dependency>enums-png-install
+ <dependency>enums-svg-install
    ;
 
 path-constant boost-root : [ modules.peek : BOOST ] ;

Modified: sandbox/enums/libs/enums/doc/enums.qbk
==============================================================================
--- sandbox/enums/libs/enums/doc/enums.qbk (original)
+++ sandbox/enums/libs/enums/doc/enums.qbk 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -7,9 +7,9 @@
 
 [library Toward Boost.Enums
     [quickbook 1.5]
- [version 0.1.0]
+ [version 0.2.0]
     [authors [Botet Escriba, Vicente J.]]
- [copyright 2010 Vicente J. Botet Escriba]
+ [copyright 2010-2011 Vicente J. Botet Escriba]
     [category Utilities]
     [id boost.enums]
     [dirname enums]
@@ -21,9 +21,8 @@
     ]
 ]
 
-[:[C enumerations constitute a curiously half-baked concept.
-]]
-[:[*['-Stroustrup ]]]
+[:['"C enumerations constitute a curiously half-baked concept."]]
+[:[*Stroustrup ]]
 
 [warning Enums is not a part of the Boost libraries.]
 
@@ -60,9 +59,19 @@
 
 [section Motivation]
 
-The David E. Miller, Herb Sutter and Bjarne Stroustrup's proposal ([@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1891.pdf [*N1891: Strongly Typed Enums (revision 3)] includes a clear motivation for "Strongly Typed Enums".
+The David E. Miller, Herb Sutter and Bjarne Stroustrup's proposal ([@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1891.pdf [*N1891: Strongly Typed Enums (revision 3)]] includes a clear motivation for "Strongly Typed Enums". On compilers not providing "Strongly Typed Enums" we can make a quite close emulation. This allows to write programs that are portable on compilers providing this feature natively and using the emulation on the others.
 
-On compilers not providing "Strongly Typed Enums" we can make a quite close emulation. This allows to write programs that are portable on comilers providing this feature natively and using the emulation on the others.
+Kevlin Henney presents in [@http://www.two-sdg.demon.co.uk/curbralan/papers/FlagWaiving.pdf [*Flag Waiving]] a safe design for enum sets which is based on some the association of an enumeration element and its position on the enumeration itself. This is found also in language as [@http://en.wikipedia.org/wiki/Enumerated_type#Ada Ada], which defines attributes on enumerations like first, last, succ, value, pos, ... The same mapping can be used to implement arrays having an enumeration as index type and viewing enumerations as a range. This association has constant time complexity most of the times, as usual enumerations follows linear or logarithmic progressions.
+
+A third feature that has been requested for a long time is the ability to convert an enum so an string and vice versa.
+
+Examples of libraries that have tried to cope with some of these aspects are:
+
+*
+* SmartEnums has complex design to take care of iteration.
+* SmartEnums that take care mainly of string conversions.
+
+There are also a lot of literature about this simple problem.
 
 [endsect]
 [/==================]
@@ -70,12 +79,19 @@
 [/==================]
 
 
-[*Boost.Enums] intends to provide a library partial solution to this problem.
+[*Boost.Enums] intends to provide a partial solution to the scoped enums problem, and provides the framework to view enumerations as ordinal types.
 
 [*Boost.Enums] provides:
 
 * Some language-like macros helping to define scoped enum classes.
-* Some meta-functions and functions helping to write portable programs using scoped enum classes under comilers supporting them natively or by an emulation on the others.
+* Some meta-functions and functions helping to write portable programs using scoped enum classes under compilers supporting them natively or by an emulation on the others.
+* Ordinal functions and meta-functions: first, last, red, succ, pos, val, size.
+* enum_array indexed by an enumeration.
+* enum_set using a bit for each element of an enumeration.
+* enum_range. a run-time range view of an enumeration
+* enum_c, a MPL type constant associated to an enumeration.
+* enum_range_c, a MPL sequence associated to an enumeration.
+
 
 [endsect]
 [endsect]
@@ -105,9 +121,7 @@
 [heading Building Boost.Enums]
 [/=================================]
 
-There is no need to compile [*Boost.Enums], since it's
-a header only library. Just include your Boost header directory in your
-compiler include path.
+There is no need to compile [*Boost.Enums], since it's a header only library. Just include your Boost header directory in your compiler include path.
 
 [/=========================]
 [heading Requirements]
@@ -159,6 +173,11 @@
 * GCC 4.5.1 -std=c++0x
 * clang 2.8
 
+Darwin 10 - Snow Leopard
+
+* clang 1.6
+* GCC 4.2.1
+
 [note Please let us know how this works on other platforms/compilers.]
 
 [note Please send any questions, comments and bug reports to boost <at> lists <dot> boost <dot> org.]
@@ -173,13 +192,15 @@
 
 [endsect]
 
-[section Tutorial]
+[section:tutorial Tutorial]
+[section:scoped Scoped Enums]
 
 [section How to define a scoped enum class?]
 
 You can define the equivalent of
 
- enum class EnumClass : unsigned char) {
+ enum class EnumClass : unsigned char
+ {
     Enum0 = 0,
     Enum1,
     Enum2
@@ -187,7 +208,8 @@
   
 using the provided macros as follows
 
- BOOST_ENUM_CLASS_START(EnumClass, unsigned char) {
+ BOOST_ENUM_CLASS_START(EnumClass, unsigned char)
+ {
     Enum0 = 0,
     Enum1,
     Enum2
@@ -196,19 +218,36 @@
 Simple, isn't it?
 
 [endsect]
-[section How to use scoped enum classes and the associated literals?]
+[section How to use scoped enum and the associated literals?]
 
-Scoped enums classes and the associated literals can be used as the C++0x counterparts in almost all the situations.
+Scoped enums and the associated literals can be used as the C++0x counterparts in almost all the situations. There are some exception that will need some help from your part. We will see these cases later.
 
 [endsect]
 [section Are scoped enum classes convertible to the underlying type?]
 
-Scoped enums classes are strong types and the conversion to the underlying type is not implicit. You will need to use the enums::get_value function to get explicitly the value.
+Scoped enums classes are strong types and the conversion to the underlying type is not implicit. If the compiler support Scoped Enums you can do it using explicit conversion.
+
+ unsigned char c = (unsigned char)(e);
+
+When the compiler doesn't support scoped enums you will need to use the enums::underlying_value() function to get explicitly the value. Of course the same function works as well when the compiler support Scoped Enums, for portability reasons you should use this function
+
+ EnumClass e = EnumClass::Enum2;
+ unsigned char c = enums::underlying_value(e);
 
 [endsect]
 [section How to define a scoped enum type?]
 
-scoped enum types add implicit conversion to the underlying type. They can be defined as follows
+If you need an implicit conversion to the underlying type you need to use scoped enum types. Scoped enum types add implicit conversion to the underlying type. On compiler supporting Scoped enums they can be defined as follows
+
+
+ enum EnumType : int
+ {
+ Enum0 = 0,
+ Enum1,
+ Enum2
+ };
+
+Using the library macros this can be defined as follows:
 
   BOOST_ENUM_TYPE_START(EnumType, int) {
     Enum0 = 0,
@@ -223,32 +262,37 @@
 
 [section Can these scoped enums be used inside unions?]
 
-All this depends on your compiler. If the compiler support user classes with constructors, there is no problem. But in the oposite case, you will need to inhibit the constructor.
+All this depends on your compiler. If the compiler support unrestricted unions, there is no problem. But in the opposite case, you will need to inhibit the constructor.
 
 [section How to inhibit the constructors generation?]
 
 You will need to use the BOOST_ENUM_XXX_NO_CONS_END macros to inhibit the constructor generation
 
+ BOOST_ENUM_TYPE_START(EnumType, int) {
+ Enum0 = 0,
+ Enum1,
+ Enum2
+ } BOOST_ENUM_TYPE_NO_CONS_END(EnumType, int)
+
 The problem with removing the constructors is that we are unable to have default constructor and copy constructors syntax. So we will need to use a different syntax to get portable programs.
 
 [endsect]
 [section How to replace the default constructor?]
 
-The following compiles but the test can fails depending on the implementation
+The following compiles but the enum value is undefined
 
- { // defaults to the enum default
+ {
     EnumClass e ;
- BOOST_TEST(e==EnumClass::Enum0);
   }
 
-You need to state explicitly that you want the defaul value
+You need to state explicitly that you want the default value, which is 0.
 
- { // defaults to the enum default
- EnumClass e =EnumClass();
+ { // defaults to 0
+ EnumClass e = EnumClass();
     BOOST_TEST(e==EnumClass::Enum0);
   }
 
-If you have inhibited the constructors, the preceding code fail to compile. The library provides a function that creates scoped enums instances initialized with the default value.
+If you have inhibited the constructors, the preceding code could fail as the default constructor doesn't set the value to 0 when emulation is used. The library provides a function that creates scoped enums instances initialized with the default value, i.e., 0.
 
   { // defaults to the enum default
     EnumClass e = default_value<EnumClass>();
@@ -258,16 +302,16 @@
 [endsect]
 [section How to replace the copy constructor?]
 
-The following fails to compile if constructors have been removed:
+The following fails to compile if the emulation doesn't adds the needed constructors:
 
   { // copy constructor emulation
     EnumClass e(EnumClass::Enum2); // COMPILE ERROR HERE
   }
 
-The library provides a function convert_to that creates scoped enums instances
+The library provides an assignment operator that allows to have the equivalent as:
 
   { // copy constructor emulation
- EnumClass e=boost::convert_to<EnumClass>(EnumClass::Enum2);
+ EnumClass e=EnumClass::Enum2;
     BOOST_TEST(e==EnumClass::Enum2);
   }
 
@@ -275,9 +319,25 @@
 [endsect]
 
 [endsect]
-[section How to use scoped enums in siwtch statements?]
+[section How to use scoped enums in switch statements?]
 
-The following fails to compile if constructors have been removed:
+With scoped enum types the following works as there is an implicit conversion from the emulation to the enum type.
+
+The following fails to compile as implicit conversion to the enum type is not define:
+
+ const char* c_str(EnumType e)
+ {
+ switch (e) // conversion from EnumType to enum_type<EnumType>::type
+ {
+ case EnumType::Enum0 : return("EnumType::Enum0");
+ case EnumType::Enum1: return("EnumType::Enum1");
+ case EnumType::Enum2 : return("EnumType::Enum2");
+ default:
+ return("EnumClass::???");
+ }
+ }
+
+However, with scoped enum classes the following fails to compile as implicit conversion to the enum type is not define:
  
   const char* c_str(EnumClass e)
   {
@@ -291,11 +351,11 @@
       }
   }
 
-The library provides a function get_value that return the native enum in a portable way.
+The library provides a function enum_value that makes this conversion explicitly, i.e., return the native enum in a portable way.
 
   const char* c_str(EnumClass e)
   {
- switch (boost::enums::get_value(e))
+ switch (boost::enums::enum_value(e))
       {
       case EnumClass::Enum0 : return("EnumClass::Enum0");
       case EnumClass::Enum1: return("EnumClass::Enum1");
@@ -308,7 +368,7 @@
 [endsect]
 [section How to use scoped enums as non type template parameters?]
 
-The following fails to compile if constructors have been removed:
+The following fails to compile as the emulation is not a built-in type:
  
   template <EnumClass e>
   struct ex;
@@ -319,171 +379,397 @@
   struct ex;
 
 [endsect]
-[endsect]
 
-[section Examples]
-[section aligned]
 
+[section Can scoped enums be used in bitfields?]
+
+The C++ scoped enums can be used in bitfields declarations
+
+ struct S
+ {
+ EnumClass i : 2;
+ int j : 6;
+ };
+
+As the emulation is not a built-in type this cannot compile in a portable way. Boost.Enums has no workaround to this problem, but fortunately we could use Boost.Bitfield library (when available) to emulate the whole structure cottoning scoped enums bitfields as follows
+
+ typedef bitfields<
+ member<EnumClass,2>,
+ member<int,6>
+ > S;
 
 [endsect]
-[section cv_status]
+[section Where the macro can be placed?]
+
+The macro need to define the scoped enum type on the user namespace, so it seems natural to do the following
+
+ namespace UNS
+ {
+ BOOST_ENUM_TYPE_START(EnumType, int) {
+ Enum0 = 0,
+ Enum1,
+ Enum2
+ } BOOST_ENUM_TYPE_END(EnumType, int)
+ }
+
+The problem is that the macro needs to generate some specializations on the boost::enums namespace. There are two solutions to this problem:
+
+* use a different macro BOOST_ENUMS_SPECIALIZATIONS() to make the specializations
+
+ namespace UNS
+ {
+ BOOST_ENUM_TYPE_START(EnumType, int) {
+ Enum0 = 0,
+ Enum1,
+ Enum2
+ } BOOST_ENUM_TYPE_END(EnumType, int)
+ }
+ BOOST_ENUMS_SPECIALIZATIONS(EnumType, int)
+
+
+* use the macro outside any namespace and pass the sequence of namespaces as part of the first parameter
+
+ BOOST_ENUM_TYPE_START( (UNS)(EnumType), int) {
+ Enum0 = 0,
+ Enum1,
+ Enum2
+ } BOOST_ENUM_TYPE_END( (UNS)(EnumType), int)
 
+The option retained by the library is the second one, as you will see when taking in account the ordinal enums, the duplication will be no limited to the enum type and underlying type, but also to the enum literals as well.
+
+Fortunately, when the user doesn't needs to define the scoped enum inside a specific namespace the use of the PP sequence is not needed and
+
+ BOOST_ENUM_TYPE_START(EnumType, int) {
+ Enum0 = 0,
+ Enum1,
+ Enum2
+ } BOOST_ENUM_TYPE_END(EnumType, int)
+
+works as well.
 
 [endsect]
 [endsect]
 
+[section:ordinal Ordinal Enums]
 
+While C++0x provides scoped enums, the standard doesn't see an enum as an ordinal type. Language as Pascal and Ada had defined since the beginning attributes that allows to map an enumeration to a continuous range 0..N-1, so it can be used in for statements and as index of an array.
 
-[section:ext_references External Resources]
+[section:meta Size, Position and Value]
 
-[variablelist
-[
- [[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf [*N2347: Strongly Typed Enums (revision 3)]]]
- [Alisdair Meredith]
-]
+The needed informations are
 
-[
- [[@http://www.gimpel.com/html/strong.htm [*PC-lint/FlexeLint Strong Type Checking]]]
- [Gimpel Software]
-]
+* size: the number of elements in the enum type.
+* pos: the position relative of an element in the enum type.
+* val: the element in the enum type at a given position.
 
-[
- [[@http://www.drdobbs.com/article/printableArticle.jhtml;jsessionid=KPRMREL51P2LZQE1GHPCKH4ATMY32JVN?articleId=184401797&dept_url=/ [*Enumerations]]]
- [Herb Sutter and Jim Hyslop ]
-]
+The compiler could have these informations, but in the absence the user will need to add them explicitly.
 
-[
- [[@http://www.eetimes.com/discussion/programming-pointers/4024556/Enumerations-Q--A [*Enumerations Q & A]]]
- [Dan Saks]
-]
+Boost.Enums provides a framework that allows to add these meta-information and use them in a uniform way at compile-time and run-time.
 
-]
+The library provides the declaration of the meta-function that will need to be specialized for each enumeration,
+
+ boost::enums::meta::size<EC>::value
+ boost::enums::meta::pos<EC, V>::value
+ boost::enums::meta::val<EC, P>::value
+
+and a uniform run-time interface.
+
+ boost::enums::size<EC>(e);
+ boost::enums::pos(e);
+ boost::enums::val<EC>(p);
+
+An example of specialization follows:
+
+ namespace boost {
+ namespace enums {
+ namespace meta {
+
+ template <>
+ struct size<EC3>
+ {
+ //~ BOOST_STATIC_CONSTEXPR
+ static const std::size_t value;
+ };
+ //~ BOOST_CONSTEXPR
+ const std::size_t size<EC3>::value = 3;
+ template <>
+ struct pos<EC3, EC3::Enum0>
+ {
+ BOOST_STATIC_CONSTEXPR std::size_t value = 0;
+ };
+ template <>
+ struct pos<EC3, EC3::Enum1>
+ {
+ BOOST_STATIC_CONSTEXPR std::size_t value = 1;
+ };
+ template <>
+ struct pos<EC3, EC3::Enum2>
+ {
+ BOOST_STATIC_CONSTEXPR std::size_t value = 2;
+ };
+
+ template <>
+ struct val<EC3, 0>
+ {
+ BOOST_STATIC_CONSTEXPR enum_type<EC3>::type value = EC3::Enum0;
+ };
+ template <>
+ struct val<EC3, 1>
+ {
+ BOOST_STATIC_CONSTEXPR enum_type<EC3>::type value = EC3::Enum1;
+ };
+ template <>
+ struct val<EC3, 2>
+ {
+ BOOST_STATIC_CONSTEXPR enum_type<EC3>::type value = EC3::Enum2;
+ };
+ template <>
+ struct enum_traits<EC3> : linear_enum_traiter<EC3>
+ {
+ };
+ } // namespace meta
+ }
+ }
+
+
+As this is quite cumbersome, the library provides macros that will generate all this stuff for you. Unfortunately there is no way to preserve the syntax of the scoped enums. and in addition the generated code must be in different namespaces.
+
+There are two macro forms: one using PP sequences and other with variadic macros.
+
+ BOOST_ENUM((NS1)(NSB)(Enum),
+ ( (Enum0) (0) )
+ (Enum1)
+ (Enum2)
+ )
+
+The PP sequence contains itself a PP sequence that has as mandatory first element, the enum literal, and the second optional element used to give an explicit enum value.
+
+The same example with variadic macros results in
+
+ BOOST_ENUM_VN(Enum,
+ (Enum0) (0),
+ Enum1,
+ Enum2,
+ )
+
+The preceding macros are applied to C/C++98 enums. As we can be interested in mixing scoped and ordinal enums the library provides the respective macros. To be brief only the PP sequence version is given here. For scoped enum classes use BOOST_ENUM_CLASS
+
+ BOOST_ENUM_CLASS(EnumClass, int,
+ ( (Enum0) (0) )
+ (Enum1)
+ (Enum2)
+ )
+
+For scoped enum types use BOOST_ENUM_TYPE
+
+ BOOST_ENUM_TYPE(EnumType, int,
+ ( (Enum0) (0) )
+ (Enum1)
+ (Enum2)
+ )
+
+As you can see these macros have the advantage to avoid the duplication of the enum name and the underlaying type that we had with the scoped enum macros.
 
 [endsect]
+[section:aux First, Last, Succ and Pred]
+
+Once these meta-informations are given, the user can retrieve in a uniform way the first, last successor and predecessor.
+
+ boost::enums::meta::first<EC>::value
+ boost::enums::meta::last<EC>::value
+ boost::enums::meta::pred<EC, V>::value
+ boost::enums::meta::succ<EC, v>::value
+
+and a uniform run-time interface.
+
+ boost::enums::first<EC>();
+ boost::enums::last<EC>();
+ boost::enums::pred(e);
+ boost::enums::succ(e);
+
 
 [endsect]
+[section:set Enum Set]
 
+One of the major motivations for the preceding functions and metafiction was to be able to define a generic enum set class based on the work of Kevlin Henney.
 
-[section Reference]
+The enum_set<EC> class has as parameter an enum, enum class or enum type and provides the same interface as std::bitset<N> but replacing the index by the enum. As Kevlin showed this give to the user a more safer interface than using bit mask directly.
 
-[/==========================================================================================]
-[section:enums_hpp Header `<boost/enums.hpp>`]
-[/==========================================================================================]
 
-Include all the enums public header files.
+[endsect]
+
+[section:array Enum Arrays]
 
- #include <boost/enums/include.hpp>
+As we are able to map the enum to a range 0..N-1 we can define an enum array class based on the std::array<T,N> class that use instead an enum as index, enum_array<T,E>.
 
 [endsect]
 
 
-[/==========================================================================================]
-[section:include_hpp Header `<boost/enums/include.hpp>`]
-[/==========================================================================================]
+[section:range Enum Range]
+
+We will not stop here. We can view the enumeration as a range, so we can iterate over all the elements of an enumeration. The class enum_range<E> provides this view, so for example we can do
+
+ std::for_each(enum_range<E>(), p);
 
-Include all the enums public header files.
 
- #include <boost/enums/default_value.hpp>
- #include <boost/enums/underlying_type.hpp>
- #include <boost/enums/enum_type.hpp>
- #include <boost/enums/get_value.hpp>
- #include <boost/enums/emmulation.hpp>
-
 [endsect]
 
-[/==========================================================================================]
-[section:default_value_hpp Header `<boost/enums/default_value.hpp>`]
-[/==========================================================================================]
+[section:enum_c MPL constants]
+
+Boost.MPL provides integral constants, but we cannot use them with enums as the successor and predecessor have different semantics.
+
+We have created a new MPL tag enum_tag_c and an enumeration constant enum_c so we can specialize the specific behavior of MPL sequences for static enumerations.
 
-Builds a enum class with the default value
 
- namespace boost {
- namespace enums {
 
- template <typename EC>
- EC default_value();
 
- }
- }
-
 [endsect]
 
-[/==========================================================================================]
-[section:underlying_type_hpp Header `<boost/enums/underlying_type.hpp>`]
-[/==========================================================================================]
+[section:range_c MPL Enum sequences]
 
-Metafunction to retrieve the underlying type of a scoped enum.
+We can view an enumeration as an MPL sequence. Based on the integer_range_c class, the enum_range_c<EC> allows to visit at compile time all the elements of an enumeration.
 
- namespace boost {
- namespace enums {
- template <typename EC>
- struct underlying_type
- {
- typedef <see below> type;
- };
+[endsect]
+
+[section:sub_type What about reducing the literals of an enumeration?]
+
+The typical example of enumeration sub-typing is the days of the week and the working days. In Ada we can do
+
+ type Day_Of_Week is (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);
+
+ subtype Working_Day is range Monday .. Friday;
+
+Given the following definition of Day_Of_Week
+
+ BOOST_ENUMS_CLASS(Day_Of_Week, int, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);
+
+we can define the sub-type Working_Day using the sub_range template class
+
+ typedef enums::sub_range<Day_Of_Week, Monday, Friday> Working_Day;
+
+Working_Day is implicitly convertible to Day_Of_Week and is explicitly constructible from Day_Of_Week with a run-time checking of course.
+
+When the sub-type enumeration literals are not consecutive we need a generic way to state whether it belongs or not. A predicate seems to be the good compromise. Note that this is quite related to the constraint library.
+
+ typedef enums::sub_type<Day_Of_Week, P> Working_Day;
+
+These enumeration sub-types sub_range and sub_type can be used as well as index of enum_array and as type of enum_set enum_range.
+
+
 
- }
- }
-
 [endsect]
 
-[/==========================================================================================]
-[section:enum_type_hpp Header `<boost/enums/enum_type.hpp>`]
-[/==========================================================================================]
 
-Metafunction to retrieve the native enumeration type of a scoped enum.
+[endsect]
 
- namespace boost {
- namespace enums {
- template <typename EC>
- struct enum_type
- {
- typedef <see below> type;
- };
+[section:str String conversions]
 
- }
+One of the more requested features to enumerations is to be able to convert to a string in a uniform way.
+
+We can define explicitly this conversion as done previously:
+
+ const char* c_str(EnumClass e)
+ {
+ switch (boost::enums::enum_value(e))
+ {
+ case EnumClass::Enum0 : return("Enum0");
+ case EnumClass::Enum1: return("Enum1");
+ case EnumClass::Enum2 : return("Enum2");
+ default:
+ return("EnumClass::???");
+ }
   }
-
+
+The advantage of the explicit conversion is that we can choose the string literal associated to the enum literal. While this is quite simple we can extend the macros to take care of a 3rd element on the PP sequence, i.e., the string representation.
+
+ BOOST_ENUMS_CLASS_VM(RGB, int,
+ (Red) () (Rojo),
+ (Green) () (Verde),
+ (Blue) () (Azul)
+ );
+
+We need a second empty () token to signal the macros that the numeration must be done implicitly.
+
+With this definition for RGB the following
+
+ RGB c = RGB::Blue;
+ std::cout << enums::c_str(e) << " = " << enums::underlying_value(e) << std::endl;
+
+will print
+
+ Azul = 2
+
+
+When the 3rd token is empty or missing, the macro use the enum literal as string.
+
+ BOOST_ENUMS_CLASS_VM(RGB, int, Red, Green, Blue);
+
+
+
+
+
 [endsect]
 
-[/==========================================================================================]
-[section:get_value_hpp Header `<boost/enums/get_value.hpp>`]
-[/==========================================================================================]
+[endsect]
 
-Returns the associated native enumeration type of an enum class.
+[section:examples Examples]
+[section:aligned aligned]
 
- namespace boost {
- namespace enums {
 
- template <typename EC>
- typename enum_type<EC>::type
- get_value(EC e);
-
- }
- }
+[endsect]
+[section:cv_status cv_status]
+
 
 [endsect]
+[endsect]
+
+
+
+[section:ext_references External Resources]
+
+[variablelist
+[
+ [[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf [*N2347: Strongly Typed Enums (revision 3)]]]
+ [Alistair Meredith]
+]
 
+[
+ [[@http://www.gimpel.com/html/strong.htm [*PC-lint/FlexeLint Strong Type Checking]]]
+ [Gimpel Software]
+]
+
+[
+ [[@http://drdobbs.com/cpp/184401797 [*Enumerations]]]
+ [Herb Sutter and Jim Hyslop ]
+]
 
-[/==========================================================================================]
-[section:emulation_hpp Header `<boost/enums/emulation.hpp>`]
-[/==========================================================================================]
+[
+ [[@http://www.eetimes.com/discussion/programming-pointers/4024556/Enumerations-Q--A [*Enumerations Q & A]]]
+ [Dan Saks]
+]
 
-Macro language-like emulating scoped enum classes and types.
+]
 
- #define BOOST_ENUM_CLASS_START(EC, UT)
- #define BOOST_ENUM_CLASS_END(EC, UT)
- #define BOOST_ENUM_CLASS_NO_CONS_END(EC, UT)
+[endsect]
 
- #define BOOST_ENUM_TYPE_START(EC, UT)
- #define BOOST_ENUM_TYPE_END(EC, UT)
- #define BOOST_ENUM_TYPE_NO_CONS_END(EC, UT)
-
 [endsect]
-
+
+[section Reference]
+
+[xinclude scoped_enums_ref.xml]
+
+[xinclude ordinal_enums_ref.xml]
+
+[xinclude enums_containers_ref.xml]
+
+[xinclude mpl_enums_ref.xml]
+
+[/xinclude string_enums_conversion_ref.xml]
+
+
 [endsect]
 
-[xinclude autodoc.xml]
+[/xinclude autodoc.xml]
 
 [/=================]
 [section Appendices]
@@ -491,6 +777,17 @@
 
 [section:history Appendix A: History]
 
+[section [*Version 0.2.0, Mars 13, 2011] ]
+
+[*New Features:]
+
+* Added first, last, red, succ, pos, val, size functions and meta-functions.
+* Added enum_array indexed by an enumeration.
+* Added enum_set using a bit for each element of a enumeration.
+* Added enum_range. a run-time range view of an enumeration
+* Added enum_range_c, a MPL sequence associated to an enumeration.
+
+[endsect]
 [section [*Version 0.1.0, Feb 27, 2011] ]
 
 Initial version committed on the sandbox
@@ -498,56 +795,142 @@
 [*Features:]
 
 * Some language-like macros helping to define scoped enum classes.
-* Some meta-functions and functions helping to write portable programs using scoped enum classes under comilers supporting them natively or by an emulation on the others.
+* Some meta-functions and functions helping to write portable programs using scoped enum classes under compilers supporting them natively or by an emulation on the others.
 
 [endsect]
 [endsect]
 
 [section:rationale Appendix B: Design Rationale]
 
-[heading lala]
+[heading How the macros generated code looks like?]
+
+Nest follows the skeleton of the emulation class
 
+ class EC {
+ public:
+ enum type { <LIST_OF_ENUM_LITERALS> };
+ typedef UT underlying_type;
+ private:
+ underlying_type val_;
+ public:
+ // constructors if requested
+ EC();
+ EC(type v);
+ // implicit conversion for scoped enum type only
+ operator underlying_type();
+ operator type();
+ // explicit conversion for scoped enum if available and no need for the implicit ones
+ explicit operator underlying_type();
+ explicit operator type();
+ // assignment
+ EC& operator=(EC rhs);
+ // assignment from enum literals
+ EC& operator=(type rhs);
+ // workaround in case there are no constructors
+ static EC default_value();
+ static EC convert_to(underlying_type v);
+ static EC convert_to(type v);
+ // explicit conversion in case explicit conversions are not available
+ type enum_value() const;
+ underlying_type underlying_value() const;
+ // comparison operators
+ friend bool operator==(EC lhs, EC rhs);
+ friend bool operator==(type lhs, EC rhs);
+ friend bool operator==(EC lhs, type rhs);
+ // ...
+ // friend conversions to follow the Boost.Conversion protocol
+ friend EC convert_to(underlying_type v, boost::dummy::type_tag<EC> const&);
+ friend EC convert_to(type v, boost::dummy::type_tag<EC> const&);
+ friend underlying_type convert_to(EC v, boost::dummy::type_tag<underlying_type> const&);
+ friend type convert_to(EC v, boost::dummy::type_tag<type> const&);
+ };
+
+[heading What about using nested static constants instead of enum literals?]
+
+
+
+
+[heading Why an alternative design for the SCOPED ENUM macros?]
+
+Beman's macros are really simple and provide an already useful abstraction.
+
+The major liabilities of the Beman's design is that the emulation is unable to:
+
+* Avoid the overloading ambiguity as the scoped enum is convertible to int.
+* Forbid the implicit conversion to the underlying type, that is, implement scoped enum classes.
+* Specify the underlying type.
+
+We can say that the Beman's approach implements only scoped enum literals.
+
+Beman's design has also advantages. The enum type is a real enum, i.e., a built-in that can be used quasi-transparently in:
+
+* unions,
+* bitfields,
+* switches and
+* template parameters.
+
+So I would say that both designs can be used depending on the context.
+
+[heading Using ADL to specialize the meta-information functions]
+
+The meta-functions need to be defined as specializations of the library classes. For the free functions we have two alternatives:
+
+* Use of overloading and ADL
+* Use of a specific enums function which delegates to a specialized enum traits class
+
+
+The first option seems more attractive as the user doesn't need to use the namespace boost::enemas:: to have access to the function, at least for the functions having the enumeration as parameter. Unfortunately there are some functions that don't have the enumeration as parameter, in particular the val() function that need to be called giving the enumeration as template parameter, val<E>(p).
+
+There are some function that have a convenient default implementation, first, last, pred and succ. These functions will leave in the boost::enums namespace.
+
+As always the best could be to mix in a single design the best of both approaches and follow the design of the Boost.Swap and Boost.Conversion libraries, that is, defines the functions at the boost::enums level, which will call using ADL the free function.
+
+[heading Does the enum_c class need the additional enum emulation class as parameter?]
+
+Initially this parameter was not present, and was deduced using a trait emulator_type class. The problem with this trait class is that it forces to make the specialization on the correct namespace boost::enums, so we cannot include it on the macro, as the scoped enum could be in a specific namespace.
+
+For compilers that support scoped enums but that doesn't define the underlying_type the first versions of the library generated this specialization on a specific macro, BOOST_ENUMS_SPECIALIZATIONS
 
 [endsect]
 
 [section:implementation Appendix C: Implementation Notes]
 
 
-[heading lala]
 
+[heading Performance comparison between the use of the emulated enums and direct use of ints]
 
 [endsect]
 [section:acknowledgements Appendix D: Acknowledgements]
 
-Thanks to Beman Dawes for opening the initial discussion. Daniel James for giving the idea of the alternative implementation and to Matt Calabrese for his inshighfull comments on the ML. This library will never be created without the exchanges they made on the ML (see [@http://boost.2283326.n4.nabble.com/Boost-Dev-f2600599.html here]).
+Thanks to Beman Dawes for opening the initial discussion. Daniel James for giving the idea of the alternative implementation and to Matt Calabrese for his insightful comments on the ML. This library will never be created without the exchanges they made on the ML (see [@http://boost.2283326.n4.nabble.com/Boost-Dev-f2600599.html here]).
 
 [endsect]
 [section Appendix E: Tests]
 
 [section scoped_enum_class]
 
-[table Contructors and Assignement
+[table Constructors and Assignment
     [[Name] [kind] [Description] [Result]]
 ]
 
 [endsect]
 [section scoped_enum_type]
 
-[table Contructors and Assignement
+[table Constructors and Assignment
     [[Name] [kind] [Description] [Result]]
 ]
 
 [endsect]
 [section scoped_enum_no_cons_class]
 
-[table Contructors and Assignement
+[table Constructors and Assignment
     [[Name] [kind] [Description] [Result]]
 ]
 
 [endsect]
 [section scoped_enum_no_cons_type]
 
-[table Contructors and Assignement
+[table Constructors and Assignment
     [[Name] [kind] [Description] [Result]]
 ]
 
@@ -565,14 +948,12 @@
 [heading Tasks to do before review]
 
 * Complete the doc and the tests
+* Add ordinal macros.
+* Conversion to and from strings.
 
 [heading For later releases]
 
-* Add first, last, next, prior, index functions.
-* Add enum_array.
-* Add enum_set.
-* Conversion to and from strings.
-
+* I don't have any pending ideas :(
 
 [endsect]
 [endsect]

Added: sandbox/enums/libs/enums/doc/html/BOOST_ENUMS_SPECIALIZATIONS.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/BOOST_ENUMS_SPECIALIZATIONS.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Macro BOOST_ENUMS_SPECIALIZATIONS</title>
+<link rel="stylesheet" href="./boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">
+<link rel="prev" href="BOOST_ENUM_TYPE_CONS_END.html" title="Macro BOOST_ENUM_TYPE_CONS_END">
+<link rel="next" href="boost/enums/emulator_type.html" title="Struct template emulator_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_TYPE_CONS_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/enums/emulator_type.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="BOOST_ENUMS_SPECIALIZATIONS"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_ENUMS_SPECIALIZATIONS</span></h2>
+<p>BOOST_ENUMS_SPECIALIZATIONS</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">boost/enums/emulation.hpp</a>&gt;
+
+</span>BOOST_ENUMS_SPECIALIZATIONS(EC, UT)</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_TYPE_CONS_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/enums/emulator_type.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS.html
==============================================================================
--- sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
+++ (empty file)
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Macro BOOST_ENUM_CLASS</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
-<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.1.0">
-<link rel="up" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">
-<link rel="prev" href="BOOST_OPAQUE_DETAIL_CONST_DEFINITION.html" title="Macro BOOST_OPAQUE_DETAIL_CONST_DEFINITION">
-<link rel="next" href="boost/enums/enum_range.html" title="Class template enum_range">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_OPAQUE_DETAIL_CONST_DEFINITION.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/enums/enum_range.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="BOOST_ENUM_CLASS"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Macro BOOST_ENUM_CLASS</span></h2>
-<p>BOOST_ENUM_CLASS</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">boost/enums/enum_class_macro.hpp</a>&gt;
-
-</span>BOOST_ENUM_CLASS(EC, UT, SEQ)</pre></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Vicente J. Botet Escriba<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_OPAQUE_DETAIL_CONST_DEFINITION.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/enums/enum_range.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_CONS_END.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_CONS_END.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Macro BOOST_ENUM_CLASS_CONS_END</title>
+<link rel="stylesheet" href="./boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">
+<link rel="prev" href="BOOST_ENUM_TYPE_NO_CONS_END.html" title="Macro BOOST_ENUM_TYPE_NO_CONS_END">
+<link rel="next" href="BOOST_ENUM_TYPE_CONS_END.html" title="Macro BOOST_ENUM_TYPE_CONS_END">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_TYPE_NO_CONS_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_TYPE_CONS_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="BOOST_ENUM_CLASS_CONS_END"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_ENUM_CLASS_CONS_END</span></h2>
+<p>BOOST_ENUM_CLASS_CONS_END</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">boost/enums/emulation.hpp</a>&gt;
+
+</span>BOOST_ENUM_CLASS_CONS_END(EC, UT)</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_TYPE_NO_CONS_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_TYPE_CONS_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_END.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_END.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Macro BOOST_ENUM_CLASS_END</title>
+<link rel="stylesheet" href="./boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">
+<link rel="prev" href="BOOST_ENUM_TYPE_START.html" title="Macro BOOST_ENUM_TYPE_START">
+<link rel="next" href="BOOST_ENUM_TYPE_END.html" title="Macro BOOST_ENUM_TYPE_END">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_TYPE_START.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_TYPE_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="BOOST_ENUM_CLASS_END"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_ENUM_CLASS_END</span></h2>
+<p>BOOST_ENUM_CLASS_END</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">boost/enums/emulation.hpp</a>&gt;
+
+</span>BOOST_ENUM_CLASS_END(EC, UT)</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_TYPE_START.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_TYPE_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_NO_CONS_END.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_NO_CONS_END.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Macro BOOST_ENUM_CLASS_NO_CONS_END</title>
+<link rel="stylesheet" href="./boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">
+<link rel="prev" href="BOOST_ENUM_TYPE_END.html" title="Macro BOOST_ENUM_TYPE_END">
+<link rel="next" href="BOOST_ENUM_TYPE_NO_CONS_END.html" title="Macro BOOST_ENUM_TYPE_NO_CONS_END">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_TYPE_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_TYPE_NO_CONS_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="BOOST_ENUM_CLASS_NO_CONS_END"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_ENUM_CLASS_NO_CONS_END</span></h2>
+<p>BOOST_ENUM_CLASS_NO_CONS_END</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">boost/enums/emulation.hpp</a>&gt;
+
+</span>BOOST_ENUM_CLASS_NO_CONS_END(EC, UT)</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_TYPE_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_TYPE_NO_CONS_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_START.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/BOOST_ENUM_CLASS_START.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Macro BOOST_ENUM_CLASS_START</title>
+<link rel="stylesheet" href="./boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">
+<link rel="prev" href="boost/enums/default_value.html" title="Function template default_value">
+<link rel="next" href="BOOST_ENUM_TYPE_START.html" title="Macro BOOST_ENUM_TYPE_START">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/enums/default_value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_TYPE_START.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="BOOST_ENUM_CLASS_START"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_ENUM_CLASS_START</span></h2>
+<p>BOOST_ENUM_CLASS_START</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">boost/enums/emulation.hpp</a>&gt;
+
+</span>BOOST_ENUM_CLASS_START(EC, UT)</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost/enums/default_value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_TYPE_START.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_CONS_END.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_CONS_END.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Macro BOOST_ENUM_TYPE_CONS_END</title>
+<link rel="stylesheet" href="./boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">
+<link rel="prev" href="BOOST_ENUM_CLASS_CONS_END.html" title="Macro BOOST_ENUM_CLASS_CONS_END">
+<link rel="next" href="BOOST_ENUMS_SPECIALIZATIONS.html" title="Macro BOOST_ENUMS_SPECIALIZATIONS">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_CLASS_CONS_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUMS_SPECIALIZATIONS.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="BOOST_ENUM_TYPE_CONS_END"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_ENUM_TYPE_CONS_END</span></h2>
+<p>BOOST_ENUM_TYPE_CONS_END</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">boost/enums/emulation.hpp</a>&gt;
+
+</span>BOOST_ENUM_TYPE_CONS_END(EC, UT)</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_CLASS_CONS_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUMS_SPECIALIZATIONS.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_END.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_END.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Macro BOOST_ENUM_TYPE_END</title>
+<link rel="stylesheet" href="./boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">
+<link rel="prev" href="BOOST_ENUM_CLASS_END.html" title="Macro BOOST_ENUM_CLASS_END">
+<link rel="next" href="BOOST_ENUM_CLASS_NO_CONS_END.html" title="Macro BOOST_ENUM_CLASS_NO_CONS_END">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_CLASS_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_CLASS_NO_CONS_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="BOOST_ENUM_TYPE_END"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_ENUM_TYPE_END</span></h2>
+<p>BOOST_ENUM_TYPE_END</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">boost/enums/emulation.hpp</a>&gt;
+
+</span>BOOST_ENUM_TYPE_END(EC, UT)</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_CLASS_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_CLASS_NO_CONS_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_NO_CONS_END.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_NO_CONS_END.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Macro BOOST_ENUM_TYPE_NO_CONS_END</title>
+<link rel="stylesheet" href="./boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">
+<link rel="prev" href="BOOST_ENUM_CLASS_NO_CONS_END.html" title="Macro BOOST_ENUM_CLASS_NO_CONS_END">
+<link rel="next" href="BOOST_ENUM_CLASS_CONS_END.html" title="Macro BOOST_ENUM_CLASS_CONS_END">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_CLASS_NO_CONS_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_CLASS_CONS_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="BOOST_ENUM_TYPE_NO_CONS_END"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_ENUM_TYPE_NO_CONS_END</span></h2>
+<p>BOOST_ENUM_TYPE_NO_CONS_END</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">boost/enums/emulation.hpp</a>&gt;
+
+</span>BOOST_ENUM_TYPE_NO_CONS_END(EC, UT)</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_CLASS_NO_CONS_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_CLASS_CONS_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_START.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/BOOST_ENUM_TYPE_START.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Macro BOOST_ENUM_TYPE_START</title>
+<link rel="stylesheet" href="./boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">
+<link rel="prev" href="BOOST_ENUM_CLASS_START.html" title="Macro BOOST_ENUM_CLASS_START">
+<link rel="next" href="BOOST_ENUM_CLASS_END.html" title="Macro BOOST_ENUM_CLASS_END">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_CLASS_START.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_CLASS_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="BOOST_ENUM_TYPE_START"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_ENUM_TYPE_START</span></h2>
+<p>BOOST_ENUM_TYPE_START</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.emulation_hpp" title="Header &lt;boost/enums/emulation.hpp&gt;">boost/enums/emulation.hpp</a>&gt;
+
+</span>BOOST_ENUM_TYPE_START(EC, UT)</pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_ENUM_CLASS_START.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.emulation_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_CLASS_END.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/enums/libs/enums/doc/html/BOOST_NO_ENUM_UNRESTRICTED_UNION.html
==============================================================================
--- sandbox/enums/libs/enums/doc/html/BOOST_NO_ENUM_UNRESTRICTED_UNION.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
+++ (empty file)
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Macro BOOST_NO_ENUM_UNRESTRICTED_UNION</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
-<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.1.0">
-<link rel="up" href="index.html#header.boost.enums.config_hpp" title="Header &lt;boost/enums/config.hpp&gt;">
-<link rel="prev" href="BOOST_NO_UNRESTRICTED_UNION.html" title="Macro BOOST_NO_UNRESTRICTED_UNION">
-<link rel="next" href="boost/enums/default_value.html" title="Function template default_value">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_NO_UNRESTRICTED_UNION.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.config_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/enums/default_value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="BOOST_NO_ENUM_UNRESTRICTED_UNION"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Macro BOOST_NO_ENUM_UNRESTRICTED_UNION</span></h2>
-<p>BOOST_NO_ENUM_UNRESTRICTED_UNION</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.config_hpp" title="Header &lt;boost/enums/config.hpp&gt;">boost/enums/config.hpp</a>&gt;
-
-</span>BOOST_NO_ENUM_UNRESTRICTED_UNION</pre></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Vicente J. Botet Escriba<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_NO_UNRESTRICTED_UNION.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.config_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/enums/default_value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/enums/libs/enums/doc/html/BOOST_NO_UNDERLYING_TYPE.html
==============================================================================
--- sandbox/enums/libs/enums/doc/html/BOOST_NO_UNDERLYING_TYPE.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
+++ (empty file)
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Macro BOOST_NO_UNDERLYING_TYPE</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
-<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.1.0">
-<link rel="up" href="index.html#header.boost.enums.config_hpp" title="Header &lt;boost/enums/config.hpp&gt;">
-<link rel="prev" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.1.0">
-<link rel="next" href="BOOST_NO_UNRESTRICTED_UNION.html" title="Macro BOOST_NO_UNRESTRICTED_UNION">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="index.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.config_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_NO_UNRESTRICTED_UNION.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="BOOST_NO_UNDERLYING_TYPE"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Macro BOOST_NO_UNDERLYING_TYPE</span></h2>
-<p>BOOST_NO_UNDERLYING_TYPE</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.config_hpp" title="Header &lt;boost/enums/config.hpp&gt;">boost/enums/config.hpp</a>&gt;
-
-</span>BOOST_NO_UNDERLYING_TYPE</pre></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Vicente J. Botet Escriba<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="index.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.config_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_NO_UNRESTRICTED_UNION.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/enums/libs/enums/doc/html/BOOST_NO_UNRESTRICTED_UNION.html
==============================================================================
--- sandbox/enums/libs/enums/doc/html/BOOST_NO_UNRESTRICTED_UNION.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
+++ (empty file)
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Macro BOOST_NO_UNRESTRICTED_UNION</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
-<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.1.0">
-<link rel="up" href="index.html#header.boost.enums.config_hpp" title="Header &lt;boost/enums/config.hpp&gt;">
-<link rel="prev" href="BOOST_NO_UNDERLYING_TYPE.html" title="Macro BOOST_NO_UNDERLYING_TYPE">
-<link rel="next" href="BOOST_NO_ENUM_UNRESTRICTED_UNION.html" title="Macro BOOST_NO_ENUM_UNRESTRICTED_UNION">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_NO_UNDERLYING_TYPE.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.config_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_NO_ENUM_UNRESTRICTED_UNION.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="BOOST_NO_UNRESTRICTED_UNION"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Macro BOOST_NO_UNRESTRICTED_UNION</span></h2>
-<p>BOOST_NO_UNRESTRICTED_UNION</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.config_hpp" title="Header &lt;boost/enums/config.hpp&gt;">boost/enums/config.hpp</a>&gt;
-
-</span>BOOST_NO_UNRESTRICTED_UNION</pre></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Vicente J. Botet Escriba<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_NO_UNDERLYING_TYPE.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.config_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_NO_ENUM_UNRESTRICTED_UNION.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_CONST_DECLARATION.html
==============================================================================
--- sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_CONST_DECLARATION.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
+++ (empty file)
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Macro BOOST_OPAQUE_DETAIL_CONST_DECLARATION</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
-<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.1.0">
-<link rel="up" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">
-<link rel="prev" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME.html" title="Macro BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME">
-<link rel="next" href="BOOST_OPAQUE_DETAIL_CONST_DEFINITION.html" title="Macro BOOST_OPAQUE_DETAIL_CONST_DEFINITION">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_OPAQUE_DETAIL_CONST_DEFINITION.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="BOOST_OPAQUE_DETAIL_CONST_DECLARATION"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Macro BOOST_OPAQUE_DETAIL_CONST_DECLARATION</span></h2>
-<p>BOOST_OPAQUE_DETAIL_CONST_DECLARATION</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">boost/enums/enum_class_macro.hpp</a>&gt;
-
-</span>BOOST_OPAQUE_DETAIL_CONST_DECLARATION(R, EC, OPTPAIR)</pre></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Vicente J. Botet Escriba<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_OPAQUE_DETAIL_CONST_DEFINITION.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_CONST_DEFINITION.html
==============================================================================
--- sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_CONST_DEFINITION.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
+++ (empty file)
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Macro BOOST_OPAQUE_DETAIL_CONST_DEFINITION</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
-<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.1.0">
-<link rel="up" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">
-<link rel="prev" href="BOOST_OPAQUE_DETAIL_CONST_DECLARATION.html" title="Macro BOOST_OPAQUE_DETAIL_CONST_DECLARATION">
-<link rel="next" href="BOOST_ENUM_CLASS.html" title="Macro BOOST_ENUM_CLASS">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_OPAQUE_DETAIL_CONST_DECLARATION.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_CLASS.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="BOOST_OPAQUE_DETAIL_CONST_DEFINITION"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Macro BOOST_OPAQUE_DETAIL_CONST_DEFINITION</span></h2>
-<p>BOOST_OPAQUE_DETAIL_CONST_DEFINITION</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">boost/enums/enum_class_macro.hpp</a>&gt;
-
-</span>BOOST_OPAQUE_DETAIL_CONST_DEFINITION(R, EC, OPTPAIR)</pre></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Vicente J. Botet Escriba<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_OPAQUE_DETAIL_CONST_DECLARATION.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_ENUM_CLASS.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME.html
==============================================================================
--- sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
+++ (empty file)
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Macro BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
-<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.1.0">
-<link rel="up" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">
-<link rel="prev" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME.html" title="Macro BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME">
-<link rel="next" href="BOOST_OPAQUE_DETAIL_CONST_DECLARATION.html" title="Macro BOOST_OPAQUE_DETAIL_CONST_DECLARATION">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_OPAQUE_DETAIL_CONST_DECLARATION.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Macro BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME</span></h2>
-<p>BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">boost/enums/enum_class_macro.hpp</a>&gt;
-
-</span>BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME(OPTPAIR)</pre></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Vicente J. Botet Escriba<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_OPAQUE_DETAIL_CONST_DECLARATION.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME.html
==============================================================================
--- sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
+++ (empty file)
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Macro BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
-<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.1.0">
-<link rel="up" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">
-<link rel="prev" href="BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL.html" title="Macro BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL">
-<link rel="next" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME.html" title="Macro BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Macro BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME</span></h2>
-<p>BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">boost/enums/enum_class_macro.hpp</a>&gt;
-
-</span>BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME(EC, OPTPAIR)</pre></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Vicente J. Botet Escriba<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL.html
==============================================================================
--- sandbox/enums/libs/enums/doc/html/BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
+++ (empty file)
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Macro BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
-<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.1.0">
-<link rel="up" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">
-<link rel="prev" href="boost/enums/get_c_array_id35961403.html" title="Function template get_c_array">
-<link rel="next" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME.html" title="Macro BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="boost/enums/get_c_array_id35961403.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Macro BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL</span></h2>
-<p>BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index.html#header.boost.enums.enum_class_macro_hpp" title="Header &lt;boost/enums/enum_class_macro.hpp&gt;">boost/enums/enum_class_macro.hpp</a>&gt;
-
-</span>BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL(R, DATA, OPTPAIR)</pre></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Vicente J. Botet Escriba<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="boost/enums/get_c_array_id35961403.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html#header.boost.enums.enum_class_macro_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/default_value.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/default_value.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template default_value</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.default_value_hpp" title="Header &lt;boost/enums/default_value.hpp&gt;">
+<link rel="prev" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="next" href="../../BOOST_ENUM_CLASS_START.html" title="Macro BOOST_ENUM_CLASS_START">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.default_value_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../BOOST_ENUM_CLASS_START.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.default_value"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template default_value</span></h2>
+<p>boost::enums::default_value &#8212; builds a enum class with the default value. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.default_value_hpp" title="Header &lt;boost/enums/default_value.hpp&gt;">boost/enums/default_value.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">EC</span> <span class="identifier">default_value</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36345747"></a><h2>Description</h2>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the default value </p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.default_value_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../BOOST_ENUM_CLASS_START.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/emulator_type.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/emulator_type.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template emulator_type</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.emulator_type_hpp" title="Header &lt;boost/enums/emulator_type.hpp&gt;">
+<link rel="prev" href="../../BOOST_ENUMS_SPECIALIZATIONS.html" title="Macro BOOST_ENUMS_SPECIALIZATIONS">
+<link rel="next" href="enum_class_cons.html" title="Class template enum_class_cons">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../BOOST_ENUMS_SPECIALIZATIONS.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.emulator_type_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_class_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.emulator_type"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template emulator_type</span></h2>
+<p>boost::enums::emulator_type</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.emulator_type_hpp" title="Header &lt;boost/enums/emulator_type.hpp&gt;">boost/enums/emulator_type.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC_type<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="emulator_type.html" title="Struct template emulator_type">emulator_type</a> <span class="special">{</span>
+ <span class="comment">// <a class="link" href="emulator_type.html#boost.enums.emulator_typetypes">types</a></span>
+ <span class="keyword">typedef</span> <span class="identifier">EC_type</span> <a class="link" href="emulator_type.html#boost.enums.emulator_type.type"><span class="identifier">type</span></a><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36346255"></a><h2>Description</h2>
+<p>meta-function used to get the wrapping class of an enum when emulation is used or the enum class itself when available. This meta-function must be specialized for each enum class. </p>
+<div class="refsect2">
+<a name="id36346262"></a><h3>
+<a name="boost.enums.emulator_typetypes"></a><code class="computeroutput">emulator_type</code>
+ public
+ types</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+<p>
+<span class="keyword">typedef</span> <span class="identifier">EC_type</span> <a name="boost.enums.emulator_type.type"></a><span class="identifier">type</span><span class="special">;</span></p>
+<p>Depending on whethere the compiler supports scoped enums or nor the nested type must be the same type or the emulated one. By default this metafunction defines it as if scoped enums where supported so the specialization will be needed only when emulation is needed. </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../BOOST_ENUMS_SPECIALIZATIONS.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.emulator_type_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_class_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/enum_array.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/enum_array.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,466 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class template enum_array</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">
+<link rel="prev" href="val_id35962091.html" title="Function template val">
+<link rel="next" href="operator__.html" title="Function template operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="val_id35962091.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator__.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.enum_array"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template enum_array</span></h2>
+<p>boost::enums::enum_array</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">boost/enums/enum_array.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+<span class="keyword">class</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// types</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <a name="boost.enums.enum_array.value_type"></a><span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="special">*</span> <a name="boost.enums.enum_array.iterator"></a><span class="identifier">iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">T</span> <span class="special">*</span> <a name="boost.enums.enum_array.const_iterator"></a><span class="identifier">const_iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="special">&amp;</span> <a name="boost.enums.enum_array.reference"></a><span class="identifier">reference</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&amp;</span> <a name="boost.enums.enum_array.const_reference"></a><span class="identifier">const_reference</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">value_type</span> <span class="special">*</span> <a name="boost.enums.enum_array.pointer"></a><span class="identifier">pointer</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">*</span> <a name="boost.enums.enum_array.const_pointer"></a><span class="identifier">const_pointer</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">EC</span> <a name="boost.enums.enum_array.key_type"></a><span class="identifier">key_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.enums.enum_array.size_type"></a><span class="identifier">size_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <a name="boost.enums.enum_array.difference_type"></a><span class="identifier">difference_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">reverse_iterator</span><span class="special">&lt;</span> <span class="identifier">iterator</span> <span class="special">&gt;</span> <a name="boost.enums.enum_array.reverse_iterator"></a><span class="identifier">reverse_iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">reverse_iterator</span><span class="special">&lt;</span> <span class="identifier">const_iterator</span> <span class="special">&gt;</span> <a name="boost.enums.enum_array.const_reverse_iterator"></a><span class="identifier">const_reverse_iterator</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_array.html#boost.enums.enum_arrayconstruct-copy-destruct">construct/copy/destruct</a></span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T2<span class="special">&gt;</span> enum_array&amp; <a class="link" href="enum_array.html#id35967401-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_array.html#id35966984-bb">public member functions</a></span>
+ <span class="identifier">iterator</span> <a class="link" href="enum_array.html#id35966986-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">const_iterator</span> <a class="link" href="enum_array.html#id35967005-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">const_iterator</span> <a class="link" href="enum_array.html#id35967024-bb"><span class="identifier">cbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">iterator</span> <a class="link" href="enum_array.html#id35967031-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">const_iterator</span> <a class="link" href="enum_array.html#id35967049-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">const_iterator</span> <a class="link" href="enum_array.html#id35967068-bb"><span class="identifier">cend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reverse_iterator</span> <a class="link" href="enum_array.html#id35967075-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">const_reverse_iterator</span> <a class="link" href="enum_array.html#id35967089-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">const_reverse_iterator</span> <a class="link" href="enum_array.html#id35967096-bb"><span class="identifier">crbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reverse_iterator</span> <a class="link" href="enum_array.html#id35967103-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">const_reverse_iterator</span> <a class="link" href="enum_array.html#id35967117-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">const_reverse_iterator</span> <a class="link" href="enum_array.html#id35967124-bb"><span class="identifier">crend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reference</span> <a class="link" href="enum_array.html#id35967131-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">key_type</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">const_reference</span> <a class="link" href="enum_array.html#id35967154-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">key_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reference</span> <a class="link" href="enum_array.html#id35967178-bb"><span class="identifier">at</span></a><span class="special">(</span><span class="identifier">key_type</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">const_reference</span> <a class="link" href="enum_array.html#id35967202-bb"><span class="identifier">at</span></a><span class="special">(</span><span class="identifier">key_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reference</span> <a class="link" href="enum_array.html#id35967214-bb"><span class="identifier">front</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">const_reference</span> <a class="link" href="enum_array.html#id35967232-bb"><span class="identifier">front</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reference</span> <a class="link" href="enum_array.html#id35967251-bb"><span class="identifier">back</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">const_reference</span> <a class="link" href="enum_array.html#id35967270-bb"><span class="identifier">back</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">constexpr</span> <span class="identifier">size_type</span> <a class="link" href="enum_array.html#id35967288-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">constexpr</span> <span class="identifier">size_type</span> <a class="link" href="enum_array.html#id35967302-bb"><span class="identifier">max_size</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">void</span> <a class="link" href="enum_array.html#id35967315-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">T</span> <span class="special">*</span> <a class="link" href="enum_array.html#id35967338-bb"><span class="identifier">data</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <span class="special">*</span> <a class="link" href="enum_array.html#id35967352-bb"><span class="identifier">data</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">T</span> <span class="special">*</span> <a class="link" href="enum_array.html#id35967365-bb"><span class="identifier">c_array</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">void</span> <a class="link" href="enum_array.html#id35967372-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">void</span> <a class="link" href="enum_array.html#id35967387-bb"><span class="identifier">fill</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_array.html#id35967416-bb">public static functions</a></span>
+ <span class="keyword">static</span> <span class="keyword">bool</span> <a class="link" href="enum_array.html#id35967419-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="identifier">size_type</span> <a class="link" href="enum_array.html#id35967438-bb"><span class="identifier">rangecheck</span></a><span class="special">(</span><span class="identifier">key_type</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// public data members</span>
+ <span class="identifier">T</span> <span class="identifier">elems</span><span class="special">;</span> <span class="comment">// // exposition only </span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">static_size</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36370011"></a><h2>Description</h2>
+<p>An <code class="computeroutput">enum_array</code> supports random access iterators. An instance of <code class="computeroutput">enum_array&lt;T, EC&gt;</code> stores as many elements of type <code class="computeroutput">T</code> as enum literals are on the enum class <code class="computeroutput">EC</code>, so that <code class="computeroutput">size() == meta::size&lt;EC&gt;::value</code> is an invariant.</p>
+<p>The elements of an <code class="computeroutput">enum_array</code> are stored contiguously, meaning that if <code class="computeroutput">a</code> is an <code class="computeroutput">enum_array&lt;T, EC&gt;</code>, then it obeys the identity</p>
+<pre class="programlisting"> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">[</span><span class="identifier">n</span><span class="special">]</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">+</span> <span class="identifier">n</span> <span class="keyword">for</span> <span class="identifier">all</span> <span class="number">0</span> <span class="special">&lt;=</span> <span class="identifier">n</span> <span class="special">&lt;</span> <span class="identifier">meta</span><span class="special">::</span><span class="identifier">size</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">.</span>
+</pre>
+<p>An <code class="computeroutput">enum_array</code> is an aggregate that can (????) be initialized with the syntax</p>
+<pre class="programlisting"> <span class="identifier">enum_array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span><span class="special">&gt;</span> <span class="identifier">a</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">initializer</span><span class="special">-</span><span class="identifier">list</span> <span class="special">}</span><span class="special">;</span>
+</pre>
+<p>where <span class="emphasis"><em>initializer-list</em></span> is a comma separated list of up to <code class="computeroutput">meta::size&lt;EC&gt;::value</code> elements whose types are convertible to <code class="computeroutput">T</code>.</p>
+<p>An <code class="computeroutput">enum_array</code> satisfies all of the requirements of a container and of a reversible container, except that a default constructed array object is not empty and that swap does not have constant complexity. An <code class="computeroutput">enum_array</code> satisfies some of the requirements of a sequence container. Descriptions are provided here only for operations on enum_array that are not described in one of these tables and for operations where there is additional semantic information.</p>
+<p>The conditions for an aggregate are met. Class enum_array relies on the implicitly-declared special member functions to conform to the container requirements</p>
+<p>
+
+</p>
+<div class="refsect2">
+<a name="id36370319"></a><h3>
+<a name="boost.enums.enum_arrayconstruct-copy-destruct"></a><code class="computeroutput">enum_array</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T2<span class="special">&gt;</span> enum_array&amp; <a name="id35967401-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span></pre></li></ol></div>
+</div>
+<div class="refsect2">
+<a name="id36370429"></a><h3>
+<a name="id35966984-bb"></a><code class="computeroutput">enum_array</code> public member functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">iterator</span> <a name="id35966986-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>iterator for the first element </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id35967005-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>const iterator for the first element </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem"><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id35967024-bb"></a><span class="identifier">cbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">iterator</span> <a name="id35967031-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>iterator for position after the last element </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id35967049-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>const iterator for position after the last element </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem"><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id35967068-bb"></a><span class="identifier">cend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">reverse_iterator</span> <a name="id35967075-bb"></a><span class="identifier">rbegin</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>reverse iterator for the first element of reverse iteration </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem"><pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="id35967089-bb"></a><span class="identifier">rbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="id35967096-bb"></a><span class="identifier">crbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">reverse_iterator</span> <a name="id35967103-bb"></a><span class="identifier">rend</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>reverse iterator for position after the last element in reverse iteration </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem"><pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="id35967117-bb"></a><span class="identifier">rend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="id35967124-bb"></a><span class="identifier">crend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">reference</span> <a name="id35967131-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">key_type</span> k<span class="special">)</span><span class="special">;</span></pre>
+<p>Requires: k'pos &lt; static_size
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>reference to the element with key k </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing. </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">const_reference</span> <a name="id35967154-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">key_type</span> k<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>Requires: k'pos &lt; static_size
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>constant reference to the element with key k </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing. </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">reference</span> <a name="id35967178-bb"></a><span class="identifier">at</span><span class="special">(</span><span class="identifier">key_type</span> k<span class="special">)</span><span class="special">;</span></pre>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>element with key k </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>std::range_error </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem"><pre class="literallayout"><span class="identifier">const_reference</span> <a name="id35967202-bb"></a><span class="identifier">at</span><span class="special">(</span><span class="identifier">key_type</span> k<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">reference</span> <a name="id35967214-bb"></a><span class="identifier">front</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>reference to the first element </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">const_reference</span> <a name="id35967232-bb"></a><span class="identifier">front</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>const reference to the first element </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">reference</span> <a name="id35967251-bb"></a><span class="identifier">back</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>reference to the last element </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">const_reference</span> <a name="id35967270-bb"></a><span class="identifier">back</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>const reference to the last element </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">constexpr</span> <span class="identifier">size_type</span> <a name="id35967288-bb"></a><span class="identifier">size</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>linear in meta::size&lt;EC&gt;::value. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">constexpr</span> <span class="identifier">size_type</span> <a name="id35967302-bb"></a><span class="identifier">max_size</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>linear in meta::size&lt;EC&gt;::value. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">void</span> <a name="id35967315-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre>
+<p>Effects: swap_ranges(begin(), end(), y.begin())
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing </td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">*</span> <a name="id35967338-bb"></a><span class="identifier">data</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>elems. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">T</span> <span class="special">*</span> <a name="id35967352-bb"></a><span class="identifier">data</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>elems. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem"><pre class="literallayout"><span class="identifier">T</span> <span class="special">*</span> <a name="id35967365-bb"></a><span class="identifier">c_array</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">void</span> <a name="id35967372-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&amp;</span> value<span class="special">)</span><span class="special">;</span></pre>Effects: std::fill_n(begin(), static_size, value) </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">void</span> <a name="id35967387-bb"></a><span class="identifier">fill</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&amp;</span> value<span class="special">)</span><span class="special">;</span></pre>Effects: fill_n(begin(), static_size, u) </li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36371899"></a><h3>
+<a name="id35967416-bb"></a><code class="computeroutput">enum_array</code> public static functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">bool</span> <a name="id35967419-bb"></a><span class="identifier">empty</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>false </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">size_type</span> <a name="id35967438-bb"></a><span class="identifier">rangecheck</span><span class="special">(</span><span class="identifier">key_type</span> k<span class="special">)</span><span class="special">;</span></pre></li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="val_id35962091.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator__.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/enum_class_cons.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/enum_class_cons.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,190 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class template enum_class_cons</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_class_cons_hpp" title="Header &lt;boost/enums/enum_class_cons.hpp&gt;">
+<link rel="prev" href="emulator_type.html" title="Struct template emulator_type">
+<link rel="next" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="emulator_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_class_cons_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_class_no_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.enum_class_cons"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template enum_class_cons</span></h2>
+<p>boost::enums::enum_class_cons &#8212; scoped enum class with constructors </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_class_cons_hpp" title="Header &lt;boost/enums/enum_class_cons.hpp&gt;">boost/enums/enum_class_cons.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ScopedEnum<span class="special">,</span> <span class="keyword">typename</span> UT <span class="special">=</span> <span class="keyword">int</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// types</span>
+ <span class="keyword">typedef</span> <span class="identifier">ScopedEnum</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.enums.enum_class_cons.type"></a><span class="identifier">type</span><span class="special">;</span> <span class="comment">// c++98 enum type </span>
+ <span class="keyword">typedef</span> <span class="identifier">UT</span> <a name="boost.enums.enum_class_cons.underlying_type"></a><span class="identifier">underlying_type</span><span class="special">;</span> <span class="comment">// underlying type </span>
+
+ <span class="comment">// <a class="link" href="enum_class_cons.html#boost.enums.enum_class_consconstruct-copy-destruct">construct/copy/destruct</a></span>
+ <a class="link" href="enum_class_cons.html#id35963856-bb"><span class="identifier">enum_class_cons</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">explicit</span> <a class="link" href="enum_class_cons.html#id35963859-bb"><span class="identifier">enum_class_cons</span></a><span class="special">(</span><span class="identifier">underlying_type</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_class_cons.html#id35963870-bb"><span class="identifier">enum_class_cons</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ enum_class_cons&amp; <a class="link" href="enum_class_cons.html#id35963878-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ enum_class_cons&amp; <a class="link" href="enum_class_cons.html#id35963887-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_class_cons.html#id35963835-bb">public member functions</a></span>
+ <span class="identifier">type</span> <a class="link" href="enum_class_cons.html#id35963838-bb"><span class="identifier">enum_value</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">underlying_type</span> <a class="link" href="enum_class_cons.html#id35963847-bb"><span class="identifier">underlying_value</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_class_cons.html#id35963895-bb">public static functions</a></span>
+ <span class="keyword">static</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> <a class="link" href="enum_class_cons.html#id35963898-bb"><span class="identifier">default_value</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">static</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> <a class="link" href="enum_class_cons.html#id35963910-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">underlying_type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">static</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> <a class="link" href="enum_class_cons.html#id35963924-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_class_cons.html#id35963938-bb">friend functions</a></span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35963941-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35963962-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35963982-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964003-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964024-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964044-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964064-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964086-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964106-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964126-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964148-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964168-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964188-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964210-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964230-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964250-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964271-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_cons.html#id35964292-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="identifier">underlying_type</span>
+ <a class="link" href="enum_class_cons.html#id35964312-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">underlying_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="identifier">type</span> <a class="link" href="enum_class_cons.html#id35964333-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36347925"></a><h2>Description</h2>
+<p>param <code class="computeroutput">ScopedEnum</code> : Struct scoping the enum.<br>
+ param <code class="computeroutput">UT</code> : the underlaying storage type.<br>
+ pre <code class="computeroutput">ScopedEnum</code> must have a nested C++98 enum <code class="computeroutput">type</code>.<br>
+ </p>
+<div class="refsect2">
+<a name="id36347957"></a><h3>
+<a name="boost.enums.enum_class_consconstruct-copy-destruct"></a><code class="computeroutput">enum_class_cons</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><a name="id35963856-bb"></a><span class="identifier">enum_class_cons</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>default constructor </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">explicit</span> <a name="id35963859-bb"></a><span class="identifier">enum_class_cons</span><span class="special">(</span><span class="identifier">underlying_type</span> v<span class="special">)</span><span class="special">;</span></pre>explicit constructor from underlying type </li>
+<li class="listitem">
+<pre class="literallayout"><a name="id35963870-bb"></a><span class="identifier">enum_class_cons</span><span class="special">(</span><span class="identifier">type</span> v<span class="special">)</span><span class="special">;</span></pre>constructor from enum type </li>
+<li class="listitem">
+<pre class="literallayout">enum_class_cons&amp; <a name="id35963878-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>assignment </li>
+<li class="listitem">
+<pre class="literallayout">enum_class_cons&amp; <a name="id35963887-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>assignment from enum literals </li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36348143"></a><h3>
+<a name="id35963835-bb"></a><code class="computeroutput">enum_class_cons</code> public member functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">type</span> <a name="id35963838-bb"></a><span class="identifier">enum_value</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>explicit conversion function to enum type </li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">underlying_type</span> <a name="id35963847-bb"></a><span class="identifier">underlying_value</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>explicit conversion function to underlying_type </li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36348232"></a><h3>
+<a name="id35963895-bb"></a><code class="computeroutput">enum_class_cons</code> public static functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> <a name="id35963898-bb"></a><span class="identifier">default_value</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>workaround when there are no constructors </li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> <a name="id35963910-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">underlying_type</span> v<span class="special">)</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> <a name="id35963924-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">type</span> v<span class="special">)</span><span class="special">;</span></pre></li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36348366"></a><h3>
+<a name="id35963938-bb"></a><code class="computeroutput">enum_class_cons</code> friend functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35963941-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35963962-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35963982-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964003-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964024-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964044-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964064-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964086-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964106-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964126-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964148-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964168-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964188-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964210-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964230-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964250-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964271-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964292-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="identifier">underlying_type</span>
+<a name="id35964312-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> v<span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">underlying_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>conversions from enum_type_cons to underlying_type following the Boost.Conversion protocol </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="identifier">type</span> <a name="id35964333-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><a class="link" href="enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a> v<span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>conversions from enum_type_cons to type following the Boost.Conversion protocol </li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="emulator_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_class_cons_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_class_no_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/enum_class_no_cons.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/enum_class_no_cons.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,193 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class template enum_class_no_cons</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_class_no_cons_hpp" title="Header &lt;boost/enums/enum_class_no_cons.hpp&gt;">
+<link rel="prev" href="enum_class_cons.html" title="Class template enum_class_cons">
+<link rel="next" href="enum_subrange.html" title="Struct template enum_subrange">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_class_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_class_no_cons_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_subrange.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.enum_class_no_cons"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template enum_class_no_cons</span></h2>
+<p>boost::enums::enum_class_no_cons &#8212; scoped enum class without constructors </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_class_no_cons_hpp" title="Header &lt;boost/enums/enum_class_no_cons.hpp&gt;">boost/enums/enum_class_no_cons.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ScopedEnum<span class="special">,</span> <span class="keyword">typename</span> UT <span class="special">=</span> <span class="keyword">int</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// types</span>
+ <span class="keyword">typedef</span> <span class="identifier">ScopedEnum</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.enums.enum_class_no_cons.type"></a><span class="identifier">type</span><span class="special">;</span> <span class="comment">// c++98 enum type </span>
+ <span class="keyword">typedef</span> <span class="identifier">UT</span> <a name="boost.enums.enum_class_no_cons.underlying_type"></a><span class="identifier">underlying_type</span><span class="special">;</span> <span class="comment">// underlying type </span>
+
+ <span class="comment">// <a class="link" href="enum_class_no_cons.html#boost.enums.enum_class_no_consconstruct-copy-destruct">construct/copy/destruct</a></span>
+ enum_class_no_cons&amp; <a class="link" href="enum_class_no_cons.html#id35964444-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ enum_class_no_cons&amp; <a class="link" href="enum_class_no_cons.html#id35964453-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_class_no_cons.html#id35964422-bb">public member functions</a></span>
+ <span class="identifier">type</span> <a class="link" href="enum_class_no_cons.html#id35964425-bb"><span class="identifier">enum_value</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">underlying_type</span> <a class="link" href="enum_class_no_cons.html#id35964434-bb"><span class="identifier">underlying_value</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_class_no_cons.html#id35964462-bb">public static functions</a></span>
+ <span class="keyword">static</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> <a class="link" href="enum_class_no_cons.html#id35964464-bb"><span class="identifier">default_value</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">static</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> <a class="link" href="enum_class_no_cons.html#id35964476-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">underlying_type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">static</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> <a class="link" href="enum_class_no_cons.html#id35964490-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_class_no_cons.html#id35964504-bb">friend functions</a></span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964507-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964528-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964548-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964569-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964590-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964610-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964631-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964652-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964672-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964692-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964714-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964734-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964754-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964776-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964796-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964816-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964838-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_class_no_cons.html#id35964858-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a>
+ <a class="link" href="enum_class_no_cons.html#id35964878-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">underlying_type</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a>
+ <a class="link" href="enum_class_no_cons.html#id35964903-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="identifier">underlying_type</span>
+ <a class="link" href="enum_class_no_cons.html#id35964929-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">underlying_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="identifier">type</span> <a class="link" href="enum_class_no_cons.html#id35964950-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36351628"></a><h2>Description</h2>
+<p>param <code class="computeroutput">ScopedEnum</code> : Struct scoping the enum.<br>
+ param <code class="computeroutput">UT</code> : the underlaying storage type.<br>
+ pre <code class="computeroutput">ScopedEnum</code> must have a nested C++98 enum <code class="computeroutput">type</code>.<br>
+ </p>
+<div class="refsect2">
+<a name="id36351663"></a><h3>
+<a name="boost.enums.enum_class_no_consconstruct-copy-destruct"></a><code class="computeroutput">enum_class_no_cons</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout">enum_class_no_cons&amp; <a name="id35964444-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>assignment </li>
+<li class="listitem">
+<pre class="literallayout">enum_class_no_cons&amp; <a name="id35964453-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>assignment from enum literals </li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36351762"></a><h3>
+<a name="id35964422-bb"></a><code class="computeroutput">enum_class_no_cons</code> public member functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">type</span> <a name="id35964425-bb"></a><span class="identifier">enum_value</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>explicit conversion function to enum type </li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">underlying_type</span> <a name="id35964434-bb"></a><span class="identifier">underlying_value</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>explicit conversion function to underlying_type </li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36351858"></a><h3>
+<a name="id35964462-bb"></a><code class="computeroutput">enum_class_no_cons</code> public static functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> <a name="id35964464-bb"></a><span class="identifier">default_value</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>workaround when there are no constructors </li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> <a name="id35964476-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">underlying_type</span> v<span class="special">)</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> <a name="id35964490-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">type</span> v<span class="special">)</span><span class="special">;</span></pre></li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36352006"></a><h3>
+<a name="id35964504-bb"></a><code class="computeroutput">enum_class_no_cons</code> friend functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964507-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964528-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964548-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964569-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964590-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964610-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964631-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964652-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964672-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964692-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964714-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964734-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964754-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964776-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964796-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964816-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964838-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35964858-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a>
+<a name="id35964878-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">underlying_type</span> v<span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>conversions from underlying_type to enum_type_cons following the Boost.Conversion protocol </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a>
+<a name="id35964903-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">type</span> v<span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>friend conversions from type to enum_type_cons following the Boost.Conversion protocol </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="identifier">underlying_type</span>
+<a name="id35964929-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> v<span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">underlying_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>conversions from enum_type_cons to underlying_type following the Boost.Conversion protocol </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="identifier">type</span> <a name="id35964950-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><a class="link" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a> v<span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>conversions from enum_type_cons to type following the Boost.Conversion protocol </li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_class_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_class_no_cons_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_subrange.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/enum_range.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/enum_range.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class template enum_range</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_range_hpp" title="Header &lt;boost/enums/enum_range.hpp&gt;">
+<link rel="prev" href="get_c_array_id35967755.html" title="Function template get_c_array">
+<link rel="next" href="make_range_id35967838.html" title="Function template make_range">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_c_array_id35967755.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_range_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_range_id35967838.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.enum_range"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template enum_range</span></h2>
+<p>boost::enums::enum_range &#8212; <code class="computeroutput">enum_range</code> is a model of the <span class="emphasis"><em>RandomAccessRange</em></span> Concept associated to the enumeration <code class="computeroutput">EC</code>. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_range_hpp" title="Header &lt;boost/enums/enum_range.hpp&gt;">boost/enums/enum_range.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+<span class="keyword">class</span> <a class="link" href="enum_range.html" title="Class template enum_range">enum_range</a> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// <a class="link" href="enum_range.html#boost.enums.enum_rangeconstruct-copy-destruct">construct/copy/destruct</a></span>
+ <a class="link" href="enum_range.html#id35967822-bb"><span class="identifier">enum_range</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_range.html#id35967825-bb"><span class="identifier">enum_range</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">,</span> <span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36374057"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id36374060"></a><h3>
+<a name="boost.enums.enum_rangeconstruct-copy-destruct"></a><code class="computeroutput">enum_range</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><a name="id35967822-bb"></a><span class="identifier">enum_range</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>builds a enum range </li>
+<li class="listitem">
+<pre class="literallayout"><a name="id35967825-bb"></a><span class="identifier">enum_range</span><span class="special">(</span><span class="identifier">EC</span> first<span class="special">,</span> <span class="identifier">EC</span> last<span class="special">)</span><span class="special">;</span></pre>builds a enum sub-range </li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_c_array_id35967755.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_range_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_range_id35967838.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/enum_set.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/enum_set.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,544 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class template enum_set</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">
+<link rel="prev" href="make_range_id35967871.html" title="Function template make_range">
+<link rel="next" href="enum_set/reference.html" title="Struct reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_range_id35967871.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_set/reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.enum_set"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template enum_set</span></h2>
+<p>boost::enums::enum_set</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">boost/enums/enum_set.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+<span class="keyword">class</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// member classes/structs/unions</span>
+
+ <span class="keyword">struct</span> <a class="link" href="enum_set/reference.html" title="Struct reference">reference</a> <span class="special">{</span>
+ <span class="special">}</span><span class="special">;</span>
+ <span class="comment">// <a class="link" href="enum_set.html#boost.enums.enum_setconstruct-copy-destruct">construct/copy/destruct</a></span>
+ <a class="link" href="enum_set.html#id35968837-bb"><span class="identifier">enum_set</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">explicit</span> <a class="link" href="enum_set.html#id35968848-bb"><span class="identifier">enum_set</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">explicit</span> <a class="link" href="enum_set.html#id35968856-bb"><span class="identifier">enum_set</span></a><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_set.html#id35967997-bb">public member functions</a></span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a class="link" href="enum_set.html#id35968000-bb"><span class="keyword">operator</span><span class="special">&amp;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a class="link" href="enum_set.html#id35968037-bb"><span class="keyword">operator</span><span class="special">|=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a class="link" href="enum_set.html#id35968073-bb"><span class="keyword">operator</span><span class="special">^=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a class="link" href="enum_set.html#id35968110-bb"><span class="keyword">operator</span><span class="special">&lt;&lt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a class="link" href="enum_set.html#id35968160-bb"><span class="keyword">operator</span><span class="special">&gt;&gt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="enum_set.html#id35968211-bb"><span class="identifier">count</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">constexpr</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="enum_set.html#id35968228-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">constexpr</span> <span class="keyword">bool</span> <a class="link" href="enum_set.html#id35968243-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <a class="link" href="enum_set/reference.html" title="Struct reference">reference</a> <a class="link" href="enum_set.html#id35968284-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a class="link" href="enum_set.html#id35968332-bb"><span class="identifier">set</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a class="link" href="enum_set.html#id35968356-bb"><span class="identifier">set</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">,</span> <span class="keyword">bool</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a class="link" href="enum_set.html#id35968397-bb"><span class="identifier">reset</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a class="link" href="enum_set.html#id35968422-bb"><span class="identifier">reset</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a class="link" href="enum_set.html#id35968455-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a class="link" href="enum_set.html#id35968480-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">long</span> <a class="link" href="enum_set.html#id35968513-bb"><span class="identifier">to_ulong</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">long</span> <a class="link" href="enum_set.html#id35968538-bb"><span class="identifier">to_ullong</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> charT <span class="special">=</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">typename</span> traits <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span><span class="special">,</span>
+ <span class="keyword">typename</span> Allocator <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span> <span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span>
+ <a class="link" href="enum_set.html#id35968563-bb"><span class="identifier">to_string</span></a><span class="special">(</span><span class="identifier">charT</span> <span class="special">=</span> <span class="identifier">charT</span><span class="special">(</span><span class="char">'0'</span><span class="special">)</span><span class="special">,</span> <span class="identifier">charT</span> <span class="special">=</span> <span class="identifier">charT</span><span class="special">(</span><span class="char">'1'</span><span class="special">)</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <a class="link" href="enum_set.html#id35968628-bb"><span class="keyword">operator</span><span class="special">~</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a class="link" href="enum_set.html#id35968650-bb"><span class="identifier">test</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a class="link" href="enum_set.html#id35968687-bb"><span class="identifier">all</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a class="link" href="enum_set.html#id35968703-bb"><span class="identifier">any</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a class="link" href="enum_set.html#id35968718-bb"><span class="identifier">none</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <a class="link" href="enum_set.html#id35968734-bb"><span class="keyword">operator</span><span class="special">&lt;&lt;</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <a class="link" href="enum_set.html#id35968755-bb"><span class="keyword">operator</span><span class="special">&gt;&gt;</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a class="link" href="enum_set.html#id35968777-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a class="link" href="enum_set.html#id35968805-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">bitset</span><span class="special">&lt;</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">size</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span> <span class="special">&gt;</span> <a class="link" href="enum_set.html#id35968830-bb"><span class="identifier">detail_bits</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_set.html#id35968902-bb">private static functions</a></span>
+ <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="enum_set.html#id35968905-bb"><span class="identifier">to_bit</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36377342"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id36377345"></a><h3>
+<a name="boost.enums.enum_setconstruct-copy-destruct"></a><code class="computeroutput">enum_set</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><a name="id35968837-bb"></a><span class="identifier">enum_set</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Constructs an object of class <code class="computeroutput">enum_set&lt;&gt;</code>, initializing all enumerations to zero. </p>
+</li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">explicit</span> <a name="id35968848-bb"></a><span class="identifier">enum_set</span><span class="special">(</span><span class="identifier">EC</span> setting<span class="special">)</span><span class="special">;</span></pre></li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">explicit</span> <a name="id35968856-bb"></a><span class="identifier">enum_set</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">long</span> val<span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Constructs an object of class <code class="computeroutput">enum_set&lt;&gt;</code>, initializing the first <code class="computeroutput">M</code> bit positions to the corresponding bit values in <code class="computeroutput">val</code>. <code class="computeroutput">M</code> is the smaller of <code class="computeroutput">N</code> and the number of bits in the value representation of <code class="computeroutput">unsigned</code> <code class="computeroutput">long</code> <code class="computeroutput">long</code>. If <code class="computeroutput">M&lt;N</code>, the remaining bit positions are initialized to zero. </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36377547"></a><h3>
+<a name="id35967997-bb"></a><code class="computeroutput">enum_set</code> public member functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a name="id35968000-bb"></a><span class="keyword">operator</span><span class="special">&amp;=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Clears each bit in <code class="computeroutput">*this</code> for which the corresponding bit in <code class="computeroutput">rhs</code> is clear, and leaves all other bits unchanged.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">*this</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a name="id35968037-bb"></a><span class="keyword">operator</span><span class="special">|=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Sets each bit in <code class="computeroutput">*this</code> for which the corresponding bit in <code class="computeroutput">rhs</code> is set, and leaves all other bits unchanged.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">*this</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a name="id35968073-bb"></a><span class="keyword">operator</span><span class="special">^=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Toggles each bit in <code class="computeroutput">*this</code> for which the corresponding bit in <code class="computeroutput">rhs</code> is set, and leaves all other bits unchanged.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">*this</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a name="id35968110-bb"></a><span class="keyword">operator</span><span class="special">&lt;&lt;=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Replaces each bit at position <code class="computeroutput">I</code> in <code class="computeroutput">*this</code> with a value determined as follows:</p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem"><p>If <code class="computeroutput">I&lt;pos</code>, the new value is zero;</p></li>
+<li class="listitem"><p>If <code class="computeroutput">I&gt;=pos</code>, the new value is the previous value of the bit at position <code class="computeroutput">I-pos</code>.
+</p></li>
+</ul></div>
+<p>
+</p>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a name="id35968160-bb"></a><span class="keyword">operator</span><span class="special">&gt;&gt;=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Replaces each bit at position <code class="computeroutput">I</code> in <code class="computeroutput">*this</code> with a value determined as follows:</p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem"><p>If <code class="computeroutput">pos&gt;=N-I</code>, the new value is zero;</p></li>
+<li class="listitem"><p>If <code class="computeroutput">pos&lt;N-I</code>, the new value is the previous value of the bit at position <code class="computeroutput">I+pos</code>.
+</p></li>
+</ul></div>
+<p>
+</p>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id35968211-bb"></a><span class="identifier">count</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A count of the number of bits set in <code class="computeroutput">*this</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">constexpr</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id35968228-bb"></a><span class="identifier">size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">static_size</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">constexpr</span> <span class="keyword">bool</span> <a name="id35968243-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">EC</span> testing<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p><code class="computeroutput">pos</code> shall be valid. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">true</code> if the bit at position <code class="computeroutput">pos</code> in <code class="computeroutput">*this</code> has the value one, otherwise <code class="computeroutput">false</code>. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>nothing. </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set/reference.html" title="Struct reference">reference</a> <a name="id35968284-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> pos<span class="special">)</span><span class="special">;</span></pre>
+<p>
+
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p><code class="computeroutput">pos</code> shall be valid. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An object of type <code class="computeroutput">enum_set&lt;EC&gt;::reference</code> such that <code class="computeroutput">(*this)[pos] == this-&gt;test(pos)</code>, and such that <code class="computeroutput">(*this)[pos] = val</code> is equivalent to <code class="computeroutput">this-&gt;set(pos, val)</code>. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>nothing. </td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>For the purpose of determining the presence of a data race, any access or update through the resulting reference potentially accesses or modifies, respectively, the entire underlying bitset. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a name="id35968332-bb"></a><span class="identifier">set</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Sets all bits in <code class="computeroutput">*this</code>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">*this</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a name="id35968356-bb"></a><span class="identifier">set</span><span class="special">(</span><span class="identifier">EC</span> setting<span class="special">,</span> <span class="keyword">bool</span> value <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span></pre>
+<p>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p><code class="computeroutput">setting</code> is valid </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">*this</code>. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>out_of_range </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a name="id35968397-bb"></a><span class="identifier">reset</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Resets all bits in <code class="computeroutput">*this</code>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">*this</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a name="id35968422-bb"></a><span class="identifier">reset</span><span class="special">(</span><span class="identifier">EC</span> resetting<span class="special">)</span><span class="special">;</span></pre>
+<p>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p><code class="computeroutput">resetting</code> is valid </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">*this</code>. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>out_of_range </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a name="id35968455-bb"></a><span class="identifier">flip</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Toggles all bits in <code class="computeroutput">*this</code>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">*this</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> <a name="id35968480-bb"></a><span class="identifier">flip</span><span class="special">(</span><span class="identifier">EC</span> flipping<span class="special">)</span><span class="special">;</span></pre>
+<p>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p><code class="computeroutput">flipping</code> is valid </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">*this</code>. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>out_of_range </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">unsigned</span> <span class="keyword">long</span> <a name="id35968513-bb"></a><span class="identifier">to_ulong</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p><code class="computeroutput"><code class="computeroutput">unsigned</code> long</code> conversion
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">x</code>. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>overflow_error </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">long</span> <a name="id35968538-bb"></a><span class="identifier">to_ullong</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p><code class="computeroutput"><code class="computeroutput">unsigned</code> long long</code> conversion
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">x</code>. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>overflow_error </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> charT <span class="special">=</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">typename</span> traits <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span><span class="special">,</span>
+ <span class="keyword">typename</span> Allocator <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span> <span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span>
+ <a name="id35968563-bb"></a><span class="identifier">to_string</span><span class="special">(</span><span class="identifier">charT</span> zero <span class="special">=</span> <span class="identifier">charT</span><span class="special">(</span><span class="char">'0'</span><span class="special">)</span><span class="special">,</span> <span class="identifier">charT</span> one <span class="special">=</span> <span class="identifier">charT</span><span class="special">(</span><span class="char">'1'</span><span class="special">)</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Constructs a string object of the appropriate type and initializes it to a string of length <code class="computeroutput">N</code> characters. Each character is determined by the value of its corresponding bit position in <code class="computeroutput">*this</code>. Character position <code class="computeroutput">N-1</code> corresponds to bit position zero. Subsequent decreasing character positions correspond to increasing bit positions. Bit value zero becomes the character zero, bit value one becomes the character one.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The created object. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <a name="id35968628-bb"></a><span class="keyword">operator</span><span class="special">~</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p><span class="bold"><strong> Effects:</strong></span> Constructs an object x of class enum_set&lt;EC&gt; and initializes it with *this.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">x.flip()</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">bool</span> <a name="id35968650-bb"></a><span class="identifier">test</span><span class="special">(</span><span class="identifier">EC</span> testing<span class="special">)</span><span class="special">;</span></pre>
+<p>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p><code class="computeroutput">testing</code> is valid </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">true</code> if the bit at position <code class="computeroutput">pos</code> in <code class="computeroutput">*this</code> has the value one. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>out_of_range </td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">bool</span> <a name="id35968687-bb"></a><span class="identifier">all</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">count() == size()</code> </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">bool</span> <a name="id35968703-bb"></a><span class="identifier">any</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">count() != 0</code> </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">bool</span> <a name="id35968718-bb"></a><span class="identifier">none</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">count() == 0</code> </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <a name="id35968734-bb"></a><span class="keyword">operator</span><span class="special">&lt;&lt;</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> pos<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">enum_set&lt;EC&gt;(*this) &lt;&lt;= pos</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <a name="id35968755-bb"></a><span class="keyword">operator</span><span class="special">&gt;&gt;</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> pos<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">enum_set&lt;EC&gt;(*this) &gt;&gt;= pos</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">bool</span> <a name="id35968777-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A nonzero value if the value of each bit in <code class="computeroutput">*this</code> equals the value of the corresponding bit in <code class="computeroutput">rhs</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">bool</span> <a name="id35968805-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A nonzero value if <code class="computeroutput">!(*this == rhs)</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem"><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">bitset</span><span class="special">&lt;</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">size</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span> <span class="special">&gt;</span> <a name="id35968830-bb"></a><span class="identifier">detail_bits</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36380057"></a><h3>
+<a name="id35968902-bb"></a><code class="computeroutput">enum_set</code> private static functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id35968905-bb"></a><span class="identifier">to_bit</span><span class="special">(</span><span class="identifier">EC</span> value<span class="special">)</span><span class="special">;</span></pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_range_id35967871.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_set/reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/enum_set/reference.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/enum_set/reference.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct reference</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../enum_set.html#id36377342" title="Description">
+<link rel="prev" href="../enum_set.html" title="Class template enum_set">
+<link rel="next" href="../operator_.html" title="Function template operator&amp;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../enum_set.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../enum_set.html#id36377342"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.enum_set.reference"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct reference</span></h2>
+<p>boost::enums::enum_set::reference</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">boost/enums/enum_set.hpp</a>&gt;
+
+</span>
+
+<span class="keyword">struct</span> <a class="link" href="reference.html" title="Struct reference">reference</a> <span class="special">{</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../enum_set.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../enum_set.html#id36377342"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/enum_subrange.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/enum_subrange.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template enum_subrange</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_subrange_hpp" title="Header &lt;boost/enums/enum_subrange.hpp&gt;">
+<link rel="prev" href="enum_class_no_cons.html" title="Class template enum_class_no_cons">
+<link rel="next" href="enum_type.html" title="Struct template enum_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_class_no_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_subrange_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.enum_subrange"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template enum_subrange</span></h2>
+<p>boost::enums::enum_subrange</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_subrange_hpp" title="Header &lt;boost/enums/enum_subrange.hpp&gt;">boost/enums/enum_subrange.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC_type<span class="special">,</span>
+ <span class="identifier">EC_type</span> First <span class="special">=</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">first</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">emulator_type</span><span class="special">&lt;</span><span class="identifier">EC_type</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">,</span>
+ <span class="identifier">EC_type</span> Last <span class="special">=</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">last</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">emulator_type</span><span class="special">&lt;</span><span class="identifier">EC_type</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="enum_subrange.html" title="Struct template enum_subrange">enum_subrange</a> <span class="special">{</span>
+ <span class="comment">// types</span>
+ <span class="keyword">typedef</span> <a class="link" href="emulator_type.html" title="Struct template emulator_type">emulator_type</a><span class="special">&lt;</span> <span class="identifier">EC_type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.enums.enum_subrange.EC"></a><span class="identifier">EC</span><span class="special">;</span>
+
+ <span class="comment">// public data members</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">first_index</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">last_index</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_class_no_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_subrange_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/enum_type.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/enum_type.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template enum_type</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_type_hpp" title="Header &lt;boost/enums/enum_type.hpp&gt;">
+<link rel="prev" href="enum_subrange.html" title="Struct template enum_subrange">
+<link rel="next" href="enum_type_cons.html" title="Class template enum_type_cons">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_subrange.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_type_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_type_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.enum_type"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template enum_type</span></h2>
+<p>boost::enums::enum_type</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_type_hpp" title="Header &lt;boost/enums/enum_type.hpp&gt;">boost/enums/enum_type.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="enum_type.html" title="Struct template enum_type">enum_type</a> <span class="special">{</span>
+
+ <span class="comment">// public data members</span>
+ <span class="keyword">typedef</span><span class="special">&lt;</span> <span class="identifier">see</span> <span class="identifier">below</span> <span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36354375"></a><h2>Description</h2>
+<p>meta-function to get the native enum type associated to an enum class or its emulation </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_subrange.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_type_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_type_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/enum_type_cons.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/enum_type_cons.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,196 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class template enum_type_cons</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_type_cons_hpp" title="Header &lt;boost/enums/enum_type_cons.hpp&gt;">
+<link rel="prev" href="enum_type.html" title="Struct template enum_type">
+<link rel="next" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_type_cons_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_type_no_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.enum_type_cons"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template enum_type_cons</span></h2>
+<p>boost::enums::enum_type_cons &#8212; scoped enum type with constructors </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_type_cons_hpp" title="Header &lt;boost/enums/enum_type_cons.hpp&gt;">boost/enums/enum_type_cons.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ScopedEnum<span class="special">,</span> <span class="keyword">typename</span> UT <span class="special">=</span> <span class="keyword">int</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// types</span>
+ <span class="keyword">typedef</span> <span class="identifier">ScopedEnum</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.enums.enum_type_cons.type"></a><span class="identifier">type</span><span class="special">;</span> <span class="comment">// c++98 enum type </span>
+ <span class="keyword">typedef</span> <span class="identifier">UT</span> <a name="boost.enums.enum_type_cons.underlying_type"></a><span class="identifier">underlying_type</span><span class="special">;</span> <span class="comment">// underlying type </span>
+
+ <span class="comment">// <a class="link" href="enum_type_cons.html#boost.enums.enum_type_consconstruct-copy-destruct">construct/copy/destruct</a></span>
+ <a class="link" href="enum_type_cons.html#id35965164-bb"><span class="identifier">enum_type_cons</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">explicit</span> <a class="link" href="enum_type_cons.html#id35965167-bb"><span class="identifier">enum_type_cons</span></a><span class="special">(</span><span class="identifier">underlying_type</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_type_cons.html#id35965177-bb"><span class="identifier">enum_type_cons</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ enum_type_cons&amp; <a class="link" href="enum_type_cons.html#id35965185-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ enum_type_cons&amp; <a class="link" href="enum_type_cons.html#id35965195-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_type_cons.html#id35965124-bb">public member functions</a></span>
+ <a class="link" href="enum_type_cons.html#id35965127-bb"><span class="keyword">operator</span> <span class="identifier">underlying_type</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_type_cons.html#id35965136-bb"><span class="keyword">operator</span> <span class="identifier">type</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">type</span> <a class="link" href="enum_type_cons.html#id35965145-bb"><span class="identifier">enum_value</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">underlying_type</span> <a class="link" href="enum_type_cons.html#id35965154-bb"><span class="identifier">underlying_value</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_type_cons.html#id35965203-bb">public static functions</a></span>
+ <span class="keyword">static</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> <a class="link" href="enum_type_cons.html#id35965206-bb"><span class="identifier">default_value</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">static</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> <a class="link" href="enum_type_cons.html#id35965217-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">underlying_type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">static</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> <a class="link" href="enum_type_cons.html#id35965231-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_type_cons.html#id35965245-bb">friend functions</a></span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965248-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965270-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965290-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965310-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965331-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965352-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965372-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965393-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965414-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965434-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965455-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965475-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965496-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965517-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965537-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965558-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965579-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_cons.html#id35965599-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="identifier">underlying_type</span>
+ <a class="link" href="enum_type_cons.html#id35965619-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">underlying_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="identifier">type</span> <a class="link" href="enum_type_cons.html#id35965641-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36356232"></a><h2>Description</h2>
+<p>param <code class="computeroutput">ScopedEnum</code> : Struct scoping the enum.<br>
+ param <code class="computeroutput">UT</code> : the underlaying storage type.<br>
+ pre <code class="computeroutput">ScopedEnum</code> must have a nested C++98 enum <code class="computeroutput">type</code>.<br>
+ </p>
+<div class="refsect2">
+<a name="id36356267"></a><h3>
+<a name="boost.enums.enum_type_consconstruct-copy-destruct"></a><code class="computeroutput">enum_type_cons</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><a name="id35965164-bb"></a><span class="identifier">enum_type_cons</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>default constructor </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">explicit</span> <a name="id35965167-bb"></a><span class="identifier">enum_type_cons</span><span class="special">(</span><span class="identifier">underlying_type</span> v<span class="special">)</span><span class="special">;</span></pre>explicit constructor from underlying type </li>
+<li class="listitem">
+<pre class="literallayout"><a name="id35965177-bb"></a><span class="identifier">enum_type_cons</span><span class="special">(</span><span class="identifier">type</span> v<span class="special">)</span><span class="special">;</span></pre>constructor from enum type </li>
+<li class="listitem">
+<pre class="literallayout">enum_type_cons&amp; <a name="id35965185-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>assignment </li>
+<li class="listitem">
+<pre class="literallayout">enum_type_cons&amp; <a name="id35965195-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>assignment from enum literals </li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36356468"></a><h3>
+<a name="id35965124-bb"></a><code class="computeroutput">enum_type_cons</code> public member functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><a name="id35965127-bb"></a><span class="keyword">operator</span> <span class="identifier">underlying_type</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>implicit conversion to underlying_type </li>
+<li class="listitem">
+<pre class="literallayout"><a name="id35965136-bb"></a><span class="keyword">operator</span> <span class="identifier">type</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>implicit conversion to enum type </li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">type</span> <a name="id35965145-bb"></a><span class="identifier">enum_value</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>explicit conversion function to enum type </li>
+<li class="listitem">
+<pre class="literallayout"><span class="identifier">underlying_type</span> <a name="id35965154-bb"></a><span class="identifier">underlying_value</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>explicit conversion function to underlying_type </li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36356633"></a><h3>
+<a name="id35965203-bb"></a><code class="computeroutput">enum_type_cons</code> public static functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> <a name="id35965206-bb"></a><span class="identifier">default_value</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>workaround in case there are no constructors </li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> <a name="id35965217-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">underlying_type</span> v<span class="special">)</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> <a name="id35965231-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">type</span> v<span class="special">)</span><span class="special">;</span></pre></li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36356781"></a><h3>
+<a name="id35965245-bb"></a><code class="computeroutput">enum_type_cons</code> friend functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965248-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965270-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965290-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965310-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965331-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965352-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965372-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965393-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965414-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965434-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965455-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965475-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965496-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965517-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965537-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965558-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965579-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965599-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="identifier">underlying_type</span>
+<a name="id35965619-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> v<span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">underlying_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>conversions from enum_type_cons to underlying_type following the Boost.Conversion protocol </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="identifier">type</span> <a name="id35965641-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><a class="link" href="enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a> v<span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>conversions from enum_type_cons to type following the Boost.Conversion protocol </li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_type_cons_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_type_no_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/enum_type_no_cons.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/enum_type_no_cons.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,193 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class template enum_type_no_cons</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_type_no_cons_hpp" title="Header &lt;boost/enums/enum_type_no_cons.hpp&gt;">
+<link rel="prev" href="enum_type_cons.html" title="Class template enum_type_cons">
+<link rel="next" href="underlying_type.html" title="Struct template underlying_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_type_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_type_no_cons_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="underlying_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.enum_type_no_cons"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template enum_type_no_cons</span></h2>
+<p>boost::enums::enum_type_no_cons &#8212; scoped enum type without constructors </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_type_no_cons_hpp" title="Header &lt;boost/enums/enum_type_no_cons.hpp&gt;">boost/enums/enum_type_no_cons.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ScopedEnum<span class="special">,</span> <span class="keyword">typename</span> UT <span class="special">=</span> <span class="keyword">int</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// types</span>
+ <span class="keyword">typedef</span> <span class="identifier">ScopedEnum</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.enums.enum_type_no_cons.type"></a><span class="identifier">type</span><span class="special">;</span> <span class="comment">// c++98 enum type </span>
+ <span class="keyword">typedef</span> <span class="identifier">UT</span> <a name="boost.enums.enum_type_no_cons.underlying_type"></a><span class="identifier">underlying_type</span><span class="special">;</span> <span class="comment">// underlying type </span>
+
+ <span class="comment">// <a class="link" href="enum_type_no_cons.html#boost.enums.enum_type_no_consconstruct-copy-destruct">construct/copy/destruct</a></span>
+ enum_type_no_cons&amp; <a class="link" href="enum_type_no_cons.html#id35965764-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ enum_type_no_cons&amp; <a class="link" href="enum_type_no_cons.html#id35965771-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_type_no_cons.html#id35965731-bb">public member functions</a></span>
+ <a class="link" href="enum_type_no_cons.html#id35965734-bb"><span class="keyword">operator</span> <span class="identifier">underlying_type</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="enum_type_no_cons.html#id35965743-bb"><span class="keyword">operator</span> <span class="identifier">type</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="identifier">type</span> <a class="link" href="enum_type_no_cons.html#id35965750-bb"><span class="identifier">enum_value</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">underlying_type</span> <a class="link" href="enum_type_no_cons.html#id35965757-bb"><span class="identifier">underlying_value</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_type_no_cons.html#id35965777-bb">public static functions</a></span>
+ <span class="keyword">static</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> <a class="link" href="enum_type_no_cons.html#id35965780-bb"><span class="identifier">default_value</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">static</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> <a class="link" href="enum_type_no_cons.html#id35965789-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">underlying_type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">static</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> <a class="link" href="enum_type_no_cons.html#id35965803-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_type_no_cons.html#id35965817-bb">friend functions</a></span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35965820-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35965842-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35965862-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35965882-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35965904-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35965924-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35965944-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35965965-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35965986-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35966006-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35966163-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35966183-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35966203-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35966225-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35966245-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35966265-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35966286-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="enum_type_no_cons.html#id35966307-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span> <span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a>
+ <a class="link" href="enum_type_no_cons.html#id35966327-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">underlying_type</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a>
+ <a class="link" href="enum_type_no_cons.html#id35966352-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="identifier">underlying_type</span>
+ <a class="link" href="enum_type_no_cons.html#id35966378-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">underlying_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">friend</span> <span class="identifier">type</span> <a class="link" href="enum_type_no_cons.html#id35966399-bb"><span class="identifier">convert_to</span></a><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36360196"></a><h2>Description</h2>
+<p>param <code class="computeroutput">ScopedEnum</code> : Struct scoping the enum.<br>
+ param <code class="computeroutput">UT</code> : the underlaying storage type.<br>
+ pre <code class="computeroutput">ScopedEnum</code> must have a nested C++98 enum <code class="computeroutput">type</code>.<br>
+ </p>
+<div class="refsect2">
+<a name="id36360231"></a><h3>
+<a name="boost.enums.enum_type_no_consconstruct-copy-destruct"></a><code class="computeroutput">enum_type_no_cons</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem"><pre class="literallayout">enum_type_no_cons&amp; <a name="id35965764-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout">enum_type_no_cons&amp; <a name="id35965771-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre></li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36360327"></a><h3>
+<a name="id35965731-bb"></a><code class="computeroutput">enum_type_no_cons</code> public member functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><a name="id35965734-bb"></a><span class="keyword">operator</span> <span class="identifier">underlying_type</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>implicit conversion for scoped enum type only </li>
+<li class="listitem"><pre class="literallayout"><a name="id35965743-bb"></a><span class="keyword">operator</span> <span class="identifier">type</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><span class="identifier">type</span> <a name="id35965750-bb"></a><span class="identifier">enum_value</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><span class="identifier">underlying_type</span> <a name="id35965757-bb"></a><span class="identifier">underlying_value</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36360489"></a><h3>
+<a name="id35965777-bb"></a><code class="computeroutput">enum_type_no_cons</code> public static functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> <a name="id35965780-bb"></a><span class="identifier">default_value</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> <a name="id35965789-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">underlying_type</span> v<span class="special">)</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> <a name="id35965803-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">type</span> v<span class="special">)</span><span class="special">;</span></pre></li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id36360635"></a><h3>
+<a name="id35965817-bb"></a><code class="computeroutput">enum_type_no_cons</code> friend functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965820-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965842-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965862-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965882-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965904-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965924-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>not_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965944-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965965-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35965986-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>less_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35966006-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35966163-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35966183-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>less operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35966203-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35966225-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35966245-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>greater_equal operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35966265-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35966286-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="identifier">type</span> lhs<span class="special">,</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="id35966307-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> lhs<span class="special">,</span> <span class="identifier">type</span> rhs<span class="special">)</span><span class="special">;</span></pre>greater operator </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a>
+<a name="id35966327-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">underlying_type</span> v<span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>conversions from underlying_type to enum_type_cons following the Boost.Conversion protocol </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a>
+<a name="id35966352-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">type</span> v<span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>friend conversions from type to enum_type_cons following the Boost.Conversion protocol </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="identifier">underlying_type</span>
+<a name="id35966378-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> v<span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">underlying_type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>conversions from enum_type_cons to underlying_type following the Boost.Conversion protocol </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">friend</span> <span class="identifier">type</span> <a name="id35966399-bb"></a><span class="identifier">convert_to</span><span class="special">(</span><a class="link" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a> v<span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span> <span class="identifier">type</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre>conversions from enum_type_cons to type following the Boost.Conversion protocol </li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_type_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_type_no_cons_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="underlying_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/first_id35961669.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/first_id35961669.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template first</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.first_hpp" title="Header &lt;boost/enums/first.hpp&gt;">
+<link rel="prev" href="meta/first.html" title="Struct template first">
+<link rel="next" href="meta/last.html" title="Struct template last">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/first.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.first_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/last.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.first_id35961669"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template first</span></h2>
+<p>boost::enums::first</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.first_hpp" title="Header &lt;boost/enums/first.hpp&gt;">boost/enums/first.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">constexpr</span> <span class="identifier">EC</span> <span class="identifier">first</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36364032"></a><h2>Description</h2>
+<p>Returns the the first element of an enumeration Throws: Nothing </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/first.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.first_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/last.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/get_c_array_id35967730.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/get_c_array_id35967730.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template get_c_array</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">
+<link rel="prev" href="swap.html" title="Function template swap">
+<link rel="next" href="get_c_array_id35967755.html" title="Function template get_c_array">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="swap.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_c_array_id35967755.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.get_c_array_id35967730"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template get_c_array</span></h2>
+<p>boost::enums::get_c_array</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">boost/enums/enum_array.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">T</span><span class="special">(</span><span class="special">&amp;</span> <span class="identifier">get_c_array</span><span class="special">(</span><a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36373487"></a><h2>Description</h2>
+<p>c_array conversion. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="swap.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_c_array_id35967755.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/get_c_array_id35967755.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/get_c_array_id35967755.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template get_c_array</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">
+<link rel="prev" href="get_c_array_id35967730.html" title="Function template get_c_array">
+<link rel="next" href="enum_range.html" title="Class template enum_range">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_c_array_id35967730.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.get_c_array_id35967755"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template get_c_array</span></h2>
+<p>boost::enums::get_c_array</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">boost/enums/enum_array.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">(</span><span class="special">&amp;</span> <span class="identifier">get_c_array</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36373631"></a><h2>Description</h2>
+<p>c_array const conversion. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_c_array_id35967730.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/last_id35961724.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/last_id35961724.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template last</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.last_hpp" title="Header &lt;boost/enums/last.hpp&gt;">
+<link rel="prev" href="meta/last.html" title="Struct template last">
+<link rel="next" href="meta/pos.html" title="Struct template pos">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/last.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.last_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/pos.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.last_id35961724"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template last</span></h2>
+<p>boost::enums::last</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.last_hpp" title="Header &lt;boost/enums/last.hpp&gt;">boost/enums/last.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">constexpr</span> <span class="identifier">EC</span> <span class="identifier">last</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36364428"></a><h2>Description</h2>
+<p>Returns the the last element of an enumeration Throws: Nothing </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/last.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.last_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/pos.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/linear_enum_traiter.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/linear_enum_traiter.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template linear_enum_traiter</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_traiter_hpp" title="Header &lt;boost/enums/enum_traiter.hpp&gt;">
+<link rel="prev" href="underlying_type.html" title="Struct template underlying_type">
+<link rel="next" href="meta/enum_traits.html" title="Struct template enum_traits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="underlying_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_traiter_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/enum_traits.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.linear_enum_traiter"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template linear_enum_traiter</span></h2>
+<p>boost::enums::linear_enum_traiter &#8212; Helper class used as <code class="computeroutput">enum_trait&lt;&gt;</code> for enumerations having a linear progression. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_traiter_hpp" title="Header &lt;boost/enums/enum_traiter.hpp&gt;">boost/enums/enum_traiter.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="linear_enum_traiter.html" title="Struct template linear_enum_traiter">linear_enum_traiter</a> <span class="special">{</span>
+
+ <span class="comment">// <a class="link" href="linear_enum_traiter.html#id35961514-bb">public static functions</a></span>
+ <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="linear_enum_traiter.html#id35961517-bb"><span class="identifier">pos</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="identifier">EC</span> <a class="link" href="linear_enum_traiter.html#id35961546-bb"><span class="identifier">val</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36363037"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id36363040"></a><h3>
+<a name="id35961514-bb"></a><code class="computeroutput">linear_enum_traiter</code> public static functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id35961517-bb"></a><span class="identifier">pos</span><span class="special">(</span><span class="identifier">EC</span> e<span class="special">)</span><span class="special">;</span></pre>pos specialization. <p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the returned value is calculated from the underlying value, the <code class="computeroutput">first_value</code> and the <code class="computeroutput">step</code>, following this formula <code class="computeroutput"></code>(ut-first_value)/step </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">EC</span> <a name="id35961546-bb"></a><span class="identifier">val</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> p<span class="special">)</span><span class="special">;</span></pre>val specialization. <p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the returned value is calculated from the position <code class="computeroutput">p</code>, the first value and the step, following this formula <code class="computeroutput">p*step+first_value</code> </p></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="underlying_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_traiter_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/enum_traits.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/make_range_id35967838.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/make_range_id35967838.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template make_range</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_range_hpp" title="Header &lt;boost/enums/enum_range.hpp&gt;">
+<link rel="prev" href="enum_range.html" title="Class template enum_range">
+<link rel="next" href="make_range_id35967871.html" title="Function template make_range">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_range_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_range_id35967871.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.make_range_id35967838"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template make_range</span></h2>
+<p>boost::enums::make_range &#8212; function to generate an enum range. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_range_hpp" title="Header &lt;boost/enums/enum_range.hpp&gt;">boost/enums/enum_range.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <a class="link" href="enum_range.html" title="Class template enum_range">enum_range</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="identifier">make_range</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36374242"></a><h2>Description</h2>
+<p><code class="computeroutput">make_range</code> allows treating enums as a model of the <span class="emphasis"><em>RandomAccessRange</em></span> Concept.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p><code class="computeroutput">EC</code> is a model of the <span class="emphasis"><em>Enumeration</em></span> Concept. </p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_range_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_range_id35967871.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/make_range_id35967871.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/make_range_id35967871.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template make_range</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_range_hpp" title="Header &lt;boost/enums/enum_range.hpp&gt;">
+<link rel="prev" href="make_range_id35967838.html" title="Function template make_range">
+<link rel="next" href="enum_set.html" title="Class template enum_set">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_range_id35967838.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_range_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_set.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.make_range_id35967871"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template make_range</span></h2>
+<p>boost::enums::make_range &#8212; function to generate an enum sub-range. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_range_hpp" title="Header &lt;boost/enums/enum_range.hpp&gt;">boost/enums/enum_range.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <a class="link" href="enum_range.html" title="Class template enum_range">enum_range</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="identifier">make_range</span><span class="special">(</span><span class="identifier">EC</span> first<span class="special">,</span> <span class="identifier">EC</span> last<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36374381"></a><h2>Description</h2>
+<p><code class="computeroutput">make_range</code> allows treating enums as a model of the <span class="emphasis"><em>RandomAccessRange</em></span> Concept. It should be noted that the first and last parameters denoted a closed range.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">first</code></span></p></td>
+<td><p>first element of the range </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">last</code></span></p></td>
+<td><p>last element of the range </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p><code class="computeroutput">EC</code> is a model of the <span class="emphasis"><em>Enumeration</em></span> Concept. </p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_range_id35967838.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_range_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_set.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/meta/enum_traits.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/meta/enum_traits.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template enum_traits</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../../index.html#header.boost.enums.enum_traits_hpp" title="Header &lt;boost/enums/enum_traits.hpp&gt;">
+<link rel="prev" href="../linear_enum_traiter.html" title="Struct template linear_enum_traiter">
+<link rel="next" href="first.html" title="Struct template first">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../linear_enum_traiter.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.enum_traits_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="first.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.meta.enum_traits"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template enum_traits</span></h2>
+<p>boost::enums::meta::enum_traits</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.enum_traits_hpp" title="Header &lt;boost/enums/enum_traits.hpp&gt;">boost/enums/enum_traits.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="enum_traits.html" title="Struct template enum_traits">enum_traits</a> <span class="special">{</span>
+
+ <span class="comment">// <a class="link" href="enum_traits.html#id35961609-bb">public static functions</a></span>
+ <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="enum_traits.html#id35961612-bb"><span class="identifier">pos</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="identifier">EC</span> <a class="link" href="enum_traits.html#id35961626-bb"><span class="identifier">val</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36363535"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id36363538"></a><h3>
+<a name="id35961609-bb"></a><code class="computeroutput">enum_traits</code> public static functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id35961612-bb"></a><span class="identifier">pos</span><span class="special">(</span><span class="identifier">EC</span> e<span class="special">)</span><span class="special">;</span></pre>The specialization must define this function prototype. </li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">EC</span> <a name="id35961626-bb"></a><span class="identifier">val</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> p<span class="special">)</span><span class="special">;</span></pre>The specialization must define this function prototype. </li>
+</ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../linear_enum_traiter.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.enum_traits_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="first.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/meta/first.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/meta/first.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template first</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../../index.html#header.boost.enums.first_hpp" title="Header &lt;boost/enums/first.hpp&gt;">
+<link rel="prev" href="enum_traits.html" title="Struct template enum_traits">
+<link rel="next" href="../first_id35961669.html" title="Function template first">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_traits.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.first_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../first_id35961669.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.meta.first"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template first</span></h2>
+<p>boost::enums::meta::first &#8212; meta-function: first element of an enumeration </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.first_hpp" title="Header &lt;boost/enums/first.hpp&gt;">boost/enums/first.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="first.html" title="Struct template first">first</a> <span class="special">{</span>
+
+ <span class="comment">// public data members</span>
+ <span class="identifier">constexpr</span> <span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_traits.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.first_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../first_id35961669.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/meta/last.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/meta/last.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template last</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../../index.html#header.boost.enums.last_hpp" title="Header &lt;boost/enums/last.hpp&gt;">
+<link rel="prev" href="../first_id35961669.html" title="Function template first">
+<link rel="next" href="../last_id35961724.html" title="Function template last">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../first_id35961669.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.last_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../last_id35961724.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.meta.last"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template last</span></h2>
+<p>boost::enums::meta::last &#8212; meta-function: first element of an enumeration </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.last_hpp" title="Header &lt;boost/enums/last.hpp&gt;">boost/enums/last.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="last.html" title="Struct template last">last</a> <span class="special">{</span>
+
+ <span class="comment">// public data members</span>
+ <span class="identifier">constexpr</span> <span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../first_id35961669.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.last_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../last_id35961724.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/meta/pos.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/meta/pos.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template pos</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../../index.html#header.boost.enums.pos_hpp" title="Header &lt;boost/enums/pos.hpp&gt;">
+<link rel="prev" href="../last_id35961724.html" title="Function template last">
+<link rel="next" href="../pos_id35961787.html" title="Function template pos">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../last_id35961724.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.pos_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pos_id35961787.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.meta.pos"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template pos</span></h2>
+<p>boost::enums::meta::pos</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.pos_hpp" title="Header &lt;boost/enums/pos.hpp&gt;">boost/enums/pos.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> V<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="pos.html" title="Struct template pos">pos</a> <span class="special">{</span>
+
+ <span class="comment">// public data members</span>
+ <span class="identifier">constexpr</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36364815"></a><h2>Description</h2>
+<p>meta-function used to associate the an element of an enumeration to its relative position.
+</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../last_id35961724.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.pos_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pos_id35961787.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/meta/pred.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/meta/pred.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template pred</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../../index.html#header.boost.enums.pred_hpp" title="Header &lt;boost/enums/pred.hpp&gt;">
+<link rel="prev" href="../pos_id35961787.html" title="Function template pos">
+<link rel="next" href="../pred_id35961885.html" title="Function template pred">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../pos_id35961787.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.pred_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pred_id35961885.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.meta.pred"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template pred</span></h2>
+<p>boost::enums::meta::pred</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.pred_hpp" title="Header &lt;boost/enums/pred.hpp&gt;">boost/enums/pred.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> V<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="pred.html" title="Struct template pred">pred</a> <span class="special">{</span>
+
+ <span class="comment">// public data members</span>
+ <span class="identifier">constexpr</span> <span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36365371"></a><h2>Description</h2>
+<p>meta-function that gets the predecessor of an enumeration element Pre-condition: the position must be not 0 </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../pos_id35961787.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.pred_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pred_id35961885.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/meta/size.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/meta/size.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template size</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../../index.html#header.boost.enums.size_hpp" title="Header &lt;boost/enums/size.hpp&gt;">
+<link rel="prev" href="../pred_id35961885.html" title="Function template pred">
+<link rel="next" href="succ.html" title="Struct template succ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../pred_id35961885.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.size_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="succ.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.meta.size"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template size</span></h2>
+<p>boost::enums::meta::size &#8212; meta-function used to get the number of elements of an enumeration. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.size_hpp" title="Header &lt;boost/enums/size.hpp&gt;">boost/enums/size.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="size.html" title="Struct template size">size</a> <span class="special">{</span>
+
+ <span class="comment">// public data members</span>
+ <span class="identifier">constexpr</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36365766"></a><h2>Description</h2>
+<p>
+</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../pred_id35961885.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.size_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="succ.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/meta/succ.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/meta/succ.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template succ</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../../index.html#header.boost.enums.succ_hpp" title="Header &lt;boost/enums/succ.hpp&gt;">
+<link rel="prev" href="size.html" title="Struct template size">
+<link rel="next" href="../succ_id35962011.html" title="Function template succ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="size.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.succ_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../succ_id35962011.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.meta.succ"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template succ</span></h2>
+<p>boost::enums::meta::succ</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.succ_hpp" title="Header &lt;boost/enums/succ.hpp&gt;">boost/enums/succ.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> V<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="succ.html" title="Struct template succ">succ</a> <span class="special">{</span>
+
+ <span class="comment">// public data members</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36366165"></a><h2>Description</h2>
+<p>meta-function that gets the successor of an enumeration element Pre-condition: the position must not be the last one </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="size.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.succ_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../succ_id35962011.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/meta/val.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/meta/val.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template val</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../../index.html#header.boost.enums.val_hpp" title="Header &lt;boost/enums/val.hpp&gt;">
+<link rel="prev" href="../succ_id35962011.html" title="Function template succ">
+<link rel="next" href="../val_id35962091.html" title="Function template val">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../succ_id35962011.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.val_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../val_id35962091.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.meta.val"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template val</span></h2>
+<p>boost::enums::meta::val &#8212; meta-function used to associate the position to an element of an enumeration. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.val_hpp" title="Header &lt;boost/enums/val.hpp&gt;">boost/enums/val.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> I<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="val.html" title="Struct template val">val</a> <span class="special">{</span>
+
+ <span class="comment">// public data members</span>
+ <span class="identifier">constexpr</span> <span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36366630"></a><h2>Description</h2>
+<p>
+</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../succ_id35962011.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../index.html#header.boost.enums.val_hpp"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../val_id35962091.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/operator^.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/operator^.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template operator^</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">
+<link rel="prev" href="operator_id35968955.html" title="Function template operator|">
+<link rel="next" href="operator_id35969032.html" title="Function template operator&gt;&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_id35968955.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_id35969032.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.operator%5E"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator^</span></h2>
+<p>boost::enums::operator^ &#8212; Exclusive union. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">boost/enums/enum_set.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">^</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> x<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36380706"></a><h2>Description</h2>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>enum_set&lt;EC&gt;(lhs) ^= rhs. </p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_id35968955.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_id35969032.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/operator_.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/operator_.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template operator&amp;</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">
+<link rel="prev" href="enum_set/reference.html" title="Struct reference">
+<link rel="next" href="operator_id35968955.html" title="Function template operator|">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_set/reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_id35968955.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.operator&amp;"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&amp;</span></h2>
+<p>boost::enums::operator&amp; &#8212; Intersection. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">boost/enums/enum_set.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">&amp;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> x<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36380346"></a><h2>Description</h2>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>enum_set&lt;EC&gt;(lhs) &amp;= rhs. </p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_set/reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_id35968955.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/operator__.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/operator__.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template operator!=</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">
+<link rel="prev" href="operator_id35967488.html" title="Function template operator&lt;">
+<link rel="next" href="operator_id35967565.html" title="Function template operator&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_id35967488.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_id35967565.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.operator!="></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator!=</span></h2>
+<p>boost::enums::operator!=</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">boost/enums/enum_array.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> x<span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36372578"></a><h2>Description</h2>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>!(x == y) </p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_id35967488.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_id35967565.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/operator___id35967603.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/operator___id35967603.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template operator&lt;=</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">
+<link rel="prev" href="operator_id35967565.html" title="Function template operator&gt;">
+<link rel="next" href="operator___id35967641.html" title="Function template operator&gt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_id35967565.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator___id35967641.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.operator_=_id35967603"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;=</span></h2>
+<p>boost::enums::operator&lt;=</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">boost/enums/enum_array.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> x<span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36372962"></a><h2>Description</h2>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>!(y&lt;x) </p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_id35967565.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator___id35967641.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/operator___id35967641.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/operator___id35967641.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template operator&gt;=</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">
+<link rel="prev" href="operator___id35967603.html" title="Function template operator&lt;=">
+<link rel="next" href="swap.html" title="Function template swap">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator___id35967603.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="swap.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.operator_=_id35967641"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&gt;=</span></h2>
+<p>boost::enums::operator&gt;=</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">boost/enums/enum_array.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> x<span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36373155"></a><h2>Description</h2>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>!(x&lt;y) </p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator___id35967603.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="swap.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35967488.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35967488.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template operator&lt;</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">
+<link rel="prev" href="operator__.html" title="Function template operator==">
+<link rel="next" href="operator__.html" title="Function template operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator__.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator__.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.operator_id35967488"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;</span></h2>
+<p>boost::enums::operator&lt;</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">boost/enums/enum_array.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> x<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36372385"></a><h2>Description</h2>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()) </p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator__.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator__.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35967565.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35967565.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template operator&gt;</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">
+<link rel="prev" href="operator__.html" title="Function template operator!=">
+<link rel="next" href="operator___id35967603.html" title="Function template operator&lt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator__.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator___id35967603.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.operator_id35967565"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&gt;</span></h2>
+<p>boost::enums::operator&gt;</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">boost/enums/enum_array.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> x<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36372770"></a><h2>Description</h2>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>y &lt; x </p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator__.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator___id35967603.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35968955.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35968955.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template operator|</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">
+<link rel="prev" href="operator_.html" title="Function template operator&amp;">
+<link rel="next" href="operator%5E.html" title="Function template operator^">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator%5E.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.operator_id35968955"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator|</span></h2>
+<p>boost::enums::operator| &#8212; Union. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">boost/enums/enum_set.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">|</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> x<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36380526"></a><h2>Description</h2>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>enum_set&lt;EC&gt;&gt;(lhs) |= rhs. </p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator%5E.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35969032.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35969032.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template operator&gt;&gt;</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">
+<link rel="prev" href="operator%5E.html" title="Function template operator^">
+<link rel="next" href="operator_id35969130.html" title="Function template operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator%5E.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_id35969130.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.operator_id35969032"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&gt;&gt;</span></h2>
+<p>boost::enums::operator&gt;&gt; &#8212; A formatted input function. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">boost/enums/enum_set.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> charT<span class="special">,</span> <span class="keyword">typename</span> ch_traits<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span> <span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ch_traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span>
+ <span class="keyword">operator</span><span class="special">&gt;&gt;</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span> <span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ch_traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> is<span class="special">,</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> x<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36380936"></a><h2>Description</h2>
+<p><span class="bold"><strong> Effects:</strong></span> Extracts up to <code class="computeroutput">N</code> characters from is. Stores these characters in a temporary object <code class="computeroutput">str</code> of type <code class="computeroutput">basic_string&lt;charT, traits&gt;</code>, then evaluates the expression <code class="computeroutput">x = enum_set&lt;EC&gt;(str)</code>. Characters are extracted and stored until any of the following occurs:</p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem"><p><code class="computeroutput">N</code> characters have been extracted and stored;</p></li>
+<li class="listitem"><p>end-of-file occurs on the input sequence;</p></li>
+<li class="listitem"><p>the next input character is neither <code class="computeroutput">is.widen</code>('0') nor <code class="computeroutput">is.widen</code>('1') (in which case the input character is not extracted).<br>
+ If no characters are stored in <code class="computeroutput">str</code>, calls <code class="computeroutput">is.setstate(ios_base::failbit)</code> (which may throw <code class="computeroutput">ios_- base::failure</code>).
+
+</p></li>
+</ul></div>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">is</code></span></p></td>
+<td><p>the input stream. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">x</code></span></p></td>
+<td><p>the <code class="computeroutput">enum_set</code>. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator%5E.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_id35969130.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35969130.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/operator_id35969130.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template operator&lt;&lt;</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">
+<link rel="prev" href="operator_id35969032.html" title="Function template operator&gt;&gt;">
+<link rel="next" href="../hash_enums_enum_set_EC_id35967943.html" title="Struct template hash&lt;enums::enum_set&lt; EC &gt;&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_id35969032.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../hash_enums_enum_set_EC_id35967943.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.operator_id35969130"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template operator&lt;&lt;</span></h2>
+<p>boost::enums::operator&lt;&lt; &#8212; A formatted output function. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">boost/enums/enum_set.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> charT<span class="special">,</span> <span class="keyword">typename</span> ch_traits<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ch_traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span>
+ <span class="keyword">operator</span><span class="special">&lt;&lt;</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ch_traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> os<span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> x<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36381275"></a><h2>Description</h2>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">os</code></span></p></td>
+<td><p>the output stream. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">x</code></span></p></td>
+<td><p>the <code class="computeroutput">enum_set</code>. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">os &lt;&lt; x.template to_string&lt;charT,traits,allocator&lt;charT&gt; &gt;( use_facet&lt;ctype&lt;charT&gt; &gt;(os.getloc()).widen('0'), use_facet&lt;ctype&lt;charT&gt; &gt;(os.getloc()).widen('1'))</code> </p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_id35969032.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../hash_enums_enum_set_EC_id35967943.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/pos_id35961787.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/pos_id35961787.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template pos</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.pos_hpp" title="Header &lt;boost/enums/pos.hpp&gt;">
+<link rel="prev" href="meta/pos.html" title="Struct template pos">
+<link rel="next" href="meta/pred.html" title="Struct template pred">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/pos.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.pos_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/pred.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.pos_id35961787"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template pos</span></h2>
+<p>boost::enums::pos &#8212; position of an enum literal <code class="computeroutput">e</code> on the extension of the enumeration type <code class="computeroutput">EC</code>. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.pos_hpp" title="Header &lt;boost/enums/pos.hpp&gt;">boost/enums/pos.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">pos</span><span class="special">(</span><span class="identifier">EC</span> e<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36364919"></a><h2>Description</h2>
+<p>The <code class="computeroutput">enum_traits</code> class must be specialized and contain a <code class="computeroutput">pos</code> function that returns the relative position of its argument <code class="computeroutput">e</code>.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">e</code></span></p></td>
+<td><p>the enum literal </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the associated position </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/pos.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.pos_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/pred.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/pred_id35961885.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/pred_id35961885.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template pred</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.pred_hpp" title="Header &lt;boost/enums/pred.hpp&gt;">
+<link rel="prev" href="meta/pred.html" title="Struct template pred">
+<link rel="next" href="meta/size.html" title="Struct template size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/pred.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.pred_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.pred_id35961885"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template pred</span></h2>
+<p>boost::enums::pred</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.pred_hpp" title="Header &lt;boost/enums/pred.hpp&gt;">boost/enums/pred.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">constexpr</span> <span class="identifier">EC</span> <span class="identifier">pred</span><span class="special">(</span><span class="identifier">EC</span> e<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36365460"></a><h2>Description</h2>
+<p>Returns: the predecessor of the enumeration element Throws: Invalid parameter if the position is 0 </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/pred.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.pred_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/succ_id35962011.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/succ_id35962011.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template succ</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.succ_hpp" title="Header &lt;boost/enums/succ.hpp&gt;">
+<link rel="prev" href="meta/succ.html" title="Struct template succ">
+<link rel="next" href="meta/val.html" title="Struct template val">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/succ.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.succ_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/val.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.succ_id35962011"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template succ</span></h2>
+<p>boost::enums::succ &#8212; enum succesor. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.succ_hpp" title="Header &lt;boost/enums/succ.hpp&gt;">boost/enums/succ.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">EC</span> <span class="identifier">succ</span><span class="special">(</span><span class="identifier">EC</span> e<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36366250"></a><h2>Description</h2>
+<p>param e the enum literal.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the successor of the enumeration element. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Invalid </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/succ.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.succ_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="meta/val.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/swap.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/swap.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template swap</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">
+<link rel="prev" href="operator___id35967641.html" title="Function template operator&gt;=">
+<link rel="next" href="get_c_array_id35967730.html" title="Function template get_c_array">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator___id35967641.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_c_array_id35967730.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.swap"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template swap</span></h2>
+<p>boost::enums::swap &#8212; enum_array's swap </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.enum_array_hpp" title="Header &lt;boost/enums/enum_array.hpp&gt;">boost/enums/enum_array.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> x<span class="special">,</span> <a class="link" href="enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36373333"></a><h2>Description</h2>
+<p><span class="bold"><strong>Effects:</strong></span> As </p>
+<pre class="programlisting"> x.swap(y);
+</pre>
+<p> <span class="bold"><strong>Complexity:</strong></span> linear in <code class="computeroutput">meta::size&lt;EC&gt;::value</code>. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator___id35967641.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.enum_array_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_c_array_id35967730.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/underlying_type.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/underlying_type.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template underlying_type</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.underlying_type_hpp" title="Header &lt;boost/enums/underlying_type.hpp&gt;">
+<link rel="prev" href="enum_type_no_cons.html" title="Class template enum_type_no_cons">
+<link rel="next" href="linear_enum_traiter.html" title="Struct template linear_enum_traiter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_type_no_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.underlying_type_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linear_enum_traiter.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.underlying_type"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template underlying_type</span></h2>
+<p>boost::enums::underlying_type &#8212; underlying type metafunction </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.underlying_type_hpp" title="Header &lt;boost/enums/underlying_type.hpp&gt;">boost/enums/underlying_type.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="underlying_type.html" title="Struct template underlying_type">underlying_type</a> <span class="special">{</span>
+ <span class="comment">// <a class="link" href="underlying_type.html#boost.enums.underlying_typetypes">types</a></span>
+ <span class="keyword">typedef</span> <span class="identifier">see_below</span> <a class="link" href="underlying_type.html#boost.enums.underlying_type.type"><span class="identifier">type</span></a><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36362501"></a><h2>Description</h2>
+<p><code class="computeroutput">EC</code> must be an enum type or the emulation of a scoped enum.<br>
+<br>
+ </p>
+<div class="refsect2">
+<a name="id36362516"></a><h3>
+<a name="boost.enums.underlying_typetypes"></a><code class="computeroutput">underlying_type</code>
+ public
+ types</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+<p>
+<span class="keyword">typedef</span> <span class="identifier">see_below</span> <a name="boost.enums.underlying_type.type"></a><span class="identifier">type</span><span class="special">;</span></p>
+<p>The member typedef <code class="computeroutput">type</code> name the underlying type of <code class="computeroutput">T</code>. When scoped enums are emulated it is defined as <code class="computeroutput">typename</code> <code class="computeroutput">EC::underlying_type</code>. Otherwise is defined as <code class="computeroutput">std::underlying_type&lt;EC&gt;::type</code>. This meta-function must be specialized for the compilers providing scoped enums but don't providing the <code class="computeroutput">std::underlying_type</code> meta-function. </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_type_no_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.underlying_type_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linear_enum_traiter.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/enums/val_id35962091.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/enums/val_id35962091.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function template val</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.val_hpp" title="Header &lt;boost/enums/val.hpp&gt;">
+<link rel="prev" href="meta/val.html" title="Struct template val">
+<link rel="next" href="enum_array.html" title="Class template enum_array">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/val.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.val_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_array.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.enums.val_id35962091"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function template val</span></h2>
+<p>boost::enums::val &#8212; Value. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.val_hpp" title="Header &lt;boost/enums/val.hpp&gt;">boost/enums/val.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">EC</span> <span class="identifier">val</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> p<span class="special">)</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36366723"></a><h2>Description</h2>
+<p>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
+<td><p>the position </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The enum class element associated to the position <code class="computeroutput">p</code>. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>std::out_of_range </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta/val.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.val_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_array.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/hash_enums_enum_set_EC_id35967943.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/hash_enums_enum_set_EC_id35967943.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template hash&lt;enums::enum_set&lt; EC &gt;&gt;</title>
+<link rel="stylesheet" href=".././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">
+<link rel="prev" href="enums/operator_id35969130.html" title="Function template operator&lt;&lt;">
+<link rel="next" href="mpl/enum_c.html" title="Struct template enum_c">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enums/operator_id35969130.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mpl/enum_c.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.hash_enums_enum_set_EC_id35967943"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template hash&lt;enums::enum_set&lt; EC &gt;&gt;</span></h2>
+<p>boost::hash&lt;enums::enum_set&lt; EC &gt;&gt; &#8212; hash template specialization </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../index.html#header.boost.enums.enum_set_hpp" title="Header &lt;boost/enums/enum_set.hpp&gt;">boost/enums/enum_set.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="hash_enums_enum_set_EC_id35967943.html" title="Struct template hash&lt;enums::enum_set&lt; EC &gt;&gt;">hash</a><span class="special">&lt;</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">enum_set</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
+
+ <span class="comment">// <a class="link" href="hash_enums_enum_set_EC_id35967943.html#id35967957-bb">public member functions</a></span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="hash_enums_enum_set_EC_id35967943.html#id35967960-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enums/enum_set.html" title="Class template enum_set">enums::enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36381538"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id36381541"></a><h3>
+<a name="id35967957-bb"></a><code class="computeroutput">hash</code> public member functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id35967960-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="enums/enum_set.html" title="Class template enum_set">enums::enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span> bs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p>the template specialization meets the requirements of class template <code class="computeroutput">hash</code>. </p>
+</li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enums/operator_id35969130.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html#header.boost.enums.enum_set_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mpl/enum_c.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/enum_c.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/enum_c.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template enum_c</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.mpl.enum_c_hpp" title="Header &lt;boost/enums/mpl/enum_c.hpp&gt;">
+<link rel="prev" href="../hash_enums_enum_set_EC_id35967943.html" title="Struct template hash&lt;enums::enum_set&lt; EC &gt;&gt;">
+<link rel="next" href="enum_c_tag.html" title="Struct enum_c_tag">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../hash_enums_enum_set_EC_id35967943.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.enum_c_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_c_tag.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.enum_c"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template enum_c</span></h2>
+<p>boost::mpl::enum_c</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.mpl.enum_c_hpp" title="Header &lt;boost/enums/mpl/enum_c.hpp&gt;">boost/enums/mpl/enum_c.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> V<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="enum_c.html" title="Struct template enum_c">enum_c</a> <span class="special">{</span>
+ <span class="comment">// types</span>
+ <span class="keyword">typedef</span> <a class="link" href="enum_c_tag.html" title="Struct enum_c_tag">enum_c_tag</a> <a name="boost.mpl.enum_c.tag"></a><span class="identifier">tag</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <a class="link" href="enum_c.html" title="Struct template enum_c">enum_c</a> <a name="boost.mpl.enum_c.type"></a><span class="identifier">type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><a class="link" href="enum_c.html#boost.mpl.enum_c.type">type</a> <a name="boost.mpl.enum_c.value_type"></a><span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">underlying_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><a class="link" href="enum_c.html#boost.mpl.enum_c.type">type</a> <a name="boost.mpl.enum_c.underlying_type"></a><span class="identifier">underlying_type</span><span class="special">;</span>
+
+ <span class="comment">// <a class="link" href="enum_c.html#id35962967-bb">public member functions</a></span>
+ <a class="link" href="enum_c.html#id35962970-bb"><span class="keyword">operator</span> <span class="identifier">value_type</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// public data members</span>
+ <span class="identifier">constexpr</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><a class="link" href="enum_c.html#boost.mpl.enum_c.type">type</a> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36382202"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id36382206"></a><h3>
+<a name="id35962967-bb"></a><code class="computeroutput">enum_c</code> public member functions</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><pre class="literallayout"><a name="id35962970-bb"></a><span class="keyword">operator</span> <span class="identifier">value_type</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../hash_enums_enum_set_EC_id35967943.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.enum_c_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_c_tag.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/enum_c_tag.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/enum_c_tag.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct enum_c_tag</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.mpl.enum_c_tag_hpp" title="Header &lt;boost/enums/mpl/enum_c_tag.hpp&gt;">
+<link rel="prev" href="enum_c.html" title="Struct template enum_c">
+<link rel="next" href="enum_range_c.html" title="Struct template enum_range_c">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_c.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.enum_c_tag_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_range_c.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.enum_c_tag"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct enum_c_tag</span></h2>
+<p>boost::mpl::enum_c_tag &#8212; Tag for the enum constants. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.mpl.enum_c_tag_hpp" title="Header &lt;boost/enums/mpl/enum_c_tag.hpp&gt;">boost/enums/mpl/enum_c_tag.hpp</a>&gt;
+
+</span>
+<span class="keyword">struct</span> <a class="link" href="enum_c_tag.html" title="Struct enum_c_tag">enum_c_tag</a> <span class="special">{</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_c.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.enum_c_tag_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enum_range_c.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/enum_range_c.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/enum_range_c.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template enum_range_c</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.mpl.enum_range_c_hpp" title="Header &lt;boost/enums/mpl/enum_range_c.hpp&gt;">
+<link rel="prev" href="enum_c_tag.html" title="Struct enum_c_tag">
+<link rel="next" href="equal_to_impl_enum_c_ta_id35963068.html" title="Struct equal_to_impl&lt;enum_c_tag, enum_c_tag&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_c_tag.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.enum_range_c_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="equal_to_impl_enum_c_ta_id35963068.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.enum_range_c"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template enum_range_c</span></h2>
+<p>boost::mpl::enum_range_c</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.mpl.enum_range_c_hpp" title="Header &lt;boost/enums/mpl/enum_range_c.hpp&gt;">boost/enums/mpl/enum_range_c.hpp</a>&gt;
+
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> Start <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> Finish <span class="special">=</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">size</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="enum_range_c.html" title="Struct template enum_range_c">enum_range_c</a> <span class="special">{</span>
+ <span class="comment">// types</span>
+ <span class="keyword">typedef</span> <span class="identifier">aux</span><span class="special">::</span><span class="identifier">half_open_enum_range_tag</span> <a name="boost.mpl.enum_range_c.tag"></a><span class="identifier">tag</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">EC</span> <a name="boost.mpl.enum_range_c.value_type"></a><span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <a class="link" href="enum_range_c.html" title="Struct template enum_range_c">enum_range_c</a> <a name="boost.mpl.enum_range_c.type"></a><span class="identifier">type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <a class="link" href="enum_c.html" title="Struct template enum_c">enum_c</a><span class="special">&lt;</span> <span class="identifier">EC</span><span class="special">,</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">val</span><span class="special">&lt;</span> <span class="identifier">EC</span><span class="special">,</span> <span class="identifier">Start</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span> <span class="special">&gt;</span> <a name="boost.mpl.enum_range_c.start"></a><span class="identifier">start</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">enum_r_iter</span><span class="special">&lt;</span> <span class="identifier">EC</span><span class="special">,</span> <span class="identifier">integral_c</span><span class="special">&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">Start</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <a name="boost.mpl.enum_range_c.begin"></a><span class="identifier">begin</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">enum_r_iter</span><span class="special">&lt;</span> <span class="identifier">EC</span><span class="special">,</span> <span class="identifier">integral_c</span><span class="special">&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">Finish</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <a name="boost.mpl.enum_range_c.end"></a><span class="identifier">end</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_c_tag.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.enum_range_c_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="equal_to_impl_enum_c_ta_id35963068.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/equal_to_impl_enum_c_ta_id35963068.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/equal_to_impl_enum_c_ta_id35963068.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct equal_to_impl&lt;enum_c_tag, enum_c_tag&gt;</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.mpl.equal_to_hpp" title="Header &lt;boost/enums/mpl/equal_to.hpp&gt;">
+<link rel="prev" href="enum_range_c.html" title="Struct template enum_range_c">
+<link rel="next" href="equal_to_impl_enum_c_ta_id35963068/apply.html" title="Struct template apply">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_range_c.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.equal_to_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="equal_to_impl_enum_c_ta_id35963068/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.equal_to_impl_enum_c_ta_id35963068"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct equal_to_impl&lt;enum_c_tag, enum_c_tag&gt;</span></h2>
+<p>boost::mpl::equal_to_impl&lt;enum_c_tag, enum_c_tag&gt; &#8212; <code class="computeroutput">equal_to_impl</code> specialization for <code class="computeroutput">enum_c_tag</code></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.mpl.equal_to_hpp" title="Header &lt;boost/enums/mpl/equal_to.hpp&gt;">boost/enums/mpl/equal_to.hpp</a>&gt;
+
+</span>
+<span class="keyword">struct</span> <a class="link" href="equal_to_impl_enum_c_ta_id35963068.html" title="Struct equal_to_impl&lt;enum_c_tag, enum_c_tag&gt;">equal_to_impl</a><span class="special">&lt;</span><span class="identifier">enum_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="comment">// member classes/structs/unions</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> E1<span class="special">,</span> <span class="keyword">typename</span> E2<span class="special">&gt;</span>
+ <span class="keyword">struct</span> <a class="link" href="equal_to_impl_enum_c_ta_id35963068/apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+ <span class="special">}</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36383366"></a><h2>Description</h2>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enum_range_c.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.equal_to_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="equal_to_impl_enum_c_ta_id35963068/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/equal_to_impl_enum_c_ta_id35963068/apply.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/equal_to_impl_enum_c_ta_id35963068/apply.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template apply</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../equal_to_impl_enum_c_ta_id35963068.html#id36383366" title="Description">
+<link rel="prev" href="../equal_to_impl_enum_c_ta_id35963068.html" title="Struct equal_to_impl&lt;enum_c_tag, enum_c_tag&gt;">
+<link rel="next" href="../greater_impl_enum_c_tag_id35963108.html" title="Struct greater_impl&lt;enum_c_tag, enum_c_tag&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../equal_to_impl_enum_c_ta_id35963068.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../equal_to_impl_enum_c_ta_id35963068.html#id36383366"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../greater_impl_enum_c_tag_id35963108.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.equal_to_impl_enum_c_ta_id35963068.apply"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template apply</span></h2>
+<p>boost::mpl::equal_to_impl&lt;enum_c_tag, enum_c_tag&gt;::apply</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.mpl.equal_to_hpp" title="Header &lt;boost/enums/mpl/equal_to.hpp&gt;">boost/enums/mpl/equal_to.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> E1<span class="special">,</span> <span class="keyword">typename</span> E2<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../equal_to_impl_enum_c_ta_id35963068.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../equal_to_impl_enum_c_ta_id35963068.html#id36383366"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../greater_impl_enum_c_tag_id35963108.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/greater_equal_impl_enum_id35963147.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/greater_equal_impl_enum_id35963147.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct greater_equal_impl&lt;enum_c_tag, enum_c_tag&gt;</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.mpl.greater_equal_hpp" title="Header &lt;boost/enums/mpl/greater_equal.hpp&gt;">
+<link rel="prev" href="greater_impl_enum_c_tag_id35963108/apply.html" title="Struct template apply">
+<link rel="next" href="greater_equal_impl_enum_id35963147/apply.html" title="Struct template apply">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greater_impl_enum_c_tag_id35963108/apply.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.greater_equal_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="greater_equal_impl_enum_id35963147/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.greater_equal_impl_enum_id35963147"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct greater_equal_impl&lt;enum_c_tag, enum_c_tag&gt;</span></h2>
+<p>boost::mpl::greater_equal_impl&lt;enum_c_tag, enum_c_tag&gt; &#8212; <code class="computeroutput">greater_equal_impl</code> specialization for <code class="computeroutput">enum_c_tag</code></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.mpl.greater_equal_hpp" title="Header &lt;boost/enums/mpl/greater_equal.hpp&gt;">boost/enums/mpl/greater_equal.hpp</a>&gt;
+
+</span>
+<span class="keyword">struct</span> <a class="link" href="greater_equal_impl_enum_id35963147.html" title="Struct greater_equal_impl&lt;enum_c_tag, enum_c_tag&gt;">greater_equal_impl</a><span class="special">&lt;</span><span class="identifier">enum_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="comment">// member classes/structs/unions</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> R1<span class="special">,</span> <span class="keyword">typename</span> R2<span class="special">&gt;</span>
+ <span class="keyword">struct</span> <a class="link" href="greater_equal_impl_enum_id35963147/apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+ <span class="special">}</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36384081"></a><h2>Description</h2>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greater_impl_enum_c_tag_id35963108/apply.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.greater_equal_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="greater_equal_impl_enum_id35963147/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/greater_equal_impl_enum_id35963147/apply.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/greater_equal_impl_enum_id35963147/apply.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template apply</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../greater_equal_impl_enum_id35963147.html#id36384081" title="Description">
+<link rel="prev" href="../greater_equal_impl_enum_id35963147.html" title="Struct greater_equal_impl&lt;enum_c_tag, enum_c_tag&gt;">
+<link rel="next" href="../less_impl_enum_c_tag__e_id35963187.html" title="Struct less_impl&lt;enum_c_tag, enum_c_tag&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../greater_equal_impl_enum_id35963147.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../greater_equal_impl_enum_id35963147.html#id36384081"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../less_impl_enum_c_tag__e_id35963187.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.greater_equal_impl_enum_id35963147.apply"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template apply</span></h2>
+<p>boost::mpl::greater_equal_impl&lt;enum_c_tag, enum_c_tag&gt;::apply</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.mpl.greater_equal_hpp" title="Header &lt;boost/enums/mpl/greater_equal.hpp&gt;">boost/enums/mpl/greater_equal.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> R1<span class="special">,</span> <span class="keyword">typename</span> R2<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../greater_equal_impl_enum_id35963147.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../greater_equal_impl_enum_id35963147.html#id36384081"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../less_impl_enum_c_tag__e_id35963187.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/greater_impl_enum_c_tag_id35963108.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/greater_impl_enum_c_tag_id35963108.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct greater_impl&lt;enum_c_tag, enum_c_tag&gt;</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.mpl.greater_hpp" title="Header &lt;boost/enums/mpl/greater.hpp&gt;">
+<link rel="prev" href="equal_to_impl_enum_c_ta_id35963068/apply.html" title="Struct template apply">
+<link rel="next" href="greater_impl_enum_c_tag_id35963108/apply.html" title="Struct template apply">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="equal_to_impl_enum_c_ta_id35963068/apply.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.greater_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="greater_impl_enum_c_tag_id35963108/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.greater_impl_enum_c_tag_id35963108"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct greater_impl&lt;enum_c_tag, enum_c_tag&gt;</span></h2>
+<p>boost::mpl::greater_impl&lt;enum_c_tag, enum_c_tag&gt; &#8212; <code class="computeroutput">greater_impl</code> specialization for <code class="computeroutput">enum_c_tag</code></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.mpl.greater_hpp" title="Header &lt;boost/enums/mpl/greater.hpp&gt;">boost/enums/mpl/greater.hpp</a>&gt;
+
+</span>
+<span class="keyword">struct</span> <a class="link" href="greater_impl_enum_c_tag_id35963108.html" title="Struct greater_impl&lt;enum_c_tag, enum_c_tag&gt;">greater_impl</a><span class="special">&lt;</span><span class="identifier">enum_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="comment">// member classes/structs/unions</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> R1<span class="special">,</span> <span class="keyword">typename</span> R2<span class="special">&gt;</span>
+ <span class="keyword">struct</span> <a class="link" href="greater_impl_enum_c_tag_id35963108/apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+ <span class="special">}</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36383724"></a><h2>Description</h2>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="equal_to_impl_enum_c_ta_id35963068/apply.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.greater_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="greater_impl_enum_c_tag_id35963108/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/greater_impl_enum_c_tag_id35963108/apply.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/greater_impl_enum_c_tag_id35963108/apply.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template apply</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../greater_impl_enum_c_tag_id35963108.html#id36383724" title="Description">
+<link rel="prev" href="../greater_impl_enum_c_tag_id35963108.html" title="Struct greater_impl&lt;enum_c_tag, enum_c_tag&gt;">
+<link rel="next" href="../greater_equal_impl_enum_id35963147.html" title="Struct greater_equal_impl&lt;enum_c_tag, enum_c_tag&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../greater_impl_enum_c_tag_id35963108.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../greater_impl_enum_c_tag_id35963108.html#id36383724"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../greater_equal_impl_enum_id35963147.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.greater_impl_enum_c_tag_id35963108.apply"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template apply</span></h2>
+<p>boost::mpl::greater_impl&lt;enum_c_tag, enum_c_tag&gt;::apply</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.mpl.greater_hpp" title="Header &lt;boost/enums/mpl/greater.hpp&gt;">boost/enums/mpl/greater.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> R1<span class="special">,</span> <span class="keyword">typename</span> R2<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../greater_impl_enum_c_tag_id35963108.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../greater_impl_enum_c_tag_id35963108.html#id36383724"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../greater_equal_impl_enum_id35963147.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/less_equal_impl_enum_c__id35963227.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/less_equal_impl_enum_c__id35963227.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct less_equal_impl&lt;enum_c_tag, enum_c_tag&gt;</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.mpl.less_equal_hpp" title="Header &lt;boost/enums/mpl/less_equal.hpp&gt;">
+<link rel="prev" href="less_impl_enum_c_tag__e_id35963187/apply.html" title="Struct template apply">
+<link rel="next" href="less_equal_impl_enum_c__id35963227/apply.html" title="Struct template apply">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="less_impl_enum_c_tag__e_id35963187/apply.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.less_equal_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="less_equal_impl_enum_c__id35963227/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.less_equal_impl_enum_c__id35963227"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct less_equal_impl&lt;enum_c_tag, enum_c_tag&gt;</span></h2>
+<p>boost::mpl::less_equal_impl&lt;enum_c_tag, enum_c_tag&gt; &#8212; <code class="computeroutput">less_equal_impl</code> specialization for <code class="computeroutput">enum_c_tag</code></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.mpl.less_equal_hpp" title="Header &lt;boost/enums/mpl/less_equal.hpp&gt;">boost/enums/mpl/less_equal.hpp</a>&gt;
+
+</span>
+<span class="keyword">struct</span> <a class="link" href="less_equal_impl_enum_c__id35963227.html" title="Struct less_equal_impl&lt;enum_c_tag, enum_c_tag&gt;">less_equal_impl</a><span class="special">&lt;</span><span class="identifier">enum_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="comment">// member classes/structs/unions</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> R1<span class="special">,</span> <span class="keyword">typename</span> R2<span class="special">&gt;</span>
+ <span class="keyword">struct</span> <a class="link" href="less_equal_impl_enum_c__id35963227/apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+ <span class="special">}</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36384792"></a><h2>Description</h2>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="less_impl_enum_c_tag__e_id35963187/apply.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.less_equal_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="less_equal_impl_enum_c__id35963227/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/less_equal_impl_enum_c__id35963227/apply.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/less_equal_impl_enum_c__id35963227/apply.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template apply</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../less_equal_impl_enum_c__id35963227.html#id36384792" title="Description">
+<link rel="prev" href="../less_equal_impl_enum_c__id35963227.html" title="Struct less_equal_impl&lt;enum_c_tag, enum_c_tag&gt;">
+<link rel="next" href="../numeric_cast_integral_c_id35963266.html" title="Struct numeric_cast&lt;integral_c_tag, enum_c_tag&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../less_equal_impl_enum_c__id35963227.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../less_equal_impl_enum_c__id35963227.html#id36384792"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../numeric_cast_integral_c_id35963266.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.less_equal_impl_enum_c__id35963227.apply"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template apply</span></h2>
+<p>boost::mpl::less_equal_impl&lt;enum_c_tag, enum_c_tag&gt;::apply</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.mpl.less_equal_hpp" title="Header &lt;boost/enums/mpl/less_equal.hpp&gt;">boost/enums/mpl/less_equal.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> R1<span class="special">,</span> <span class="keyword">typename</span> R2<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../less_equal_impl_enum_c__id35963227.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../less_equal_impl_enum_c__id35963227.html#id36384792"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../numeric_cast_integral_c_id35963266.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/less_impl_enum_c_tag__e_id35963187.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/less_impl_enum_c_tag__e_id35963187.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct less_impl&lt;enum_c_tag, enum_c_tag&gt;</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.mpl.less_hpp" title="Header &lt;boost/enums/mpl/less.hpp&gt;">
+<link rel="prev" href="greater_equal_impl_enum_id35963147/apply.html" title="Struct template apply">
+<link rel="next" href="less_impl_enum_c_tag__e_id35963187/apply.html" title="Struct template apply">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greater_equal_impl_enum_id35963147/apply.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.less_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="less_impl_enum_c_tag__e_id35963187/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.less_impl_enum_c_tag,_e_id35963187"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct less_impl&lt;enum_c_tag, enum_c_tag&gt;</span></h2>
+<p>boost::mpl::less_impl&lt;enum_c_tag, enum_c_tag&gt; &#8212; <code class="computeroutput">less_impl</code> specialization for <code class="computeroutput">enum_c_tag</code></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.mpl.less_hpp" title="Header &lt;boost/enums/mpl/less.hpp&gt;">boost/enums/mpl/less.hpp</a>&gt;
+
+</span>
+<span class="keyword">struct</span> <a class="link" href="less_impl_enum_c_tag__e_id35963187.html" title="Struct less_impl&lt;enum_c_tag, enum_c_tag&gt;">less_impl</a><span class="special">&lt;</span><span class="identifier">enum_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="comment">// member classes/structs/unions</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> R1<span class="special">,</span> <span class="keyword">typename</span> R2<span class="special">&gt;</span>
+ <span class="keyword">struct</span> <a class="link" href="less_impl_enum_c_tag__e_id35963187/apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+ <span class="special">}</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36384437"></a><h2>Description</h2>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greater_equal_impl_enum_id35963147/apply.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.less_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="less_impl_enum_c_tag__e_id35963187/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/less_impl_enum_c_tag__e_id35963187/apply.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/less_impl_enum_c_tag__e_id35963187/apply.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template apply</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../less_impl_enum_c_tag__e_id35963187.html#id36384437" title="Description">
+<link rel="prev" href="../less_impl_enum_c_tag__e_id35963187.html" title="Struct less_impl&lt;enum_c_tag, enum_c_tag&gt;">
+<link rel="next" href="../less_equal_impl_enum_c__id35963227.html" title="Struct less_equal_impl&lt;enum_c_tag, enum_c_tag&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../less_impl_enum_c_tag__e_id35963187.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../less_impl_enum_c_tag__e_id35963187.html#id36384437"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../less_equal_impl_enum_c__id35963227.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.less_impl_enum_c_tag,_e_id35963187.apply"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template apply</span></h2>
+<p>boost::mpl::less_impl&lt;enum_c_tag, enum_c_tag&gt;::apply</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.mpl.less_hpp" title="Header &lt;boost/enums/mpl/less.hpp&gt;">boost/enums/mpl/less.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> R1<span class="special">,</span> <span class="keyword">typename</span> R2<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../less_impl_enum_c_tag__e_id35963187.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../less_impl_enum_c_tag__e_id35963187.html#id36384437"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../less_equal_impl_enum_c__id35963227.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/numeric_cast_integral_c_id35963266.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/numeric_cast_integral_c_id35963266.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct numeric_cast&lt;integral_c_tag, enum_c_tag&gt;</title>
+<link rel="stylesheet" href="../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../../index.html#header.boost.enums.mpl.numeric_cast_hpp" title="Header &lt;boost/enums/mpl/numeric_cast.hpp&gt;">
+<link rel="prev" href="less_equal_impl_enum_c__id35963227/apply.html" title="Struct template apply">
+<link rel="next" href="numeric_cast_integral_c_id35963266/apply.html" title="Struct template apply">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="less_equal_impl_enum_c__id35963227/apply.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.numeric_cast_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_cast_integral_c_id35963266/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.numeric_cast_integral_c_id35963266"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct numeric_cast&lt;integral_c_tag, enum_c_tag&gt;</span></h2>
+<p>boost::mpl::numeric_cast&lt;integral_c_tag, enum_c_tag&gt; &#8212; <code class="computeroutput">numeric_cast</code> specialization for <code class="computeroutput">integral_c_tag</code> and <code class="computeroutput">enum_c_tag</code></p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../index.html#header.boost.enums.mpl.numeric_cast_hpp" title="Header &lt;boost/enums/mpl/numeric_cast.hpp&gt;">boost/enums/mpl/numeric_cast.hpp</a>&gt;
+
+</span>
+<span class="keyword">struct</span> <a class="link" href="numeric_cast_integral_c_id35963266.html" title="Struct numeric_cast&lt;integral_c_tag, enum_c_tag&gt;">numeric_cast</a><span class="special">&lt;</span><span class="identifier">integral_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="comment">// member classes/structs/unions</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> N<span class="special">&gt;</span>
+ <span class="keyword">struct</span> <a class="link" href="numeric_cast_integral_c_id35963266/apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+ <span class="special">}</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+<div class="refsect1">
+<a name="id36385146"></a><h2>Description</h2>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="less_equal_impl_enum_c__id35963227/apply.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../index.html#header.boost.enums.mpl.numeric_cast_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_cast_integral_c_id35963266/apply.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/boost/mpl/numeric_cast_integral_c_id35963266/apply.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/boost/mpl/numeric_cast_integral_c_id35963266/apply.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Struct template apply</title>
+<link rel="stylesheet" href="../../.././boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="up" href="../numeric_cast_integral_c_id35963266.html#id36385146" title="Description">
+<link rel="prev" href="../numeric_cast_integral_c_id35963266.html" title="Struct numeric_cast&lt;integral_c_tag, enum_c_tag&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../numeric_cast_integral_c_id35963266.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_cast_integral_c_id35963266.html#id36385146"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a>
+</div>
+<div class="refentry">
+<a name="boost.mpl.numeric_cast_integral_c_id35963266.apply"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template apply</span></h2>
+<p>boost::mpl::numeric_cast&lt;integral_c_tag, enum_c_tag&gt;::apply</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../index.html#header.boost.enums.mpl.numeric_cast_hpp" title="Header &lt;boost/enums/mpl/numeric_cast.hpp&gt;">boost/enums/mpl/numeric_cast.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> N<span class="special">&gt;</span>
+<span class="keyword">struct</span> <a class="link" href="apply.html" title="Struct template apply">apply</a> <span class="special">{</span>
+<span class="special">}</span><span class="special">;</span></pre></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../numeric_cast_integral_c_id35963266.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric_cast_integral_c_id35963266.html#id36385146"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>

Added: sandbox/enums/libs/enums/doc/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/enums/libs/enums/doc/html/index.html 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -0,0 +1,2277 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0</title>
+<link rel="stylesheet" href="./boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0">
+<link rel="next" href="boost/enums/default_value.html" title="Function template default_value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="boost/enums/default_value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+<div class="chapter">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="boost.enums"></a>Chapter&#160;1.&#160;Toward Boost.Enums 0.2.0</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Vicente J.</span> <span class="surname">Botet Escriba</span>
+</h3></div></div>
+<div><p class="copyright">Copyright &#169; 2010 -2011 Vicente J. Botet Escriba</p></div>
+<div><div class="legalnotice">
+<a name="id36338562"></a><p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section">Overview</span></dt>
+<dd><dl>
+<dt><span class="section">Motivation</span></dt>
+<dt><span class="section">Description</span></dt>
+</dl></dd>
+<dt><span class="section">Users' Guide</span></dt>
+<dd><dl>
+<dt><span class="section">Getting Started</span></dt>
+<dt><span class="section">Tutorial</span></dt>
+<dt><span class="section">Examples</span></dt>
+<dt><span class="section">External Resources</span></dt>
+</dl></dd>
+<dt><span class="section">Reference</span></dt>
+<dd><dl>
+<dt><span class="section">Scoped Enums Reference</span></dt>
+<dt><span class="section">Ordinal Enums Reference</span></dt>
+<dt><span class="section">Enum Containers Reference</span></dt>
+<dt><span class="section">MPL Enums Reference</span></dt>
+</dl></dd>
+<dt><span class="section">Appendices</span></dt>
+<dd><dl>
+<dt><span class="section">Appendix A: History</span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.appendices.rationale">Appendix B: Design
+ Rationale</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.appendices.implementation">Appendix C: Implementation
+ Notes</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.appendices.acknowledgements">Appendix D:
+ Acknowledgements</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.appendices.appendix_e__tests">Appendix E:
+ Tests</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.appendices.appendix_f__tickets">Appendix
+ F: Tickets</a></span></dt>
+<dt><span class="section">Appendix F: Future plans</span></dt>
+</dl></dd>
+<dt><span class="section">Indexes</span></dt>
+</dl>
+</div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>"C enumerations constitute a curiously half-baked concept."</em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="bold"><strong>Stroustrup </strong></span>
+ </p></blockquote></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Enums is not a part of the Boost libraries.
+ </p></td></tr>
+</table></div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost.enums.overview"></a><a class="link" href="index.html#boost.enums.overview" title="Overview">Overview</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Motivation</span></dt>
+<dt><span class="section">Description</span></dt>
+</dl></div>
+<a name="boost.enums.overview.how_to_use_this_documentation"></a><h4>
+<a name="id36338615"></a>
+ <a class="link" href="index.html#boost.enums.overview.how_to_use_this_documentation">How to Use
+ This Documentation</a>
+ </h4>
+<p>
+ This documentation makes use of the following naming and formatting conventions.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Code is in <code class="computeroutput"><span class="identifier">fixed</span> <span class="identifier">width</span>
+ <span class="identifier">font</span></code> and is syntax-highlighted.
+ </li>
+<li class="listitem">
+ Replaceable text that you will need to supply is in <em class="replaceable"><code>italics</code></em>.
+ </li>
+<li class="listitem">
+ If a name refers to a free function, it is specified like this: <code class="computeroutput"><span class="identifier">free_function</span><span class="special">()</span></code>;
+ that is, it is in code font and its name is followed by <code class="computeroutput"><span class="special">()</span></code>
+ to indicate that it is a free function.
+ </li>
+<li class="listitem">
+ If a name refers to a class template, it is specified like this: <code class="computeroutput"><span class="identifier">class_template</span><span class="special">&lt;&gt;</span></code>;
+ that is, it is in code font and its name is followed by <code class="computeroutput"><span class="special">&lt;&gt;</span></code>
+ to indicate that it is a class template.
+ </li>
+<li class="listitem">
+ If a name refers to a function-like macro, it is specified like this:
+ <code class="computeroutput"><span class="identifier">MACRO</span><span class="special">()</span></code>;
+ that is, it is uppercase in code font and its name is followed by <code class="computeroutput"><span class="special">()</span></code> to indicate that it is a function-like
+ macro. Object-like macros appear without the trailing <code class="computeroutput"><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ Names that refer to <span class="emphasis"><em>concepts</em></span> in the generic programming
+ sense are specified in CamelCase.
+ </li>
+</ul></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ In addition, notes such as this one specify non-essential information that
+ provides additional background or rationale.
+ </p></td></tr>
+</table></div>
+<p>
+ Finally, you can mentally add the following to any code fragments in this document:
+ </p>
+<pre class="programlisting"><span class="comment">// Include all of the core Enums files
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">enums</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
+</pre>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.overview.motivation"></a><a class="link" href="index.html#boost.enums.overview.motivation" title="Motivation">Motivation</a>
+</h3></div></div></div>
+<p>
+ The David E. Miller, Herb Sutter and Bjarne Stroustrup's proposal (N1891: Strongly Typed Enums (revision 3) includes
+ a clear motivation for "Strongly Typed Enums". On compilers not
+ providing "Strongly Typed Enums" we can make a quite close emulation.
+ This allows to write programs that are portable on compilers providing this
+ feature natively and using the emulation on the others.
+ </p>
+<p>
+ Kevlin Henney presents in Flag Waiving a safe design for enum sets which
+ is based on some the association of an enumeration element and its position
+ on the enumeration itself. This is found also in language as Ada,
+ which defines attributes on enumerations like first, last, succ, value, pos,
+ ... The same mapping can be used to implement arrays having an enumeration
+ as index type and viewing enumerations as a range. This association has constant
+ time complexity most of the times, as usual enumerations follows linear or
+ logarithmic progressions.
+ </p>
+<p>
+ A third feature that has been requested for a long time is the ability to
+ convert an enum so an string and vice versa.
+ </p>
+<p>
+ Examples of libraries that have tried to cope with some of these aspects
+ are:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ </li>
+<li class="listitem">
+ SmartEnums has complex design to take care of iteration.
+ </li>
+<li class="listitem">
+ SmartEnums that take care mainly of string conversions.
+ </li>
+</ul></div>
+<p>
+ There are also a lot of literature about this simple problem.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.overview.description"></a><a class="link" href="index.html#boost.enums.overview.description" title="Description">Description</a>
+</h3></div></div></div>
+<p>
+ <span class="bold"><strong>Boost.Enums</strong></span> intends to provide a partial
+ solution to the scoped enums problem, and provides the framework to view
+ enumerations as ordinal types.
+ </p>
+<p>
+ <span class="bold"><strong>Boost.Enums</strong></span> provides:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Some language-like macros helping to define scoped enum classes.
+ </li>
+<li class="listitem">
+ Some meta-functions and functions helping to write portable programs
+ using scoped enum classes under compilers supporting them natively or
+ by an emulation on the others.
+ </li>
+<li class="listitem">
+ Ordinal functions and meta-functions: first, last, red, succ, pos, val,
+ size.
+ </li>
+<li class="listitem">
+ enum_array indexed by an enumeration.
+ </li>
+<li class="listitem">
+ enum_set using a bit for each element of an enumeration.
+ </li>
+<li class="listitem">
+ enum_range. a run-time range view of an enumeration
+ </li>
+<li class="listitem">
+ enum_c, a MPL type constant associated to an enumeration.
+ </li>
+<li class="listitem">
+ enum_range_c, a MPL sequence associated to an enumeration.
+ </li>
+</ul></div>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost.enums.users_guide"></a><a class="link" href="index.html#boost.enums.users_guide" title="Users' Guide">Users' Guide</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Getting Started</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.getting_started.install">Installing
+ Boost.Enums</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.getting_started.hello_world__">Hello
+ World! </a></span></dt>
+</dl></dd>
+<dt><span class="section">Tutorial</span></dt>
+<dd><dl>
+<dt><span class="section">Scoped Enums</span></dt>
+<dt><span class="section">Ordinal Enums</span></dt>
+<dt><span class="section">String conversions</span></dt>
+</dl></dd>
+<dt><span class="section">Examples</span></dt>
+<dd><dl>
+<dt><span class="section">aligned</span></dt>
+<dt><span class="section">cv_status</span></dt>
+</dl></dd>
+<dt><span class="section">External Resources</span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.users_guide.getting_started"></a><a class="link" href="index.html#boost.enums.users_guide.getting_started" title="Getting Started">Getting Started</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.getting_started.install">Installing
+ Boost.Enums</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.getting_started.hello_world__">Hello
+ World! </a></span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.users_guide.getting_started.install"></a><a class="link" href="index.html#boost.enums.users_guide.getting_started.install" title="Installing Boost.Enums">Installing
+ Boost.Enums</a>
+</h4></div></div></div>
+<a name="boost.enums.users_guide.getting_started.install.getting_boost_enums"></a><h6>
+<a name="id36339057"></a>
+ <a class="link" href="index.html#boost.enums.users_guide.getting_started.install.getting_boost_enums">Getting
+ Boost.Enums</a>
+ </h6>
+<p>
+ You can get the last stable release of <span class="bold"><strong>Boost.Enums</strong></span>
+ by downloading <code class="literal">enums.zip</code> from the <a href="http://www.boostpro.com/vault/index.php?action=downloadfile&amp;filename=enums.zip&amp;directory=Utilities&amp;" target="_top">Boost
+ Vault Utilities directory</a>
+ </p>
+<p>
+ You can also access the latest (unstable?) state from the <a href="https://svn.boost.org/svn/boost/sandbox/enums" target="_top">Boost
+ Sandbox</a>.
+ </p>
+<a name="boost.enums.users_guide.getting_started.install.building_boost_enums"></a><h6>
+<a name="id36339104"></a>
+ <a class="link" href="index.html#boost.enums.users_guide.getting_started.install.building_boost_enums">Building
+ Boost.Enums</a>
+ </h6>
+<p>
+ There is no need to compile <span class="bold"><strong>Boost.Enums</strong></span>,
+ since it's a header only library. Just include your Boost header directory
+ in your compiler include path.
+ </p>
+<a name="boost.enums.users_guide.getting_started.install.requirements"></a><h6>
+<a name="id36339130"></a>
+ <a class="link" href="index.html#boost.enums.users_guide.getting_started.install.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Boost.Enums</strong></span> depends only on Boost.Conversion
+ and Boost.Config (and all libraries they depends on).
+ </p>
+<a name="boost.enums.users_guide.getting_started.install.exceptions_safety"></a><h6>
+<a name="id36339155"></a>
+ <a class="link" href="index.html#boost.enums.users_guide.getting_started.install.exceptions_safety">Exceptions
+ safety</a>
+ </h6>
+<p>
+ All functions in the library are exception-neutral and provide strong guarantee
+ of exception safety as long as the underlying parameters provide it.
+ </p>
+<a name="boost.enums.users_guide.getting_started.install.thread_safety"></a><h6>
+<a name="id36339177"></a>
+ <a class="link" href="index.html#boost.enums.users_guide.getting_started.install.thread_safety">Thread
+ safety</a>
+ </h6>
+<p>
+ All functions in the library are thread-unsafe except when noted explicitly.
+ </p>
+<a name="boost.enums.users_guide.getting_started.install.tested_compilers"></a><h6>
+<a name="id36339197"></a>
+ <a class="link" href="index.html#boost.enums.users_guide.getting_started.install.tested_compilers">Tested
+ compilers</a>
+ </h6>
+<p>
+ The implementation will eventually work with most C++03 conforming compilers.
+ Current version has been tested on:
+ </p>
+<p>
+ Windows with
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ MSVC 10.0
+ </li></ul></div>
+<p>
+ Cygwin 1.7 with
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ GCC 4.3.4
+ </li></ul></div>
+<p>
+ MinGW with
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ GCC 4.4.0
+ </li>
+<li class="listitem">
+ GCC 4.5.0
+ </li>
+<li class="listitem">
+ GCC 4.5.0 C++0x
+ </li>
+<li class="listitem">
+ GCC 4.6.0
+ </li>
+<li class="listitem">
+ GCC 4.6.0 C++0x
+ </li>
+</ul></div>
+<p>
+ Ubuntu 10.10
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ GCC 4.4.5
+ </li>
+<li class="listitem">
+ GCC 4.4.5 -std=c++0x
+ </li>
+<li class="listitem">
+ GCC 4.5.1
+ </li>
+<li class="listitem">
+ GCC 4.5.1 -std=c++0x
+ </li>
+<li class="listitem">
+ clang 2.8
+ </li>
+</ul></div>
+<p>
+ Darwin 10 - Snow Leopard
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ clang 1.6
+ </li>
+<li class="listitem">
+ GCC 4.2.1
+ </li>
+</ul></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Please let us know how this works on other platforms/compilers.
+ </p></td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Please send any questions, comments and bug reports to boost &lt;at&gt;
+ lists &lt;dot&gt; boost &lt;dot&gt; org.
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.users_guide.getting_started.hello_world__"></a><a class="link" href="index.html#boost.enums.users_guide.getting_started.hello_world__" title="Hello World!">Hello
+ World! </a>
+</h4></div></div></div></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.users_guide.tutorial"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial" title="Tutorial">Tutorial</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Scoped Enums</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_define_a_scoped_enum_class_">How
+ to define a scoped enum class?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enum_and_the_associated_literals_">How
+ to use scoped enum and the associated literals?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.are_scoped_enum_classes_convertible_to_the_underlying_type_">Are
+ scoped enum classes convertible to the underlying type?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_define_a_scoped_enum_type_">How
+ to define a scoped enum type?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_">Can
+ these scoped enums be used inside unions?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enums_in_switch_statements_">How
+ to use scoped enums in switch statements?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enums_as_non_type_template_parameters_">How
+ to use scoped enums as non type template parameters?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.can_scoped_enums_be_used_in_bitfields_">Can
+ scoped enums be used in bitfields?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.where_the_macro_can_be_placed_">Where
+ the macro can be placed?</a></span></dt>
+</dl></dd>
+<dt><span class="section">Ordinal Enums</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.meta">Size,
+ Position and Value</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.aux">First,
+ Last, Succ and Pred</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.set">Enum
+ Set</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.array">Enum
+ Arrays</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.range">Enum
+ Range</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.enum_c">MPL
+ constants</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.range_c">MPL
+ Enum sequences</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.sub_type">What
+ about reducing the literals of an enumeration?</a></span></dt>
+</dl></dd>
+<dt><span class="section">String conversions</span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped" title="Scoped Enums">Scoped Enums</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_define_a_scoped_enum_class_">How
+ to define a scoped enum class?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enum_and_the_associated_literals_">How
+ to use scoped enum and the associated literals?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.are_scoped_enum_classes_convertible_to_the_underlying_type_">Are
+ scoped enum classes convertible to the underlying type?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_define_a_scoped_enum_type_">How
+ to define a scoped enum type?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_">Can
+ these scoped enums be used inside unions?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enums_in_switch_statements_">How
+ to use scoped enums in switch statements?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enums_as_non_type_template_parameters_">How
+ to use scoped enums as non type template parameters?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.can_scoped_enums_be_used_in_bitfields_">Can
+ scoped enums be used in bitfields?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.where_the_macro_can_be_placed_">Where
+ the macro can be placed?</a></span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.how_to_define_a_scoped_enum_class_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_define_a_scoped_enum_class_" title="How to define a scoped enum class?">How
+ to define a scoped enum class?</a>
+</h5></div></div></div>
+<p>
+ You can define the equivalent of
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="keyword">class</span> <span class="identifier">EnumClass</span> <span class="special">:</span> <span class="keyword">unsigned</span> <span class="keyword">char</span>
+<span class="special">{</span>
+ <span class="identifier">Enum0</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">Enum1</span><span class="special">,</span>
+ <span class="identifier">Enum2</span>
+<span class="special">};</span>
+</pre>
+<p>
+ using the provided macros as follows
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ENUM_CLASS_START</span><span class="special">(</span><span class="identifier">EnumClass</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">Enum0</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">Enum1</span><span class="special">,</span>
+ <span class="identifier">Enum2</span>
+<span class="special">}</span> <span class="identifier">BOOST_ENUM_CLASS_END</span><span class="special">(</span><span class="identifier">EnumClass</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">)</span>
+</pre>
+<p>
+ Simple, isn't it?
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enum_and_the_associated_literals_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enum_and_the_associated_literals_" title="How to use scoped enum and the associated literals?">How
+ to use scoped enum and the associated literals?</a>
+</h5></div></div></div>
+<p>
+ Scoped enums and the associated literals can be used as the C++0x counterparts
+ in almost all the situations. There are some exception that will need
+ some help from your part. We will see these cases later.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.are_scoped_enum_classes_convertible_to_the_underlying_type_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.are_scoped_enum_classes_convertible_to_the_underlying_type_" title="Are scoped enum classes convertible to the underlying type?">Are
+ scoped enum classes convertible to the underlying type?</a>
+</h5></div></div></div>
+<p>
+ Scoped enums classes are strong types and the conversion to the underlying
+ type is not implicit. If the compiler support Scoped Enums you can do
+ it using explicit conversion.
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">char</span> <span class="identifier">c</span> <span class="special">=</span> <span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">)(</span><span class="identifier">e</span><span class="special">);</span>
+</pre>
+<p>
+ When the compiler doesn't support scoped enums you will need to use the
+ enums::underlying_value() function to get explicitly the value. Of course
+ the same function works as well when the compiler support Scoped Enums,
+ for portability reasons you should use this function
+ </p>
+<pre class="programlisting"><span class="identifier">EnumClass</span> <span class="identifier">e</span> <span class="special">=</span> <span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum2</span><span class="special">;</span>
+<span class="keyword">unsigned</span> <span class="keyword">char</span> <span class="identifier">c</span> <span class="special">=</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">underlying_value</span><span class="special">(</span><span class="identifier">e</span><span class="special">);</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.how_to_define_a_scoped_enum_type_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_define_a_scoped_enum_type_" title="How to define a scoped enum type?">How
+ to define a scoped enum type?</a>
+</h5></div></div></div>
+<p>
+ If you need an implicit conversion to the underlying type you need to
+ use scoped enum types. Scoped enum types add implicit conversion to the
+ underlying type. On compiler supporting Scoped enums they can be defined
+ as follows
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">EnumType</span> <span class="special">:</span> <span class="keyword">int</span>
+<span class="special">{</span>
+ <span class="identifier">Enum0</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">Enum1</span><span class="special">,</span>
+ <span class="identifier">Enum2</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Using the library macros this can be defined as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ENUM_TYPE_START</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">Enum0</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">Enum1</span><span class="special">,</span>
+ <span class="identifier">Enum2</span>
+<span class="special">}</span> <span class="identifier">BOOST_ENUM_TYPE_END</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span>
+
+<span class="identifier">EnumType</span> <span class="identifier">e</span> <span class="special">=</span> <span class="identifier">EnumType</span><span class="special">::</span><span class="identifier">Enum2</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_" title="Can these scoped enums be used inside unions?">Can
+ these scoped enums be used inside unions?</a>
+</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_.how_to_inhibit_the_constructors_generation_">How
+ to inhibit the constructors generation?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_.how_to_replace_the_default_constructor_">How
+ to replace the default constructor?</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_.how_to_replace_the_copy_constructor_">How
+ to replace the copy constructor?</a></span></dt>
+</dl></div>
+<p>
+ All this depends on your compiler. If the compiler support unrestricted
+ unions, there is no problem. But in the opposite case, you will need
+ to inhibit the constructor.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_.how_to_inhibit_the_constructors_generation_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_.how_to_inhibit_the_constructors_generation_" title="How to inhibit the constructors generation?">How
+ to inhibit the constructors generation?</a>
+</h6></div></div></div>
+<p>
+ You will need to use the BOOST_ENUM_XXX_NO_CONS_END macros to inhibit
+ the constructor generation
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ENUM_TYPE_START</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">Enum0</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">Enum1</span><span class="special">,</span>
+ <span class="identifier">Enum2</span>
+<span class="special">}</span> <span class="identifier">BOOST_ENUM_TYPE_NO_CONS_END</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span>
+</pre>
+<p>
+ The problem with removing the constructors is that we are unable to
+ have default constructor and copy constructors syntax. So we will need
+ to use a different syntax to get portable programs.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_.how_to_replace_the_default_constructor_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_.how_to_replace_the_default_constructor_" title="How to replace the default constructor?">How
+ to replace the default constructor?</a>
+</h6></div></div></div>
+<p>
+ The following compiles but the enum value is undefined
+ </p>
+<pre class="programlisting"><span class="special">{</span>
+ <span class="identifier">EnumClass</span> <span class="identifier">e</span> <span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ You need to state explicitly that you want the default value, which
+ is 0.
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="comment">// defaults to 0
+</span> <span class="identifier">EnumClass</span> <span class="identifier">e</span> <span class="special">=</span> <span class="identifier">EnumClass</span><span class="special">();</span>
+ <span class="identifier">BOOST_TEST</span><span class="special">(</span><span class="identifier">e</span><span class="special">==</span><span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum0</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ If you have inhibited the constructors, the preceding code could fail
+ as the default constructor doesn't set the value to 0 when emulation
+ is used. The library provides a function that creates scoped enums
+ instances initialized with the default value, i.e., 0.
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="comment">// defaults to the enum default
+</span> <span class="identifier">EnumClass</span> <span class="identifier">e</span> <span class="special">=</span> <span class="identifier">default_value</span><span class="special">&lt;</span><span class="identifier">EnumClass</span><span class="special">&gt;();</span>
+ <span class="identifier">BOOST_TEST</span><span class="special">(</span><span class="identifier">e</span><span class="special">==</span><span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum0</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_.how_to_replace_the_copy_constructor_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.can_these_scoped_enums_be_used_inside_unions_.how_to_replace_the_copy_constructor_" title="How to replace the copy constructor?">How
+ to replace the copy constructor?</a>
+</h6></div></div></div>
+<p>
+ The following fails to compile if the emulation doesn't adds the needed
+ constructors:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="comment">// copy constructor emulation
+</span> <span class="identifier">EnumClass</span> <span class="identifier">e</span><span class="special">(</span><span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum2</span><span class="special">);</span> <span class="comment">// COMPILE ERROR HERE
+</span><span class="special">}</span>
+</pre>
+<p>
+ The library provides an assignment operator that allows to have the
+ equivalent as:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="comment">// copy constructor emulation
+</span> <span class="identifier">EnumClass</span> <span class="identifier">e</span><span class="special">=</span><span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum2</span><span class="special">;</span>
+ <span class="identifier">BOOST_TEST</span><span class="special">(</span><span class="identifier">e</span><span class="special">==</span><span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum2</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enums_in_switch_statements_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enums_in_switch_statements_" title="How to use scoped enums in switch statements?">How
+ to use scoped enums in switch statements?</a>
+</h5></div></div></div>
+<p>
+ With scoped enum types the following works as there is an implicit conversion
+ from the emulation to the enum type.
+ </p>
+<p>
+ The following fails to compile as implicit conversion to the enum type
+ is not define:
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">c_str</span><span class="special">(</span><span class="identifier">EnumType</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">switch</span> <span class="special">(</span><span class="identifier">e</span><span class="special">)</span> <span class="comment">// conversion from EnumType to enum_type&lt;EnumType&gt;::type
+</span> <span class="special">{</span>
+ <span class="keyword">case</span> <span class="identifier">EnumType</span><span class="special">::</span><span class="identifier">Enum0</span> <span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumType::Enum0"</span><span class="special">);</span>
+ <span class="keyword">case</span> <span class="identifier">EnumType</span><span class="special">::</span><span class="identifier">Enum1</span><span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumType::Enum1"</span><span class="special">);</span>
+ <span class="keyword">case</span> <span class="identifier">EnumType</span><span class="special">::</span><span class="identifier">Enum2</span> <span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumType::Enum2"</span><span class="special">);</span>
+ <span class="keyword">default</span><span class="special">:</span>
+ <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumClass::???"</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ However, with scoped enum classes the following fails to compile as implicit
+ conversion to the enum type is not define:
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">c_str</span><span class="special">(</span><span class="identifier">EnumClass</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">switch</span> <span class="special">(</span><span class="identifier">e</span><span class="special">)</span> <span class="comment">// COMPILE ERROR HERE
+</span> <span class="special">{</span>
+ <span class="keyword">case</span> <span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum0</span> <span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumClass::Enum0"</span><span class="special">);</span>
+ <span class="keyword">case</span> <span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum1</span><span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumClass::Enum1"</span><span class="special">);</span>
+ <span class="keyword">case</span> <span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum2</span> <span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumClass::Enum2"</span><span class="special">);</span>
+ <span class="keyword">default</span><span class="special">:</span>
+ <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumClass::???"</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The library provides a function enum_value that makes this conversion
+ explicitly, i.e., return the native enum in a portable way.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">c_str</span><span class="special">(</span><span class="identifier">EnumClass</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">switch</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">enum_value</span><span class="special">(</span><span class="identifier">e</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="keyword">case</span> <span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum0</span> <span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumClass::Enum0"</span><span class="special">);</span>
+ <span class="keyword">case</span> <span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum1</span><span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumClass::Enum1"</span><span class="special">);</span>
+ <span class="keyword">case</span> <span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum2</span> <span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumClass::Enum2"</span><span class="special">);</span>
+ <span class="keyword">default</span><span class="special">:</span>
+ <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumClass::???"</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enums_as_non_type_template_parameters_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.how_to_use_scoped_enums_as_non_type_template_parameters_" title="How to use scoped enums as non type template parameters?">How
+ to use scoped enums as non type template parameters?</a>
+</h5></div></div></div>
+<p>
+ The following fails to compile as the emulation is not a built-in type:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">EnumClass</span> <span class="identifier">e</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">ex</span><span class="special">;</span>
+</pre>
+<p>
+ The library provides a meta-function enum_type that return the native
+ enum type in a portable way.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">enum_type</span><span class="special">&lt;</span><span class="identifier">EnumClass</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">e</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">ex</span><span class="special">;</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.can_scoped_enums_be_used_in_bitfields_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.can_scoped_enums_be_used_in_bitfields_" title="Can scoped enums be used in bitfields?">Can
+ scoped enums be used in bitfields?</a>
+</h5></div></div></div>
+<p>
+ The C++ scoped enums can be used in bitfields declarations
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">S</span>
+<span class="special">{</span>
+ <span class="identifier">EnumClass</span> <span class="identifier">i</span> <span class="special">:</span> <span class="number">2</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">j</span> <span class="special">:</span> <span class="number">6</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ As the emulation is not a built-in type this cannot compile in a portable
+ way. Boost.Enums has no workaround to this problem, but fortunately we
+ could use Boost.Bitfield library (when available) to emulate the whole
+ structure cottoning scoped enums bitfields as follows
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bitfields</span><span class="special">&lt;</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="identifier">EnumClass</span><span class="special">,</span><span class="number">2</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="number">6</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">S</span><span class="special">;</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.scoped.where_the_macro_can_be_placed_"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.scoped.where_the_macro_can_be_placed_" title="Where the macro can be placed?">Where
+ the macro can be placed?</a>
+</h5></div></div></div>
+<p>
+ The macro need to define the scoped enum type on the user namespace,
+ so it seems natural to do the following
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">UNS</span>
+<span class="special">{</span>
+ <span class="identifier">BOOST_ENUM_TYPE_START</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">Enum0</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">Enum1</span><span class="special">,</span>
+ <span class="identifier">Enum2</span>
+ <span class="special">}</span> <span class="identifier">BOOST_ENUM_TYPE_END</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The problem is that the macro needs to generate some specializations
+ on the boost::enums namespace. There are two solutions to this problem:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ use a different macro BOOST_ENUMS_SPECIALIZATIONS() to make the specializations
+ </li></ul></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">UNS</span>
+<span class="special">{</span>
+ <span class="identifier">BOOST_ENUM_TYPE_START</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">Enum0</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">Enum1</span><span class="special">,</span>
+ <span class="identifier">Enum2</span>
+ <span class="special">}</span> <span class="identifier">BOOST_ENUM_TYPE_END</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span>
+<span class="special">}</span>
+<span class="identifier">BOOST_ENUMS_SPECIALIZATIONS</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span>
+</pre>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ use the macro outside any namespace and pass the sequence of namespaces
+ as part of the first parameter
+ </li></ul></div>
+<pre class="programlisting"><span class="identifier">BOOST_ENUM_TYPE_START</span><span class="special">(</span> <span class="special">(</span><span class="identifier">UNS</span><span class="special">)(</span><span class="identifier">EnumType</span><span class="special">),</span> <span class="keyword">int</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">Enum0</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">Enum1</span><span class="special">,</span>
+ <span class="identifier">Enum2</span>
+<span class="special">}</span> <span class="identifier">BOOST_ENUM_TYPE_END</span><span class="special">(</span> <span class="special">(</span><span class="identifier">UNS</span><span class="special">)(</span><span class="identifier">EnumType</span><span class="special">),</span> <span class="keyword">int</span><span class="special">)</span>
+</pre>
+<p>
+ The option retained by the library is the second one, as you will see
+ when taking in account the ordinal enums, the duplication will be no
+ limited to the enum type and underlying type, but also to the enum literals
+ as well.
+ </p>
+<p>
+ Fortunately, when the user doesn't needs to define the scoped enum inside
+ a specific namespace the use of the PP sequence is not needed and
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ENUM_TYPE_START</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">Enum0</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">Enum1</span><span class="special">,</span>
+ <span class="identifier">Enum2</span>
+<span class="special">}</span> <span class="identifier">BOOST_ENUM_TYPE_END</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span>
+</pre>
+<p>
+ works as well.
+ </p>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.users_guide.tutorial.ordinal"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.ordinal" title="Ordinal Enums">Ordinal Enums</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.meta">Size,
+ Position and Value</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.aux">First,
+ Last, Succ and Pred</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.set">Enum
+ Set</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.array">Enum
+ Arrays</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.range">Enum
+ Range</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.enum_c">MPL
+ constants</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.range_c">MPL
+ Enum sequences</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.users_guide.tutorial.ordinal.sub_type">What
+ about reducing the literals of an enumeration?</a></span></dt>
+</dl></div>
+<p>
+ While C++0x provides scoped enums, the standard doesn't see an enum as
+ an ordinal type. Language as Pascal and Ada had defined since the beginning
+ attributes that allows to map an enumeration to a continuous range 0..N-1,
+ so it can be used in for statements and as index of an array.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.ordinal.meta"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.ordinal.meta" title="Size, Position and Value">Size,
+ Position and Value</a>
+</h5></div></div></div>
+<p>
+ The needed informations are
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ size: the number of elements in the enum type.
+ </li>
+<li class="listitem">
+ pos: the position relative of an element in the enum type.
+ </li>
+<li class="listitem">
+ val: the element in the enum type at a given position.
+ </li>
+</ul></div>
+<p>
+ The compiler could have these informations, but in the absence the user
+ will need to add them explicitly.
+ </p>
+<p>
+ Boost.Enums provides a framework that allows to add these meta-information
+ and use them in a uniform way at compile-time and run-time.
+ </p>
+<p>
+ The library provides the declaration of the meta-function that will need
+ to be specialized for each enumeration,
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">size</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;::</span><span class="identifier">value</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">pos</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">,</span> <span class="identifier">V</span><span class="special">&gt;::</span><span class="identifier">value</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">val</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">,</span> <span class="identifier">P</span><span class="special">&gt;::</span><span class="identifier">value</span>
+</pre>
+<p>
+ and a uniform run-time interface.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">size</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;(</span><span class="identifier">e</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">pos</span><span class="special">(</span><span class="identifier">e</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">val</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;(</span><span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ An example of specialization follows:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">meta</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">size</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="comment">//~ BOOST_STATIC_CONSTEXPR
+</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">value</span><span class="special">;</span>
+ <span class="special">};</span>
+ <span class="comment">//~ BOOST_CONSTEXPR
+</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">pos</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">,</span> <span class="identifier">EC3</span><span class="special">::</span><span class="identifier">Enum0</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="identifier">BOOST_STATIC_CONSTEXPR</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="special">};</span>
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">pos</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">,</span> <span class="identifier">EC3</span><span class="special">::</span><span class="identifier">Enum1</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="identifier">BOOST_STATIC_CONSTEXPR</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+ <span class="special">};</span>
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">pos</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">,</span> <span class="identifier">EC3</span><span class="special">::</span><span class="identifier">Enum2</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="identifier">BOOST_STATIC_CONSTEXPR</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">val</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="identifier">BOOST_STATIC_CONSTEXPR</span> <span class="identifier">enum_type</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">EC3</span><span class="special">::</span><span class="identifier">Enum0</span><span class="special">;</span>
+ <span class="special">};</span>
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">val</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="identifier">BOOST_STATIC_CONSTEXPR</span> <span class="identifier">enum_type</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">EC3</span><span class="special">::</span><span class="identifier">Enum1</span><span class="special">;</span>
+ <span class="special">};</span>
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">val</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="identifier">BOOST_STATIC_CONSTEXPR</span> <span class="identifier">enum_type</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">EC3</span><span class="special">::</span><span class="identifier">Enum2</span><span class="special">;</span>
+ <span class="special">};</span>
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">enum_traits</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">linear_enum_traiter</span><span class="special">&lt;</span><span class="identifier">EC3</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="special">};</span>
+ <span class="special">}</span> <span class="comment">// namespace meta
+</span> <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ As this is quite cumbersome, the library provides macros that will generate
+ all this stuff for you. Unfortunately there is no way to preserve the
+ syntax of the scoped enums. and in addition the generated code must be
+ in different namespaces.
+ </p>
+<p>
+ There are two macro forms: one using PP sequences and other with variadic
+ macros.
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ENUM</span><span class="special">((</span><span class="identifier">NS1</span><span class="special">)(</span><span class="identifier">NSB</span><span class="special">)(</span><span class="identifier">Enum</span><span class="special">),</span>
+ <span class="special">(</span> <span class="special">(</span><span class="identifier">Enum0</span><span class="special">)</span> <span class="special">(</span><span class="number">0</span><span class="special">)</span> <span class="special">)</span>
+ <span class="special">(</span><span class="identifier">Enum1</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">Enum2</span><span class="special">)</span>
+<span class="special">)</span>
+</pre>
+<p>
+ The PP sequence contains itself a PP sequence that has as mandatory first
+ element, the enum literal, and the second optional element used to give
+ an explicit enum value.
+ </p>
+<p>
+ The same example with variadic macros results in
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ENUM_VN</span><span class="special">(</span><span class="identifier">Enum</span><span class="special">,</span>
+ <span class="special">(</span><span class="identifier">Enum0</span><span class="special">)</span> <span class="special">(</span><span class="number">0</span><span class="special">),</span>
+ <span class="identifier">Enum1</span><span class="special">,</span>
+ <span class="identifier">Enum2</span><span class="special">,</span>
+<span class="special">)</span>
+</pre>
+<p>
+ The preceding macros are applied to C/C++98 enums. As we can be interested
+ in mixing scoped and ordinal enums the library provides the respective
+ macros. To be brief only the PP sequence version is given here. For scoped
+ enum classes use BOOST_ENUM_CLASS
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ENUM_CLASS</span><span class="special">(</span><span class="identifier">EnumClass</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span>
+ <span class="special">(</span> <span class="special">(</span><span class="identifier">Enum0</span><span class="special">)</span> <span class="special">(</span><span class="number">0</span><span class="special">)</span> <span class="special">)</span>
+ <span class="special">(</span><span class="identifier">Enum1</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">Enum2</span><span class="special">)</span>
+<span class="special">)</span>
+</pre>
+<p>
+ For scoped enum types use BOOST_ENUM_TYPE
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ENUM_TYPE</span><span class="special">(</span><span class="identifier">EnumType</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span>
+ <span class="special">(</span> <span class="special">(</span><span class="identifier">Enum0</span><span class="special">)</span> <span class="special">(</span><span class="number">0</span><span class="special">)</span> <span class="special">)</span>
+ <span class="special">(</span><span class="identifier">Enum1</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">Enum2</span><span class="special">)</span>
+<span class="special">)</span>
+</pre>
+<p>
+ As you can see these macros have the advantage to avoid the duplication
+ of the enum name and the underlaying type that we had with the scoped
+ enum macros.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.ordinal.aux"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.ordinal.aux" title="First, Last, Succ and Pred">First,
+ Last, Succ and Pred</a>
+</h5></div></div></div>
+<p>
+ Once these meta-informations are given, the user can retrieve in a uniform
+ way the first, last successor and predecessor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">first</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;::</span><span class="identifier">value</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">last</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;::</span><span class="identifier">value</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">pred</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">,</span> <span class="identifier">V</span><span class="special">&gt;::</span><span class="identifier">value</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">succ</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">,</span> <span class="identifier">v</span><span class="special">&gt;::</span><span class="identifier">value</span>
+</pre>
+<p>
+ and a uniform run-time interface.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">first</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;();</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">last</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;();</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">pred</span><span class="special">(</span><span class="identifier">e</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">succ</span><span class="special">(</span><span class="identifier">e</span><span class="special">);</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.ordinal.set"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.ordinal.set" title="Enum Set">Enum
+ Set</a>
+</h5></div></div></div>
+<p>
+ One of the major motivations for the preceding functions and metafiction
+ was to be able to define a generic enum set class based on the work of
+ Kevlin Henney.
+ </p>
+<p>
+ The enum_set&lt;EC&gt; class has as parameter an enum, enum class or
+ enum type and provides the same interface as std::bitset&lt;N&gt; but
+ replacing the index by the enum. As Kevlin showed this give to the user
+ a more safer interface than using bit mask directly.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.ordinal.array"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.ordinal.array" title="Enum Arrays">Enum
+ Arrays</a>
+</h5></div></div></div>
+<p>
+ As we are able to map the enum to a range 0..N-1 we can define an enum
+ array class based on the std::array&lt;T,N&gt; class that use instead
+ an enum as index, enum_array&lt;T,E&gt;.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.ordinal.range"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.ordinal.range" title="Enum Range">Enum
+ Range</a>
+</h5></div></div></div>
+<p>
+ We will not stop here. We can view the enumeration as a range, so we
+ can iterate over all the elements of an enumeration. The class enum_range&lt;E&gt;
+ provides this view, so for example we can do
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">enum_range</span><span class="special">&lt;</span><span class="identifier">E</span><span class="special">&gt;(),</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.ordinal.enum_c"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.ordinal.enum_c" title="MPL constants">MPL
+ constants</a>
+</h5></div></div></div>
+<p>
+ Boost.MPL provides integral constants, but we cannot use them with enums
+ as the successor and predecessor have different semantics.
+ </p>
+<p>
+ We have created a new MPL tag enum_tag_c and an enumeration constant
+ enum_c so we can specialize the specific behavior of MPL sequences for
+ static enumerations.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.ordinal.range_c"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.ordinal.range_c" title="MPL Enum sequences">MPL
+ Enum sequences</a>
+</h5></div></div></div>
+<p>
+ We can view an enumeration as an MPL sequence. Based on the integer_range_c
+ class, the enum_range_c&lt;EC&gt; allows to visit at compile time all
+ the elements of an enumeration.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost.enums.users_guide.tutorial.ordinal.sub_type"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.ordinal.sub_type" title="What about reducing the literals of an enumeration?">What
+ about reducing the literals of an enumeration?</a>
+</h5></div></div></div>
+<p>
+ The typical example of enumeration sub-typing is the days of the week
+ and the working days. In Ada we can do
+ </p>
+<pre class="programlisting"><span class="identifier">type</span> <span class="identifier">Day_Of_Week</span> <span class="identifier">is</span> <span class="special">(</span><span class="identifier">Sunday</span><span class="special">,</span> <span class="identifier">Monday</span><span class="special">,</span> <span class="identifier">Tuesday</span><span class="special">,</span> <span class="identifier">Wednesday</span><span class="special">,</span> <span class="identifier">Thursday</span><span class="special">,</span> <span class="identifier">Friday</span><span class="special">,</span> <span class="identifier">Saturday</span><span class="special">);</span>
+
+<span class="identifier">subtype</span> <span class="identifier">Working_Day</span> <span class="identifier">is</span> <span class="identifier">range</span> <span class="identifier">Monday</span> <span class="special">..</span> <span class="identifier">Friday</span><span class="special">;</span>
+</pre>
+<p>
+ Given the following definition of Day_Of_Week
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ENUMS_CLASS</span><span class="special">(</span><span class="identifier">Day_Of_Week</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">Sunday</span><span class="special">,</span> <span class="identifier">Monday</span><span class="special">,</span> <span class="identifier">Tuesday</span><span class="special">,</span> <span class="identifier">Wednesday</span><span class="special">,</span> <span class="identifier">Thursday</span><span class="special">,</span> <span class="identifier">Friday</span><span class="special">,</span> <span class="identifier">Saturday</span><span class="special">);</span>
+</pre>
+<p>
+ we can define the sub-type Working_Day using the sub_range template class
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">sub_range</span><span class="special">&lt;</span><span class="identifier">Day_Of_Week</span><span class="special">,</span> <span class="identifier">Monday</span><span class="special">,</span> <span class="identifier">Friday</span><span class="special">&gt;</span> <span class="identifier">Working_Day</span><span class="special">;</span>
+</pre>
+<p>
+ Working_Day is implicitly convertible to Day_Of_Week and is explicitly
+ constructible from Day_Of_Week with a run-time checking of course.
+ </p>
+<p>
+ When the sub-type enumeration literals are not consecutive we need a
+ generic way to state whether it belongs or not. A predicate seems to
+ be the good compromise. Note that this is quite related to the constraint
+ library.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">sub_type</span><span class="special">&lt;</span><span class="identifier">Day_Of_Week</span><span class="special">,</span> <span class="identifier">P</span><span class="special">&gt;</span> <span class="identifier">Working_Day</span><span class="special">;</span>
+</pre>
+<p>
+ These enumeration sub-types sub_range and sub_type can be used as well
+ as index of enum_array and as type of enum_set enum_range.
+ </p>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.users_guide.tutorial.str"></a><a class="link" href="index.html#boost.enums.users_guide.tutorial.str" title="String conversions">String conversions</a>
+</h4></div></div></div>
+<p>
+ One of the more requested features to enumerations is to be able to convert
+ to a string in a uniform way.
+ </p>
+<p>
+ We can define explicitly this conversion as done previously:
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">c_str</span><span class="special">(</span><span class="identifier">EnumClass</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">switch</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">enum_value</span><span class="special">(</span><span class="identifier">e</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="keyword">case</span> <span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum0</span> <span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"Enum0"</span><span class="special">);</span>
+ <span class="keyword">case</span> <span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum1</span><span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"Enum1"</span><span class="special">);</span>
+ <span class="keyword">case</span> <span class="identifier">EnumClass</span><span class="special">::</span><span class="identifier">Enum2</span> <span class="special">:</span> <span class="keyword">return</span><span class="special">(</span><span class="string">"Enum2"</span><span class="special">);</span>
+ <span class="keyword">default</span><span class="special">:</span>
+ <span class="keyword">return</span><span class="special">(</span><span class="string">"EnumClass::???"</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The advantage of the explicit conversion is that we can choose the string
+ literal associated to the enum literal. While this is quite simple we can
+ extend the macros to take care of a 3rd element on the PP sequence, i.e.,
+ the string representation.
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ENUMS_CLASS_VM</span><span class="special">(</span><span class="identifier">RGB</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span>
+ <span class="special">(</span><span class="identifier">Red</span><span class="special">)</span> <span class="special">()</span> <span class="special">(</span><span class="identifier">Rojo</span><span class="special">),</span>
+ <span class="special">(</span><span class="identifier">Green</span><span class="special">)</span> <span class="special">()</span> <span class="special">(</span><span class="identifier">Verde</span><span class="special">),</span>
+ <span class="special">(</span><span class="identifier">Blue</span><span class="special">)</span> <span class="special">()</span> <span class="special">(</span><span class="identifier">Azul</span><span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ We need a second empty () token to signal the macros that the numeration
+ must be done implicitly.
+ </p>
+<p>
+ With this definition for RGB the following
+ </p>
+<pre class="programlisting"><span class="identifier">RGB</span> <span class="identifier">c</span> <span class="special">=</span> <span class="identifier">RGB</span><span class="special">::</span><span class="identifier">Blue</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">c_str</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">underlying_value</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ will print
+ </p>
+<pre class="programlisting"><span class="identifier">Azul</span> <span class="special">=</span> <span class="number">2</span>
+</pre>
+<p>
+ When the 3rd token is empty or missing, the macro use the enum literal
+ as string.
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ENUMS_CLASS_VM</span><span class="special">(</span><span class="identifier">RGB</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">Red</span><span class="special">,</span> <span class="identifier">Green</span><span class="special">,</span> <span class="identifier">Blue</span><span class="special">);</span>
+</pre>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.users_guide.examples"></a><a class="link" href="index.html#boost.enums.users_guide.examples" title="Examples">Examples</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">aligned</span></dt>
+<dt><span class="section">cv_status</span></dt>
+</dl></div>
+<div class="section"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.users_guide.examples.aligned"></a><a class="link" href="index.html#boost.enums.users_guide.examples.aligned" title="aligned">aligned</a>
+</h4></div></div></div></div>
+<div class="section"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.users_guide.examples.cv_status"></a><a class="link" href="index.html#boost.enums.users_guide.examples.cv_status" title="cv_status">cv_status</a>
+</h4></div></div></div></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.users_guide.ext_references"></a><a class="link" href="index.html#boost.enums.users_guide.ext_references" title="External Resources">External Resources</a>
+</h3></div></div></div>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term">N2347: Strongly Typed Enums (revision 3)</span></dt>
+<dd><p>
+ Alistair Meredith
+ </p></dd>
+<dt><span class="term"><a href="http://www.gimpel.com/html/strong.htm" target="_top"><span class="bold"><strong>PC-lint/FlexeLint
+ Strong Type Checking</strong></span></a></span></dt>
+<dd><p>
+ Gimpel Software
+ </p></dd>
+<dt><span class="term">Enumerations</span></dt>
+<dd><p>
+ Herb Sutter and Jim Hyslop
+ </p></dd>
+<dt><span class="term">Enumerations Q & A</span></dt>
+<dd><p>
+ Dan Saks
+ </p></dd>
+</dl>
+</div>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost.enums.reference"></a><a class="link" href="index.html#boost.enums.reference" title="Reference">Reference</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Scoped Enums Reference</span></dt>
+<dd><dl>
+<dt><span class="section">Header <boost/enums/default_value.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/emulation.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/emulator_type.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/enum_class_cons.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/enum_class_no_cons.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/enum_subrange.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/enum_type.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/enum_type_cons.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/enum_type_no_cons.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/enum_value.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/underlying_type.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/underlying_value.hpp></span></dt>
+</dl></dd>
+<dt><span class="section">Ordinal Enums Reference</span></dt>
+<dd><dl>
+<dt><span class="section">Header <boost/enums/enum_traiter.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/enum_traits.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/first.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/last.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/pos.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/pred.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/size.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/succ.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/val.hpp></span></dt>
+</dl></dd>
+<dt><span class="section">Enum Containers Reference</span></dt>
+<dd><dl>
+<dt><span class="section">Header <boost/enums/enum_array.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/enum_range.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/enum_set.hpp></span></dt>
+</dl></dd>
+<dt><span class="section">MPL Enums Reference</span></dt>
+<dd><dl>
+<dt><span class="section">Header <boost/enums/mpl/enum_c.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/mpl/enum_c_tag.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/mpl/enum_range_c.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/mpl/equal_to.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/mpl/greater.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/mpl/greater_equal.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/mpl/less.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/mpl/less_equal.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/mpl/numeric_cast.hpp></span></dt>
+</dl></dd>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="scoped_enums_reference"></a>Scoped Enums Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Header <boost/enums/default_value.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/emulation.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/emulator_type.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/enum_class_cons.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/enum_class_no_cons.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/enum_subrange.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/enum_type.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/enum_type_cons.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/enum_type_no_cons.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/enum_value.hpp></span></dt>
+<dt><span class="section">Header <boost/enums/underlying_type.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/underlying_value.hpp></span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.default_value_hpp"></a>Header &lt;boost/enums/default_value.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">EC</span> <a class="link" href="boost/enums/default_value.html" title="Function template default_value"><span class="identifier">default_value</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.emulation_hpp"></a>Header &lt;boost/enums/emulation.hpp&gt;</h4></div></div></div>
+<pre class="synopsis">
+
+<a class="link" href="BOOST_ENUM_CLASS_START.html" title="Macro BOOST_ENUM_CLASS_START">BOOST_ENUM_CLASS_START</a>(EC, UT)
+<a class="link" href="BOOST_ENUM_TYPE_START.html" title="Macro BOOST_ENUM_TYPE_START">BOOST_ENUM_TYPE_START</a>(EC, UT)
+<a class="link" href="BOOST_ENUM_CLASS_END.html" title="Macro BOOST_ENUM_CLASS_END">BOOST_ENUM_CLASS_END</a>(EC, UT)
+<a class="link" href="BOOST_ENUM_TYPE_END.html" title="Macro BOOST_ENUM_TYPE_END">BOOST_ENUM_TYPE_END</a>(EC, UT)
+<a class="link" href="BOOST_ENUM_CLASS_NO_CONS_END.html" title="Macro BOOST_ENUM_CLASS_NO_CONS_END">BOOST_ENUM_CLASS_NO_CONS_END</a>(EC, UT)
+<a class="link" href="BOOST_ENUM_TYPE_NO_CONS_END.html" title="Macro BOOST_ENUM_TYPE_NO_CONS_END">BOOST_ENUM_TYPE_NO_CONS_END</a>(EC, UT)
+<a class="link" href="BOOST_ENUM_CLASS_CONS_END.html" title="Macro BOOST_ENUM_CLASS_CONS_END">BOOST_ENUM_CLASS_CONS_END</a>(EC, UT)
+<a class="link" href="BOOST_ENUM_TYPE_CONS_END.html" title="Macro BOOST_ENUM_TYPE_CONS_END">BOOST_ENUM_TYPE_CONS_END</a>(EC, UT)
+<a class="link" href="BOOST_ENUMS_SPECIALIZATIONS.html" title="Macro BOOST_ENUMS_SPECIALIZATIONS">BOOST_ENUMS_SPECIALIZATIONS</a>(EC, UT)</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.emulator_type_hpp"></a>Header &lt;boost/enums/emulator_type.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/emulator_type.hpp&gt;</code> defines the declaration of emulator_type&lt;&gt; meta-function. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC_type<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/emulator_type.html" title="Struct template emulator_type">emulator_type</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_class_cons_hpp"></a>Header &lt;boost/enums/enum_class_cons.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/enum_class_cons.hpp&gt;</code> defines the declaration of enum_class_cons&lt;&gt; template class. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ScopedEnum<span class="special">,</span> <span class="keyword">typename</span> UT <span class="special">=</span> <span class="keyword">int</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="boost/enums/enum_class_cons.html" title="Class template enum_class_cons">enum_class_cons</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_class_no_cons_hpp"></a>Header &lt;boost/enums/enum_class_no_cons.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/enum_class_no_cons.hpp&gt;</code> defines the declaration of enum_class_no_cons&lt;&gt; template class. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ScopedEnum<span class="special">,</span> <span class="keyword">typename</span> UT <span class="special">=</span> <span class="keyword">int</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="boost/enums/enum_class_no_cons.html" title="Class template enum_class_no_cons">enum_class_no_cons</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_subrange_hpp"></a>Header &lt;boost/enums/enum_subrange.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC_type<span class="special">,</span>
+ <span class="identifier">EC_type</span> First <span class="special">=</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">first</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">emulator_type</span><span class="special">&lt;</span><span class="identifier">EC_type</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">,</span>
+ <span class="identifier">EC_type</span> Last <span class="special">=</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">last</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">emulator_type</span><span class="special">&lt;</span><span class="identifier">EC_type</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <a class="link" href="boost/enums/enum_subrange.html" title="Struct template enum_subrange">enum_subrange</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_type_hpp"></a>Header &lt;boost/enums/enum_type.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/enum_type.html" title="Struct template enum_type">enum_type</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_type_cons_hpp"></a>Header &lt;boost/enums/enum_type_cons.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/enum_type_cons.hpp&gt;</code> defines the declaration of enum_type_cons&lt;&gt; template class. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ScopedEnum<span class="special">,</span> <span class="keyword">typename</span> UT <span class="special">=</span> <span class="keyword">int</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="boost/enums/enum_type_cons.html" title="Class template enum_type_cons">enum_type_cons</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_type_no_cons_hpp"></a>Header &lt;boost/enums/enum_type_no_cons.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/enum_type_no_cons.hpp&gt;</code> defines the declaration of enum_type_no_cons&lt;&gt; template class. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ScopedEnum<span class="special">,</span> <span class="keyword">typename</span> UT <span class="special">=</span> <span class="keyword">int</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="boost/enums/enum_type_no_cons.html" title="Class template enum_type_no_cons">enum_type_no_cons</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_value_hpp"></a>Header &lt;boost/enums/enum_value.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <a class="link" href="boost/enums/enum_type.html" title="Struct template enum_type">enum_type</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.enums.enum_value"></a><span class="identifier">enum_value</span><span class="special">(</span><span class="identifier">EC</span> e<span class="special">)</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.underlying_type_hpp"></a>Header &lt;boost/enums/underlying_type.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/underlying_type.html" title="Struct template underlying_type">underlying_type</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.underlying_value_hpp"></a>Header &lt;boost/enums/underlying_value.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <a class="link" href="boost/enums/underlying_type.html" title="Struct template underlying_type">underlying_type</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.enums.underlying_value"></a><span class="identifier">underlying_value</span><span class="special">(</span><span class="identifier">EC</span> e<span class="special">)</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="ordinal_enums_reference"></a>Ordinal Enums Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Header <boost/enums/enum_traiter.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/enum_traits.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/first.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/last.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/pos.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/pred.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/size.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/succ.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/val.hpp></span></dt>
+<dd><dl></dl></dd>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_traiter_hpp"></a>Header &lt;boost/enums/enum_traiter.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/linear_enum_traiter.hpp&gt;</code> declares a class template <code class="computeroutput">meta::linear_enum_traiter&lt;&gt;</code> which can be used as <code class="computeroutput">enum_trait&lt;&gt;</code> helper for enumerations having a linear progression. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/linear_enum_traiter.html" title="Struct template linear_enum_traiter">linear_enum_traiter</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_traits_hpp"></a>Header &lt;boost/enums/enum_traits.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/enum_traits.hpp&gt;</code> declares a class template <code class="computeroutput">meta::enum_traits&lt;&gt;</code> which must be specialized for each enumeration including two static functions <code class="computeroutput">pos()</code> and <code class="computeroutput">val()</code>. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">meta</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/meta/enum_traits.html" title="Struct template enum_traits">enum_traits</a><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.first_hpp"></a>Header &lt;boost/enums/first.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">constexpr</span> <span class="identifier">EC</span> <a class="link" href="boost/enums/first_id35961669.html" title="Function template first"><span class="identifier">first</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">meta</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/meta/first.html" title="Struct template first">first</a><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.last_hpp"></a>Header &lt;boost/enums/last.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/last.hpp&gt;</code> declares a class template <code class="computeroutput">meta::last&lt;&gt;</code> and a function <code class="computeroutput">last()</code> returning the last element of an enumeration. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">constexpr</span> <span class="identifier">EC</span> <a class="link" href="boost/enums/last_id35961724.html" title="Function template last"><span class="identifier">last</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">meta</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/meta/last.html" title="Struct template last">last</a><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.pos_hpp"></a>Header &lt;boost/enums/pos.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/pos.hpp&gt;</code> declares a class template <code class="computeroutput">meta::pos&lt;&gt;</code> and a function <code class="computeroutput">pos()</code> associating the an element of an enumeration to its relative position. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="boost/enums/pos_id35961787.html" title="Function template pos"><span class="identifier">pos</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">meta</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> V<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/meta/pos.html" title="Struct template pos">pos</a><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.pred_hpp"></a>Header &lt;boost/enums/pred.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/pred.hpp&gt;</code> declares a class template <code class="computeroutput">meta::pred&lt;&gt;</code> and a function <code class="computeroutput">pred()</code> returning the predecessor of the enumeration element. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">constexpr</span> <span class="identifier">EC</span> <a class="link" href="boost/enums/pred_id35961885.html" title="Function template pred"><span class="identifier">pred</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">meta</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> V<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/meta/pred.html" title="Struct template pred">pred</a><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.size_hpp"></a>Header &lt;boost/enums/size.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/size.hpp&gt;</code> declares a class template <code class="computeroutput">meta::size&lt;&gt;</code> and a function <code class="computeroutput">size()</code> returning the number of elements in the enumeration. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.enums.size_id35961949"></a><span class="identifier">size</span><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">meta</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/meta/size.html" title="Struct template size">size</a><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.succ_hpp"></a>Header &lt;boost/enums/succ.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/succ.hpp&gt;</code> declares a class template <code class="computeroutput">meta::succ&lt;&gt;</code> and a function <code class="computeroutput">succ()</code> returning the predecessor of the enumeration element. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">EC</span> <a class="link" href="boost/enums/succ_id35962011.html" title="Function template succ"><span class="identifier">succ</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">meta</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> V<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/meta/succ.html" title="Struct template succ">succ</a><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.val_hpp"></a>Header &lt;boost/enums/val.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/val.hpp&gt;</code> declares a class template <code class="computeroutput">meta::val&lt;&gt;</code> and a function <code class="computeroutput">val()</code> associating a position to an element of an enumeration. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">EC</span> <a class="link" href="boost/enums/val_id35962091.html" title="Function template val"><span class="identifier">val</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">meta</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> I<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/enums/meta/val.html" title="Struct template val">val</a><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="enum_containers_reference"></a>Enum Containers Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Header <boost/enums/enum_array.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/enum_range.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/enum_set.hpp></span></dt>
+<dd><dl></dl></dd>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_array_hpp"></a>Header &lt;boost/enums/enum_array.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/enum_array.hpp&gt;</code> defines a class template for storing sequences of objects fixed by the size of the enumeration. We can say that <code class="computeroutput">enum_array</code> is the counterpart of <code class="computeroutput">std::array</code> when the index are enums. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">bool</span> <a class="link" href="boost/enums/operator__.html" title="Function template operator=="><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">bool</span> <a class="link" href="boost/enums/operator_id35967488.html" title="Function template operator&lt;"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">bool</span> <a class="link" href="boost/enums/operator__.html" title="Function template operator!="><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">bool</span> <a class="link" href="boost/enums/operator_id35967565.html" title="Function template operator&gt;"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">bool</span> <a class="link" href="boost/enums/operator___id35967603.html" title="Function template operator&lt;="><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">bool</span> <a class="link" href="boost/enums/operator___id35967641.html" title="Function template operator&gt;="><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">void</span> <a class="link" href="boost/enums/swap.html" title="Function template swap"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="identifier">T</span><span class="special">(</span><span class="special">&amp;</span> <a class="link" href="boost/enums/get_c_array_id35967730.html" title="Function template get_c_array"><span class="identifier">get_c_array</span></a><span class="special">(</span><a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">(</span><span class="special">&amp;</span> <a class="link" href="boost/enums/get_c_array_id35967755.html" title="Function template get_c_array"><span class="identifier">get_c_array</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/enums/enum_array.html" title="Class template enum_array">enum_array</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_range_hpp"></a>Header &lt;boost/enums/enum_range.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/enum_range.hpp&gt;</code> defines a class template <code class="computeroutput">enum_range</code> for viewing an enumerations as a range. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="boost/enums/enum_range.html" title="Class template enum_range">enum_range</a><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <a class="link" href="boost/enums/enum_range.html" title="Class template enum_range">enum_range</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <a class="link" href="boost/enums/make_range_id35967838.html" title="Function template make_range"><span class="identifier">make_range</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <a class="link" href="boost/enums/enum_range.html" title="Class template enum_range">enum_range</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <a class="link" href="boost/enums/make_range_id35967871.html" title="Function template make_range"><span class="identifier">make_range</span></a><span class="special">(</span><span class="identifier">EC</span><span class="special">,</span> <span class="identifier">EC</span><span class="special">)</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.enum_set_hpp"></a>Header &lt;boost/enums/enum_set.hpp&gt;</h4></div></div></div>
+<p>The header <code class="computeroutput">&lt;boost/enums/enum_set.hpp&gt;</code> defines a class template <code class="computeroutput">enum_set&lt;EC&gt;</code> for managing sets of enumeration and several ! related functions for representing and manipulating sets of enums. We can say that <code class="computeroutput">enum_set</code> is the counterpart of <code class="computeroutput">std::bitset</code> when the index are enums. </p>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/hash_enums_enum_set_EC_id35967943.html" title="Struct template hash&lt;enums::enum_set&lt; EC &gt;&gt;">hash</a><span class="special">&lt;</span><span class="identifier">enums</span><span class="special">::</span><span class="identifier">enum_set</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">&gt;</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">enums</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <a class="link" href="boost/enums/operator_.html" title="Function template operator&amp;"><span class="keyword">operator</span><span class="special">&amp;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <a class="link" href="boost/enums/operator_id35968955.html" title="Function template operator|"><span class="keyword">operator</span><span class="special">|</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <a class="link" href="boost/enums/operator%5E.html" title="Function template operator^"><span class="keyword">operator</span><span class="special">^</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> charT<span class="special">,</span> <span class="keyword">typename</span> ch_traits<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span> <span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ch_traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span>
+ <a class="link" href="boost/enums/operator_id35969032.html" title="Function template operator&gt;&gt;"><span class="keyword">operator</span><span class="special">&gt;&gt;</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span> <span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ch_traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> charT<span class="special">,</span> <span class="keyword">typename</span> ch_traits<span class="special">,</span> <span class="keyword">typename</span> EC<span class="special">&gt;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ch_traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span>
+ <a class="link" href="boost/enums/operator_id35969130.html" title="Function template operator&lt;&lt;"><span class="keyword">operator</span><span class="special">&lt;&lt;</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">charT</span><span class="special">,</span> <span class="identifier">ch_traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="boost/enums/enum_set.html" title="Class template enum_set">enum_set</a><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="mpl_enums_reference"></a>MPL Enums Reference</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Header <boost/enums/mpl/enum_c.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/mpl/enum_c_tag.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/mpl/enum_range_c.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/mpl/equal_to.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/mpl/greater.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/mpl/greater_equal.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/mpl/less.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/mpl/less_equal.hpp></span></dt>
+<dd><dl></dl></dd>
+<dt><span class="section">Header <boost/enums/mpl/numeric_cast.hpp></span></dt>
+<dd><dl></dl></dd>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.mpl.enum_c_hpp"></a>Header &lt;boost/enums/mpl/enum_c.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">enum_type</span><span class="special">&lt;</span> <span class="identifier">EC</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> V<span class="special">&gt;</span>
+ <span class="keyword">struct</span> <a class="link" href="boost/mpl/enum_c.html" title="Struct template enum_c">enum_c</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.mpl.enum_c_tag_hpp"></a>Header &lt;boost/enums/mpl/enum_c_tag.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
+ <span class="keyword">struct</span> <a class="link" href="boost/mpl/enum_c_tag.html" title="Struct enum_c_tag">enum_c_tag</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.mpl.enum_range_c_hpp"></a>Header &lt;boost/enums/mpl/enum_range_c.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> EC<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> Start <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> Finish <span class="special">=</span> <span class="identifier">enums</span><span class="special">::</span><span class="identifier">meta</span><span class="special">::</span><span class="identifier">size</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <a class="link" href="boost/mpl/enum_range_c.html" title="Struct template enum_range_c">enum_range_c</a><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.mpl.equal_to_hpp"></a>Header &lt;boost/enums/mpl/equal_to.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/mpl/equal_to_impl_enum_c_ta_id35963068.html" title="Struct equal_to_impl&lt;enum_c_tag, enum_c_tag&gt;">equal_to_impl</a><span class="special">&lt;</span><span class="identifier">enum_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.mpl.greater_hpp"></a>Header &lt;boost/enums/mpl/greater.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/mpl/greater_impl_enum_c_tag_id35963108.html" title="Struct greater_impl&lt;enum_c_tag, enum_c_tag&gt;">greater_impl</a><span class="special">&lt;</span><span class="identifier">enum_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.mpl.greater_equal_hpp"></a>Header &lt;boost/enums/mpl/greater_equal.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/mpl/greater_equal_impl_enum_id35963147.html" title="Struct greater_equal_impl&lt;enum_c_tag, enum_c_tag&gt;">greater_equal_impl</a><span class="special">&lt;</span><span class="identifier">enum_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.mpl.less_hpp"></a>Header &lt;boost/enums/mpl/less.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/mpl/less_impl_enum_c_tag__e_id35963187.html" title="Struct less_impl&lt;enum_c_tag, enum_c_tag&gt;">less_impl</a><span class="special">&lt;</span><span class="identifier">enum_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.mpl.less_equal_hpp"></a>Header &lt;boost/enums/mpl/less_equal.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/mpl/less_equal_impl_enum_c__id35963227.html" title="Struct less_equal_impl&lt;enum_c_tag, enum_c_tag&gt;">less_equal_impl</a><span class="special">&lt;</span><span class="identifier">enum_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.enums.mpl.numeric_cast_hpp"></a>Header &lt;boost/enums/mpl/numeric_cast.hpp&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/mpl/numeric_cast_integral_c_id35963266.html" title="Struct numeric_cast&lt;integral_c_tag, enum_c_tag&gt;">numeric_cast</a><span class="special">&lt;</span><span class="identifier">integral_c_tag</span><span class="special">,</span> <span class="identifier">enum_c_tag</span><span class="special">&gt;</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost.enums.appendices"></a><a class="link" href="index.html#boost.enums.appendices" title="Appendices">Appendices</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Appendix A: History</span></dt>
+<dd><dl>
+<dt><span class="section">Version 0.2.0, Mars 13, 2011 </span></dt>
+<dt><span class="section">Version 0.1.0, Feb 27, 2011 </span></dt>
+</dl></dd>
+<dt><span class="section"><a href="index.html#boost.enums.appendices.rationale">Appendix B: Design
+ Rationale</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.appendices.implementation">Appendix C: Implementation
+ Notes</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.appendices.acknowledgements">Appendix D:
+ Acknowledgements</a></span></dt>
+<dt><span class="section"><a href="index.html#boost.enums.appendices.appendix_e__tests">Appendix E:
+ Tests</a></span></dt>
+<dd><dl>
+<dt><span class="section">scoped_enum_class</span></dt>
+<dt><span class="section">scoped_enum_type</span></dt>
+<dt><span class="section">scoped_enum_no_cons_class</span></dt>
+<dt><span class="section">scoped_enum_no_cons_type</span></dt>
+</dl></dd>
+<dt><span class="section"><a href="index.html#boost.enums.appendices.appendix_f__tickets">Appendix
+ F: Tickets</a></span></dt>
+<dt><span class="section">Appendix F: Future plans</span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.appendices.history"></a><a class="link" href="index.html#boost.enums.appendices.history" title="Appendix A: History">Appendix A: History</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Version 0.2.0, Mars 13, 2011 </span></dt>
+<dt><span class="section">Version 0.1.0, Feb 27, 2011 </span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.appendices.history.__version_0_2_0__mars_13__2011__"></a><a class="link" href="index.html#boost.enums.appendices.history.__version_0_2_0__mars_13__2011__" title="Version 0.2.0, Mars 13, 2011"><span class="bold"><strong>Version 0.2.0, Mars 13, 2011</strong></span> </a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>New Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Added first, last, red, succ, pos, val, size functions and meta-functions.
+ </li>
+<li class="listitem">
+ Added enum_array indexed by an enumeration.
+ </li>
+<li class="listitem">
+ Added enum_set using a bit for each element of a enumeration.
+ </li>
+<li class="listitem">
+ Added enum_range. a run-time range view of an enumeration
+ </li>
+<li class="listitem">
+ Added enum_range_c, a MPL sequence associated to an enumeration.
+ </li>
+</ul></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.appendices.history.__version_0_1_0__feb_27__2011__"></a><a class="link" href="index.html#boost.enums.appendices.history.__version_0_1_0__feb_27__2011__" title="Version 0.1.0, Feb 27, 2011"><span class="bold"><strong>Version 0.1.0, Feb 27, 2011</strong></span> </a>
+</h4></div></div></div>
+<p>
+ Initial version committed on the sandbox
+ </p>
+<p>
+ <span class="bold"><strong>Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Some language-like macros helping to define scoped enum classes.
+ </li>
+<li class="listitem">
+ Some meta-functions and functions helping to write portable programs
+ using scoped enum classes under compilers supporting them natively
+ or by an emulation on the others.
+ </li>
+</ul></div>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.appendices.rationale"></a><a class="link" href="index.html#boost.enums.appendices.rationale" title="Appendix B: Design Rationale">Appendix B: Design
+ Rationale</a>
+</h3></div></div></div>
+<a name="boost.enums.appendices.rationale.how_the_macros_generated_code_looks_like_"></a><h5>
+<a name="id36385397"></a>
+ <a class="link" href="index.html#boost.enums.appendices.rationale.how_the_macros_generated_code_looks_like_">How
+ the macros generated code looks like?</a>
+ </h5>
+<p>
+ Nest follows the skeleton of the emulation class
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">EC</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">enum</span> <span class="identifier">type</span> <span class="special">{</span> <span class="special">&lt;</span><span class="identifier">LIST_OF_ENUM_LITERALS</span><span class="special">&gt;</span> <span class="special">};</span>
+ <span class="keyword">typedef</span> <span class="identifier">UT</span> <span class="identifier">underlying_type</span><span class="special">;</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">underlying_type</span> <span class="identifier">val_</span><span class="special">;</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// constructors if requested
+</span> <span class="identifier">EC</span><span class="special">();</span>
+ <span class="identifier">EC</span><span class="special">(</span><span class="identifier">type</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="comment">// implicit conversion for scoped enum type only
+</span> <span class="keyword">operator</span> <span class="identifier">underlying_type</span><span class="special">();</span>
+ <span class="keyword">operator</span> <span class="identifier">type</span><span class="special">();</span>
+ <span class="comment">// explicit conversion for scoped enum if available and no need for the implicit ones
+</span> <span class="keyword">explicit</span> <span class="keyword">operator</span> <span class="identifier">underlying_type</span><span class="special">();</span>
+ <span class="keyword">explicit</span> <span class="keyword">operator</span> <span class="identifier">type</span><span class="special">();</span>
+ <span class="comment">// assignment
+</span> <span class="identifier">EC</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">EC</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="comment">// assignment from enum literals
+</span> <span class="identifier">EC</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">type</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="comment">// workaround in case there are no constructors
+</span> <span class="keyword">static</span> <span class="identifier">EC</span> <span class="identifier">default_value</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">EC</span> <span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">underlying_type</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="keyword">static</span> <span class="identifier">EC</span> <span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">type</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="comment">// explicit conversion in case explicit conversions are not available
+</span> <span class="identifier">type</span> <span class="identifier">enum_value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">underlying_type</span> <span class="identifier">underlying_value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="comment">// comparison operators
+</span> <span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="identifier">EC</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">EC</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="identifier">type</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">EC</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="identifier">EC</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">type</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="comment">// ...
+</span> <span class="comment">// friend conversions to follow the Boost.Conversion protocol
+</span> <span class="keyword">friend</span> <span class="identifier">EC</span> <span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">underlying_type</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;);</span>
+ <span class="keyword">friend</span> <span class="identifier">EC</span> <span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">type</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span><span class="identifier">EC</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;);</span>
+ <span class="keyword">friend</span> <span class="identifier">underlying_type</span> <span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">EC</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span><span class="identifier">underlying_type</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;);</span>
+ <span class="keyword">friend</span> <span class="identifier">type</span> <span class="identifier">convert_to</span><span class="special">(</span><span class="identifier">EC</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dummy</span><span class="special">::</span><span class="identifier">type_tag</span><span class="special">&lt;</span><span class="identifier">type</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;);</span>
+<span class="special">};</span>
+</pre>
+<a name="boost.enums.appendices.rationale.what_about_using_nested_static_constants_instead_of_enum_literals_"></a><h5>
+<a name="id36386501"></a>
+ <a class="link" href="index.html#boost.enums.appendices.rationale.what_about_using_nested_static_constants_instead_of_enum_literals_">What
+ about using nested static constants instead of enum literals?</a>
+ </h5>
+<a name="boost.enums.appendices.rationale.why_an_alternative_design_for_the_scoped_enum_macros_"></a><h5>
+<a name="id36386523"></a>
+ <a class="link" href="index.html#boost.enums.appendices.rationale.why_an_alternative_design_for_the_scoped_enum_macros_">Why
+ an alternative design for the SCOPED ENUM macros?</a>
+ </h5>
+<p>
+ Beman's macros are really simple and provide an already useful abstraction.
+ </p>
+<p>
+ The major liabilities of the Beman's design is that the emulation is unable
+ to:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Avoid the overloading ambiguity as the scoped enum is convertible to
+ int.
+ </li>
+<li class="listitem">
+ Forbid the implicit conversion to the underlying type, that is, implement
+ scoped enum classes.
+ </li>
+<li class="listitem">
+ Specify the underlying type.
+ </li>
+</ul></div>
+<p>
+ We can say that the Beman's approach implements only scoped enum literals.
+ </p>
+<p>
+ Beman's design has also advantages. The enum type is a real enum, i.e., a
+ built-in that can be used quasi-transparently in:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ unions,
+ </li>
+<li class="listitem">
+ bitfields,
+ </li>
+<li class="listitem">
+ switches and
+ </li>
+<li class="listitem">
+ template parameters.
+ </li>
+</ul></div>
+<p>
+ So I would say that both designs can be used depending on the context.
+ </p>
+<a name="boost.enums.appendices.rationale.using_adl_to_specialize_the_meta_information_functions"></a><h5>
+<a name="id36386618"></a>
+ <a class="link" href="index.html#boost.enums.appendices.rationale.using_adl_to_specialize_the_meta_information_functions">Using
+ ADL to specialize the meta-information functions</a>
+ </h5>
+<p>
+ The meta-functions need to be defined as specializations of the library classes.
+ For the free functions we have two alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Use of overloading and ADL
+ </li>
+<li class="listitem">
+ Use of a specific enums function which delegates to a specialized enum
+ traits class
+ </li>
+</ul></div>
+<p>
+ The first option seems more attractive as the user doesn't need to use the
+ namespace boost::enemas:: to have access to the function, at least for the
+ functions having the enumeration as parameter. Unfortunately there are some
+ functions that don't have the enumeration as parameter, in particular the
+ val() function that need to be called giving the enumeration as template
+ parameter, val&lt;E&gt;(p).
+ </p>
+<p>
+ There are some function that have a convenient default implementation, first,
+ last, pred and succ. These functions will leave in the boost::enums namespace.
+ </p>
+<p>
+ As always the best could be to mix in a single design the best of both approaches
+ and follow the design of the Boost.Swap and Boost.Conversion libraries, that
+ is, defines the functions at the boost::enums level, which will call using
+ ADL the free function.
+ </p>
+<a name="boost.enums.appendices.rationale.does_the_enum_c_class_need_the_additional_enum_emulation_class_as_parameter_"></a><h5>
+<a name="id36386682"></a>
+ <a class="link" href="index.html#boost.enums.appendices.rationale.does_the_enum_c_class_need_the_additional_enum_emulation_class_as_parameter_">Does
+ the enum_c class need the additional enum emulation class as parameter?</a>
+ </h5>
+<p>
+ Initially this parameter was not present, and was deduced using a trait emulator_type
+ class. The problem with this trait class is that it forces to make the specialization
+ on the correct namespace boost::enums, so we cannot include it on the macro,
+ as the scoped enum could be in a specific namespace.
+ </p>
+<p>
+ For compilers that support scoped enums but that doesn't define the underlying_type
+ the first versions of the library generated this specialization on a specific
+ macro, BOOST_ENUMS_SPECIALIZATIONS
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.appendices.implementation"></a><a class="link" href="index.html#boost.enums.appendices.implementation" title="Appendix C: Implementation Notes">Appendix C: Implementation
+ Notes</a>
+</h3></div></div></div>
+<a name="boost.enums.appendices.implementation.performance_comparison_between_the_use_of_the_emulated_enums_and_direct_use_of_ints"></a><h5>
+<a name="id36386733"></a>
+ <a class="link" href="index.html#boost.enums.appendices.implementation.performance_comparison_between_the_use_of_the_emulated_enums_and_direct_use_of_ints">Performance
+ comparison between the use of the emulated enums and direct use of ints</a>
+ </h5>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.appendices.acknowledgements"></a><a class="link" href="index.html#boost.enums.appendices.acknowledgements" title="Appendix D: Acknowledgements">Appendix D:
+ Acknowledgements</a>
+</h3></div></div></div>
+<p>
+ Thanks to Beman Dawes for opening the initial discussion. Daniel James for
+ giving the idea of the alternative implementation and to Matt Calabrese for
+ his insightful comments on the ML. This library will never be created without
+ the exchanges they made on the ML (see here).
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.appendices.appendix_e__tests"></a><a class="link" href="index.html#boost.enums.appendices.appendix_e__tests" title="Appendix E: Tests">Appendix E:
+ Tests</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">scoped_enum_class</span></dt>
+<dt><span class="section">scoped_enum_type</span></dt>
+<dt><span class="section">scoped_enum_no_cons_class</span></dt>
+<dt><span class="section">scoped_enum_no_cons_type</span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.appendices.appendix_e__tests.scoped_enum_class"></a><a class="link" href="index.html#boost.enums.appendices.appendix_e__tests.scoped_enum_class" title="scoped_enum_class">scoped_enum_class</a>
+</h4></div></div></div>
+<div class="table">
+<a name="boost.enums.appendices.appendix_e__tests.scoped_enum_class.constructors_and_assignment"></a><p class="title"><b>Table&#160;1.1.&#160;Constructors and Assignment</b></p>
+<div class="table-contents"><table class="table" summary="Constructors and Assignment">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody><tr>
+<td>
+ <p>
+ Name
+ </p>
+ </td>
+<td>
+ <p>
+ kind
+ </p>
+ </td>
+<td>
+ <p>
+ Description
+ </p>
+ </td>
+<td>
+ <p>
+ Result
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.appendices.appendix_e__tests.scoped_enum_type"></a><a class="link" href="index.html#boost.enums.appendices.appendix_e__tests.scoped_enum_type" title="scoped_enum_type">scoped_enum_type</a>
+</h4></div></div></div>
+<div class="table">
+<a name="boost.enums.appendices.appendix_e__tests.scoped_enum_type.constructors_and_assignment"></a><p class="title"><b>Table&#160;1.2.&#160;Constructors and Assignment</b></p>
+<div class="table-contents"><table class="table" summary="Constructors and Assignment">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody><tr>
+<td>
+ <p>
+ Name
+ </p>
+ </td>
+<td>
+ <p>
+ kind
+ </p>
+ </td>
+<td>
+ <p>
+ Description
+ </p>
+ </td>
+<td>
+ <p>
+ Result
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.appendices.appendix_e__tests.scoped_enum_no_cons_class"></a><a class="link" href="index.html#boost.enums.appendices.appendix_e__tests.scoped_enum_no_cons_class" title="scoped_enum_no_cons_class">scoped_enum_no_cons_class</a>
+</h4></div></div></div>
+<div class="table">
+<a name="boost.enums.appendices.appendix_e__tests.scoped_enum_no_cons_class.constructors_and_assignment"></a><p class="title"><b>Table&#160;1.3.&#160;Constructors and Assignment</b></p>
+<div class="table-contents"><table class="table" summary="Constructors and Assignment">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody><tr>
+<td>
+ <p>
+ Name
+ </p>
+ </td>
+<td>
+ <p>
+ kind
+ </p>
+ </td>
+<td>
+ <p>
+ Description
+ </p>
+ </td>
+<td>
+ <p>
+ Result
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost.enums.appendices.appendix_e__tests.scoped_enum_no_cons_type"></a><a class="link" href="index.html#boost.enums.appendices.appendix_e__tests.scoped_enum_no_cons_type" title="scoped_enum_no_cons_type">scoped_enum_no_cons_type</a>
+</h4></div></div></div>
+<div class="table">
+<a name="boost.enums.appendices.appendix_e__tests.scoped_enum_no_cons_type.constructors_and_assignment"></a><p class="title"><b>Table&#160;1.4.&#160;Constructors and Assignment</b></p>
+<div class="table-contents"><table class="table" summary="Constructors and Assignment">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<tbody><tr>
+<td>
+ <p>
+ Name
+ </p>
+ </td>
+<td>
+ <p>
+ kind
+ </p>
+ </td>
+<td>
+ <p>
+ Description
+ </p>
+ </td>
+<td>
+ <p>
+ Result
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+</div>
+<div class="section"><div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.appendices.appendix_f__tickets"></a><a class="link" href="index.html#boost.enums.appendices.appendix_f__tickets" title="Appendix F: Tickets">Appendix
+ F: Tickets</a>
+</h3></div></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost.enums.appendices.todo"></a><a class="link" href="index.html#boost.enums.appendices.todo" title="Appendix F: Future plans">Appendix F: Future plans</a>
+</h3></div></div></div>
+<a name="boost.enums.appendices.todo.tasks_to_do_before_review"></a><h5>
+<a name="id36387098"></a>
+ <a class="link" href="index.html#boost.enums.appendices.todo.tasks_to_do_before_review">Tasks
+ to do before review</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Complete the doc and the tests
+ </li>
+<li class="listitem">
+ Add ordinal macros.
+ </li>
+<li class="listitem">
+ Conversion to and from strings.
+ </li>
+</ul></div>
+<a name="boost.enums.appendices.todo.for_later_releases"></a><h5>
+<a name="id36387140"></a>
+ <a class="link" href="index.html#boost.enums.appendices.todo.for_later_releases">For later
+ releases</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ I don't have any pending ideas :(
+ </li></ul></div>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost.enums.indexes"></a><a class="link" href="index.html#boost.enums.indexes" title="Indexes">Indexes</a>
+</h2></div></div></div>
+<p>
+
+
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: March 15, 2011 at 22:05:41 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="boost/enums/default_value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+</body>
+</html>

Modified: sandbox/enums/libs/enums/doc/html/standalone_HTML.manifest
==============================================================================
--- sandbox/enums/libs/enums/doc/html/standalone_HTML.manifest (original)
+++ sandbox/enums/libs/enums/doc/html/standalone_HTML.manifest 2011-03-15 18:08:18 EDT (Tue, 15 Mar 2011)
@@ -1,7 +1,4 @@
 index.html
-BOOST_NO_UNDERLYING_TYPE.html
-BOOST_NO_UNRESTRICTED_UNION.html
-BOOST_NO_ENUM_UNRESTRICTED_UNION.html
 boost/enums/default_value.html
 BOOST_ENUM_CLASS_START.html
 BOOST_ENUM_TYPE_START.html
@@ -12,63 +9,62 @@
 BOOST_ENUM_CLASS_CONS_END.html
 BOOST_ENUM_TYPE_CONS_END.html
 BOOST_ENUMS_SPECIALIZATIONS.html
+boost/enums/emulator_type.html
+boost/enums/enum_class_cons.html
+boost/enums/enum_class_no_cons.html
+boost/enums/enum_subrange.html
+boost/enums/enum_type.html
+boost/enums/enum_type_cons.html
+boost/enums/enum_type_no_cons.html
+boost/enums/underlying_type.html
+boost/enums/linear_enum_traiter.html
+boost/enums/meta/enum_traits.html
+boost/enums/meta/first.html
+boost/enums/first_id35961669.html
+boost/enums/meta/last.html
+boost/enums/last_id35961724.html
+boost/enums/meta/pos.html
+boost/enums/pos_id35961787.html
+boost/enums/meta/pred.html
+boost/enums/pred_id35961885.html
+boost/enums/meta/size.html
+boost/enums/meta/succ.html
+boost/enums/succ_id35962011.html
+boost/enums/meta/val.html
+boost/enums/val_id35962091.html
 boost/enums/enum_array.html
 boost/enums/operator__.html
-boost/enums/operator_id35961135.html
+boost/enums/operator_id35967488.html
 boost/enums/operator__.html
-boost/enums/operator_id35961212.html
-boost/enums/operator___id35961250.html
-boost/enums/operator___id35961289.html
+boost/enums/operator_id35967565.html
+boost/enums/operator___id35967603.html
+boost/enums/operator___id35967641.html
 boost/enums/swap.html
-boost/enums/get_c_array_id35961377.html
-boost/enums/get_c_array_id35961403.html
-BOOST_OPAQUE_DETAIL_PAIR_TO_LITERAL.html
-BOOST_OPAQUE_DETAIL_OPTPAIR_TO_NAME.html
-BOOST_OPAQUE_DETAIL_OPTPAIR_TO_INTERNAL_NAME.html
-BOOST_OPAQUE_DETAIL_CONST_DECLARATION.html
-BOOST_OPAQUE_DETAIL_CONST_DEFINITION.html
-BOOST_ENUM_CLASS.html
+boost/enums/get_c_array_id35967730.html
+boost/enums/get_c_array_id35967755.html
 boost/enums/enum_range.html
-boost/enums/make_range_id35961562.html
-boost/enums/make_range_id35961594.html
+boost/enums/make_range_id35967838.html
+boost/enums/make_range_id35967871.html
 boost/enums/enum_set.html
 boost/enums/enum_set/reference.html
 boost/enums/operator_.html
-boost/enums/operator_id35962681.html
+boost/enums/operator_id35968955.html
 boost/enums/operator^.html
-boost/enums/operator_id35962758.html
-boost/enums/operator_id35962856.html
-boost/hash_enums_enum_set_EC_id35961666.html
-boost/enums/enum_subrange_traiter.html
-boost/enums/linear_enum_traiter.html
-boost/enums/meta/enum_traits.html
-boost/enums/enum_type.html
-boost/enums/meta/first.html
-boost/enums/first_id35963188.html
-boost/enums/meta/last.html
-boost/enums/last_id35963276.html
+boost/enums/operator_id35969032.html
+boost/enums/operator_id35969130.html
+boost/hash_enums_enum_set_EC_id35967943.html
 boost/mpl/enum_c.html
 boost/mpl/enum_c_tag.html
 boost/mpl/enum_range_c.html
-boost/mpl/equal_to_impl_enum_c_ta_id35963470.html
-boost/mpl/equal_to_impl_enum_c_ta_id35963470/apply.html
-boost/mpl/greater_impl_enum_c_tag_id35963509.html
-boost/mpl/greater_impl_enum_c_tag_id35963509/apply.html
-boost/mpl/greater_equal_impl_enum_id35963549.html
-boost/mpl/greater_equal_impl_enum_id35963549/apply.html
-boost/mpl/less_impl_enum_c_tag__e_id35963589.html
-boost/mpl/less_impl_enum_c_tag__e_id35963589/apply.html
-boost/mpl/less_equal_impl_enum_c__id35963628.html
-boost/mpl/less_equal_impl_enum_c__id35963628/apply.html
-boost/mpl/numeric_cast_integral_c_id35963668.html
-boost/mpl/numeric_cast_integral_c_id35963668/apply.html
-boost/enums/meta/pos.html
-boost/enums/pos_id35963750.html
-boost/enums/meta/pred.html
-boost/enums/pred_id35963854.html
-boost/enums/meta/size.html
-boost/enums/meta/succ.html
-boost/enums/succ_id35963986.html
-boost/enums/underlying_type.html
-boost/enums/meta/val.html
-boost/enums/val_id35964126.html
+boost/mpl/equal_to_impl_enum_c_ta_id35963068.html
+boost/mpl/equal_to_impl_enum_c_ta_id35963068/apply.html
+boost/mpl/greater_impl_enum_c_tag_id35963108.html
+boost/mpl/greater_impl_enum_c_tag_id35963108/apply.html
+boost/mpl/greater_equal_impl_enum_id35963147.html
+boost/mpl/greater_equal_impl_enum_id35963147/apply.html
+boost/mpl/less_impl_enum_c_tag__e_id35963187.html
+boost/mpl/less_impl_enum_c_tag__e_id35963187/apply.html
+boost/mpl/less_equal_impl_enum_c__id35963227.html
+boost/mpl/less_equal_impl_enum_c__id35963227/apply.html
+boost/mpl/numeric_cast_integral_c_id35963266.html
+boost/mpl/numeric_cast_integral_c_id35963266/apply.html


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk