On Wed, Dec 19, 2012 at 3:58 PM, Littlefield, Tyler <tyler@tysdomain.com> wrote:
hello all:
I have the following code:
#define REGISTER_MODULE(module)(\
#ifdef BOOST_PP_EQUAL(BOOST_PP_LIST_SIZE(MODULES), 0)\
//there are currently no modules in the list.
#define MODULES((module), BOOST_PP_NIL)
#else
BOOST_PP_LIST_APPEND(MODULES, module)\
#endif
)

I am somewhat of a newb at preprocessor magic, so any advice would be useful. For whatever reason this translates out to 'module)' when I try to compile it with -E -P.
The idea is that it will add to the modules list (assuming the modules list exists) the module to be registered, which should just be a type.
Thanks,

Someone can correct me here, but I believe you can't use preprocessor directives (#define, #if, etc.) within a macro definition, and, well, who knows what'll happen if you try :/

- Jeff