Hi there, thanks Steven for your good advise. I have been making some
progress but I'm stuck on one part. Here is some code that exhibits my
problem.
#include
template< int i, int j > void test() {}
int main()
{
#define S1 (1)(2)(3)
#define S2 (1)(2)(3)
#define FOR_EACH( r, data, elem ) BOOST_PP_CAT( elem \
, BOOST_PP_COMMA() )
#define FOR_EACH_PRODUCT(r, product) test< BOOST_PP_SEQ_FOR_EACH(
FOR_EACH \
,
BOOST_PP_EMPTY() \
, product \
) >();
BOOST_PP_SEQ_FOR_EACH_PRODUCT( FOR_EACH_PRODUCT \
, (S1)(S2) \
)
return 0;
}
Here is what the preprocessor produces:
test< 1, 1, >();
test< 1, 2, >();
test< 1, 3, >();
test< 2, 1, >();
[snip]
My problem is that I cannot figure out how to get rid of the last
comma? Any ideas?
Thanks,
Christian