$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2005-11-05 16:11:53
> -----Original Message-----
> From: boost-bounces_at_[hidden]
> [mailto:boost-bounces_at_[hidden]] 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