Refinements

[SVN r12555]
This commit is contained in:
Vesa Karvonen
2002-01-29 15:06:47 +00:00
parent 59180fab96
commit 6b50ff7484

View File

@ -27,13 +27,13 @@
#ifndef DOXYGEN_SHOULD_SKIP_THIS #ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PP_LIST_FOR_EACH_PRODUCT_R(R,F,P,LL)\ #define BOOST_PP_LIST_FOR_EACH_PRODUCT_R(R,F,P,LL)\
BOOST_PP_FOR##R\ BOOST_PP_FOR##R\
( (BOOST_PP_LIST_FIRST(LL),BOOST_PP_LIST_REST(LL),BOOST_PP_LIST_NIL,F,P)\ ( (BOOST_PP_TUPLE3_ELEM0 LL,BOOST_PP_TUPLE3_ELEM1 LL,(_,_,0),F,P)\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_C\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_C\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_F\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_F\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_I0\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_I0\
) )
#define BOOST_PP_LIST_FOR_EACH_PRODUCT_C(R,P)\ #define BOOST_PP_LIST_FOR_EACH_PRODUCT_C(R,P)\
BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE5_ELEM0 P) BOOST_PP_TUPLE3_ELEM2 BOOST_PP_TUPLE5_ELEM0 P
#define BOOST_PP_LIST_FOR_EACH_PRODUCT_F(R,P)\ #define BOOST_PP_LIST_FOR_EACH_PRODUCT_F(R,P)\
( BOOST_PP_LIST_REST(BOOST_PP_TUPLE5_ELEM0 P)\ ( BOOST_PP_LIST_REST(BOOST_PP_TUPLE5_ELEM0 P)\
, BOOST_PP_TUPLE5_ELEM1 P\ , BOOST_PP_TUPLE5_ELEM1 P\
@ -42,48 +42,47 @@
, BOOST_PP_TUPLE5_ELEM4 P\ , BOOST_PP_TUPLE5_ELEM4 P\
) )
#define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER(P,C,F,I)\ #define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER(P,C,F,I)\
BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER_HELPER(BOOST_PP_TUPLE5_ELEM3 P(BOOST_PP_TUPLE5_ELEM4 P,BOOST_PP_TUPLE5_ELEM2 P)) BOOST_PP_TUPLE5_ELEM3 P(BOOST_PP_TUPLE5_ELEM4 P,BOOST_PP_TUPLE5_ELEM2 P)
#define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER_HELPER(X) X
#define BOOST_PP_LIST_FOR_EACH_PRODUCT_I0(R,P)\ #define BOOST_PP_LIST_FOR_EACH_PRODUCT_I0(R,P)\
BOOST_PP_IF\ BOOST_PP_IF\
( BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE5_ELEM1 P)\ ( BOOST_PP_TUPLE3_ELEM2 BOOST_PP_TUPLE5_ELEM1 P\
, BOOST_PP_FOR##R\ , BOOST_PP_FOR##R\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER\
)\ )\
( (BOOST_PP_LIST_FIRST(BOOST_PP_TUPLE5_ELEM1 P),BOOST_PP_LIST_REST(BOOST_PP_TUPLE5_ELEM1 P),(BOOST_PP_LIST_FIRST(BOOST_PP_TUPLE5_ELEM0 P),BOOST_PP_TUPLE5_ELEM2 P,1),BOOST_PP_TUPLE5_ELEM3 P,BOOST_PP_TUPLE5_ELEM4 P)\ ( (BOOST_PP_TUPLE3_ELEM0 BOOST_PP_TUPLE5_ELEM1 P,BOOST_PP_TUPLE3_ELEM1 BOOST_PP_TUPLE5_ELEM1 P,(BOOST_PP_TUPLE3_ELEM0 BOOST_PP_TUPLE5_ELEM0 P,BOOST_PP_TUPLE5_ELEM2 P,1),BOOST_PP_TUPLE5_ELEM3 P,BOOST_PP_TUPLE5_ELEM4 P)\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_C\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_C\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_F\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_F\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_I##1\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_I##1\
) )
#define BOOST_PP_LIST_FOR_EACH_PRODUCT_I1(R,P)\ #define BOOST_PP_LIST_FOR_EACH_PRODUCT_I1(R,P)\
BOOST_PP_IF\ BOOST_PP_IF\
( BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE5_ELEM1 P)\ ( BOOST_PP_TUPLE3_ELEM2 BOOST_PP_TUPLE5_ELEM1 P\
, BOOST_PP_FOR##R\ , BOOST_PP_FOR##R\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER\
)\ )\
( (BOOST_PP_LIST_FIRST(BOOST_PP_TUPLE5_ELEM1 P),BOOST_PP_LIST_REST(BOOST_PP_TUPLE5_ELEM1 P),(BOOST_PP_LIST_FIRST(BOOST_PP_TUPLE5_ELEM0 P),BOOST_PP_TUPLE5_ELEM2 P,1),BOOST_PP_TUPLE5_ELEM3 P,BOOST_PP_TUPLE5_ELEM4 P)\ ( (BOOST_PP_TUPLE3_ELEM0 BOOST_PP_TUPLE5_ELEM1 P,BOOST_PP_TUPLE3_ELEM1 BOOST_PP_TUPLE5_ELEM1 P,(BOOST_PP_TUPLE3_ELEM0 BOOST_PP_TUPLE5_ELEM0 P,BOOST_PP_TUPLE5_ELEM2 P,1),BOOST_PP_TUPLE5_ELEM3 P,BOOST_PP_TUPLE5_ELEM4 P)\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_C\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_C\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_F\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_F\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_I##2\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_I##2\
) )
#define BOOST_PP_LIST_FOR_EACH_PRODUCT_I2(R,P)\ #define BOOST_PP_LIST_FOR_EACH_PRODUCT_I2(R,P)\
BOOST_PP_IF\ BOOST_PP_IF\
( BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE5_ELEM1 P)\ ( BOOST_PP_TUPLE3_ELEM2 BOOST_PP_TUPLE5_ELEM1 P\
, BOOST_PP_FOR##R\ , BOOST_PP_FOR##R\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER\
)\ )\
( (BOOST_PP_LIST_FIRST(BOOST_PP_TUPLE5_ELEM1 P),BOOST_PP_LIST_REST(BOOST_PP_TUPLE5_ELEM1 P),(BOOST_PP_LIST_FIRST(BOOST_PP_TUPLE5_ELEM0 P),BOOST_PP_TUPLE5_ELEM2 P,1),BOOST_PP_TUPLE5_ELEM3 P,BOOST_PP_TUPLE5_ELEM4 P)\ ( (BOOST_PP_TUPLE3_ELEM0 BOOST_PP_TUPLE5_ELEM1 P,BOOST_PP_TUPLE3_ELEM1 BOOST_PP_TUPLE5_ELEM1 P,(BOOST_PP_TUPLE3_ELEM0 BOOST_PP_TUPLE5_ELEM0 P,BOOST_PP_TUPLE5_ELEM2 P,1),BOOST_PP_TUPLE5_ELEM3 P,BOOST_PP_TUPLE5_ELEM4 P)\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_C\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_C\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_F\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_F\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_I##3\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_I##3\
) )
#define BOOST_PP_LIST_FOR_EACH_PRODUCT_I3(R,P)\ #define BOOST_PP_LIST_FOR_EACH_PRODUCT_I3(R,P)\
BOOST_PP_IF\ BOOST_PP_IF\
( BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE5_ELEM1 P)\ ( BOOST_PP_TUPLE3_ELEM2 BOOST_PP_TUPLE5_ELEM1 P\
, BOOST_PP_FOR##R\ , BOOST_PP_FOR##R\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_I_HELPER\
)\ )\
( (BOOST_PP_LIST_FIRST(BOOST_PP_TUPLE5_ELEM1 P),BOOST_PP_LIST_REST(BOOST_PP_TUPLE5_ELEM1 P),(BOOST_PP_LIST_FIRST(BOOST_PP_TUPLE5_ELEM0 P),BOOST_PP_TUPLE5_ELEM2 P,1),BOOST_PP_TUPLE5_ELEM3 P,BOOST_PP_TUPLE5_ELEM4 P)\ ( (BOOST_PP_TUPLE3_ELEM0 BOOST_PP_TUPLE5_ELEM1 P,BOOST_PP_TUPLE3_ELEM1 BOOST_PP_TUPLE5_ELEM1 P,(BOOST_PP_TUPLE3_ELEM0 BOOST_PP_TUPLE5_ELEM0 P,BOOST_PP_TUPLE5_ELEM2 P,1),BOOST_PP_TUPLE5_ELEM3 P,BOOST_PP_TUPLE5_ELEM4 P)\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_C\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_C\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_F\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_F\
, BOOST_PP_LIST_FOR_EACH_PRODUCT_I##4\ , BOOST_PP_LIST_FOR_EACH_PRODUCT_I##4\