Mirror reflection library 0.5.13
|
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