Mirror reflection library 0.5.13

mirror/utils/quick_reg/enum.hpp

00001 
00012 #ifndef MIRROR_UTILS_QUICK_REG_ENUM_1011291729_HPP
00013 #define MIRROR_UTILS_QUICK_REG_ENUM_1011291729_HPP
00014 
00015 MIRROR_NAMESPACE_BEGIN
00016 
00017 // helper macro for MIRROR_QREG_ENUM
00018 #define MIRROR_HLP_QREG_ENUM_VAL(R, X, ELEM) \
00019 MIRROR_REG_ENUM_VALUE(ELEM)
00020 
00021 #ifdef MIRROR_DOCUMENTATION_ONLY
00022 
00023 
00033 #define MIRROR_QREG_GLOBAL_SCOPE_ENUM(ENUM, VALUES)
00034 #else
00035 #define MIRROR_QREG_GLOBAL_SCOPE_ENUM(ENUM, VALUES) \
00036 MIRROR_REG_GLOBAL_SCOPE_ENUM_BEGIN(ENUM) \
00037 BOOST_PP_SEQ_FOR_EACH(MIRROR_HLP_QREG_ENUM_VAL, _, VALUES) \
00038 MIRROR_REG_ENUM_END
00039 #endif
00040 
00041 #ifdef MIRROR_DOCUMENTATION_ONLY
00042 
00043 
00053 #define MIRROR_QREG_ENUM(NAMESPACE, ENUM, VALUES)
00054 #else
00055 #define MIRROR_QREG_ENUM(NAMESPACE, ENUM, VALUES) \
00056 MIRROR_REG_ENUM_BEGIN(NAMESPACE, ENUM) \
00057 BOOST_PP_SEQ_FOR_EACH(MIRROR_HLP_QREG_ENUM_VAL, _, VALUES) \
00058 MIRROR_REG_ENUM_END
00059 #endif
00060 
00061 #ifdef MIRROR_DOCUMENTATION_ONLY
00062 
00063 
00073 #define MIRROR_QREG_NESTED_ENUM(PARENT_CLASS, ENUM, VALUES)
00074 #else
00075 #define MIRROR_QREG_NESTED_ENUM(PARENT_CLASS, ENUM, VALUES) \
00076 MIRROR_REG_NESTED_ENUM_BEGIN(PARENT_CLASS, ENUM) \
00077 BOOST_PP_SEQ_FOR_EACH(MIRROR_HLP_QREG_ENUM_VAL, _, VALUES) \
00078 MIRROR_REG_ENUM_END
00079 #endif
00080 
00081 MIRROR_NAMESPACE_END
00082 
00083 #endif //include guard
00084 

Copyright © 2006-2011 Matus Chochlik, University of Zilina, Zilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Fri Dec 16 2011 by Doxygen (version 1.7.3).
Important note: Although the 'boostified' version of Mirror uses the Boost C++ libraries Coding Guidelines and is implemented inside of the boost namespace, it IS NOT an officially reviewed and accepted Boost library. Mirror is being developed with the intention to be submitted for review for inclusion to the Boost C++ libraries.