
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Alex Mekhed
Hello, sorry if I will be wrong, I am new to boost. As far as I know, BOOST_PP_SEQ_FOR_EACH_I works only with 256
The primary reason that SEQ_FOR_EACH_I only works for up to 256 elements is that it passes the element index to the user-defined macro... BOOST_PP_SEQ_FOR_EACH_I(macro, data, (a)(b)(c)) macro(r, data, 0, a) macro(r, data, 1, b) macro(r, data, 2, c) ^ ^ ^ ...and the library cannot count higher than 256. The seconary reason that SEQ_FOR_EACH_I only works for a limited number of elements is that it is difficult to get access to the user-defined macro during the sequential iteration. That is, it isn't hard to enumerate through any number of elements; it's another thing altogether to call a macro for each element. Now, I said it is difficult. It is possible (Chaos does it), but you have to rely a great deal on the timing of expansion order--which is nearly impossible to support on the preprocessors of some prominent compilers that Boost must support. Regards, Paul Mensonides