19 Jun
2011
19 Jun
'11
4:45 p.m.
On 19 June 2011 01:37, Roman Neuhauser
Why doesn't DAPHP_REGISTER_CLASSES expand all the way as DAPHP_REGISTER_CLASS does? Please enlighten me.
C macros can't be called recursively. Boost.Preprocessor uses a clever technique to get round that for some macros, but it doesn't seem to do it for BOOST_PP_SEQ_FOR_EACH, I'm not sure why, it might be too expensive to do for every macro. I think that one thing you can do (and this is pretty crummy) is to use BOOST_PP_SEQ_FOR_EACH_I for one of the calls and just ignore the index. Or alternatively you can use a macro that supports recursion, I think BOOST_PP_SEQ_FOLD_LEFT, BOOST_PP_SEQ_FOLD_RIGHT and BOOST_PP_FOR are possibilities.