$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Vesa Karvonen (vesa_karvonen_at_[hidden])
Date: 2002-04-18 14:49:18
From: "John Harris (TT)" <john.harris_at_[hidden]>
> I found that it compiles fine on MSVC with 100, but invocation of my
macros
> breaks (compiler runs forever) somewhere between 60 and 75.
>
> I need it to generate enum type declarations and char array initializer
> lists, and 16 is kind of low for a few of our enums.
How do you iterate the tuple elements? Do you use BOOST_PP_REPEAT() or do
you convert the tuple to a list and use BOOST_PP_LIST_FOR_EACH()?
Is the syntax very important?
It is possible to build lists that are much longer than the tuple limit 16
by using the following technique:
BOOST_PP_LIST_FOLD_RIGHT_2ND
( BOOST_PP_LIST_APPEND_D
, BOOST_PP_TUPLE_TO_LIST
( N
, BOOST_PP_TUPLE_TO_LIST(M, (E11, E12, ..., E1M) )
, BOOST_PP_TUPLE_TO_LIST(M, (E21, E22, ..., E2M) )
, ...
, BOOST_PP_TUPLE_TO_LIST(M, (EN1, EN2, ..., ENM) )
)
)
BOOST_PP_LIST_FOLD_RIGHT_2ND() macro is not available in the current
release, but it is available in the CVS.