Mirror reflection library 0.5.13
|
00001 00012 #ifndef MIRROR_UTILS_QUICK_REG_POD_CLASS_1011291729_HPP 00013 #define MIRROR_UTILS_QUICK_REG_POD_CLASS_1011291729_HPP 00014 00015 MIRROR_NAMESPACE_BEGIN 00016 00017 // helper macro for MIRROR_QREG_POD_CLASS 00018 #define MIRROR_HLP_QREG_PLAIN_MEM_VAR(R, X, ELEM) \ 00019 MIRROR_REG_CLASS_MEM_VAR(_, _, _, ELEM) 00020 00021 #ifdef MIRROR_DOCUMENTATION_ONLY 00022 00023 00035 #define MIRROR_QREG_GLOBAL_SCOPE_POD_CLASS(ELABORATED_TYPE, CLASS, MEMBERS) 00036 #else 00037 #define MIRROR_QREG_GLOBAL_SCOPE_POD_CLASS(ELABORATED_TYPE, CLASS, MEMBERS) \ 00038 MIRROR_REG_GLOBAL_SCOPE_CLASS_BEGIN(ELABORATED_TYPE, CLASS) \ 00039 MIRROR_REG_CLASS_MEM_VARS_BEGIN \ 00040 BOOST_PP_SEQ_FOR_EACH(MIRROR_HLP_QREG_PLAIN_MEM_VAR, _, MEMBERS) \ 00041 MIRROR_REG_CLASS_MEM_VARS_END \ 00042 MIRROR_REG_CONSTRUCTORS_BEGIN \ 00043 MIRROR_REG_DEFAULT_CONSTRUCTOR(public) \ 00044 MIRROR_REG_COPY_CONSTRUCTOR(public) \ 00045 MIRROR_REG_STRUCT_INITIALIZER() \ 00046 MIRROR_REG_CONSTRUCTORS_END \ 00047 MIRROR_REG_CLASS_END 00048 #endif 00049 00050 #ifdef MIRROR_DOCUMENTATION_ONLY 00051 00052 00066 #define MIRROR_QREG_POD_CLASS(ELABORATED_TYPE, NAMESPACE, CLASS, MEMBERS) 00067 #else 00068 #define MIRROR_QREG_POD_CLASS(ELABORATED_TYPE, NAMESPACE, CLASS, MEMBERS) \ 00069 MIRROR_REG_CLASS_BEGIN(ELABORATED_TYPE, NAMESPACE, CLASS) \ 00070 MIRROR_REG_CLASS_MEM_VARS_BEGIN \ 00071 BOOST_PP_SEQ_FOR_EACH(MIRROR_HLP_QREG_PLAIN_MEM_VAR, _, MEMBERS) \ 00072 MIRROR_REG_CLASS_MEM_VARS_END \ 00073 MIRROR_REG_CONSTRUCTORS_BEGIN \ 00074 MIRROR_REG_DEFAULT_CONSTRUCTOR(public) \ 00075 MIRROR_REG_COPY_CONSTRUCTOR(public) \ 00076 MIRROR_REG_STRUCT_INITIALIZER() \ 00077 MIRROR_REG_CONSTRUCTORS_END \ 00078 MIRROR_REG_CLASS_END 00079 #endif 00080 00081 #ifdef MIRROR_DOCUMENTATION_ONLY 00082 00083 00097 #define MIRROR_QREG_NESTED_POD_CLASS(ELABORATED_TYPE, PARENT_CLASS, CLASS, MEMBERS) 00098 #else 00099 #define MIRROR_QREG_NESTED_POD_CLASS(ELABORATED_TYPE, PARENT_CLASS, CLASS, MEMBERS)\ 00100 MIRROR_REG_NESTED_CLASS_BEGIN(ELABORATED_TYPE, PARENT_CLASS, CLASS) \ 00101 MIRROR_REG_CLASS_MEM_VARS_BEGIN \ 00102 BOOST_PP_SEQ_FOR_EACH(MIRROR_HLP_QREG_PLAIN_MEM_VAR, _, MEMBERS) \ 00103 MIRROR_REG_CLASS_MEM_VARS_END \ 00104 MIRROR_REG_CONSTRUCTORS_BEGIN \ 00105 MIRROR_REG_DEFAULT_CONSTRUCTOR(public) \ 00106 MIRROR_REG_COPY_CONSTRUCTOR(public) \ 00107 MIRROR_REG_STRUCT_INITIALIZER() \ 00108 MIRROR_REG_CONSTRUCTORS_END \ 00109 MIRROR_REG_CLASS_END 00110 #endif 00111 00112 MIRROR_NAMESPACE_END 00113 00114 #endif //include guard 00115