diff --git a/doc/reference/arithmetic_add.htm b/doc/reference/arithmetic_add.htm index 57c9388..25b98e0 100644 --- a/doc/reference/arithmetic_add.htm +++ b/doc/reference/arithmetic_add.htm @@ -44,6 +44,10 @@ single token).
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_ADD().
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_DIV().
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_MOD().
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_MUL().
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_SUB(X,Y).
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_EQUAL().
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_GREATER().
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_GREATER_EQUAL().
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_LESS().
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_LESS_EQUAL().
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_NOT_EQUAL().
Can be used inside BOOST_PP_WHILE().
+0
.
Can be used inside BOOST_PP_WHILE().
+Can be used inside BOOST_PP_WHILE().
+Can be used inside BOOST_PP_FOR().
+F(D,P,X)
is true.
For example,
- BOOST_PP_LIST_FILTER(BOOST_PP_NOT_EQUAL_D,2,BOOST_PP_TUPLE_TO_LIST(3,(1,2,3))) + BOOST_PP_LIST_FILTER(BOOST_PP_NOT_EQUAL_D,2,BOOST_PP_TUPLE_TO_LIST(3,(1,2,3)))
expands to the same as:
@@ -54,6 +54,10 @@ for whichF(D,P,X)
is true.
Can be used inside BOOST_PP_WHILE().
+Can be used inside BOOST_PP_WHILE().
+L
(from the left or the start of the list).
Can be used inside BOOST_PP_WHILE().
+L
(from the right or the end of the list).
Can be used inside BOOST_PP_WHILE().
+Can be used inside BOOST_PP_FOR().
+Can be used inside BOOST_PP_FOR().
+L
.
Can be used inside BOOST_PP_WHILE().
+Can be used inside BOOST_PP_WHILE().
+Can be used inside BOOST_PP_WHILE().
+Can be used inside BOOST_PP_FOR().
+For example,
- BOOST_PP_LIST_TRANSFORM(BOOST_PP_ADD_D,2,BOOST_PP_TUPLE_TO_LIST(2,(1,2))) + BOOST_PP_LIST_TRANSFORM(BOOST_PP_ADD_D,2,BOOST_PP_TUPLE_TO_LIST(2,(1,2)))
expands to the same as:
@@ -64,6 +64,10 @@ of the list producing a new list.Can be used inside BOOST_PP_WHILE().
+Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_MAX().
Can be used inside BOOST_PP_WHILE().
+Obsolete. Use BOOST_PP_MIN().
Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_ADD_D(D,X,Y) BOOST_PP_TUPLE_ELEM(2,0,BOOST_PP_WHILE##D(BOOST_PP_ADD_C,BOOST_PP_ADD_F,(X,Y))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_ADD_C(D,P) BOOST_PP_TUPLE_ELEM(2,1,P) diff --git a/include/boost/preprocessor/arithmetic/div.hpp b/include/boost/preprocessor/arithmetic/div.hpp index 5affd77..b1931ae 100644 --- a/include/boost/preprocessor/arithmetic/div.hpp +++ b/include/boost/preprocessor/arithmetic/div.hpp @@ -33,6 +33,7 @@ single token). */ #define BOOST_PP_DIV(X,Y) BOOST_PP_DIV_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_DIV_D(D,X,Y) BOOST_PP_TUPLE_ELEM(3,0,BOOST_PP_WHILE##D(BOOST_PP_DIV_C,BOOST_PP_DIV_F,(0,X,Y))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_DIV_C(D,P) BOOST_PP_LESS_EQUAL_D(D,BOOST_PP_TUPLE_ELEM(3,2,P),BOOST_PP_TUPLE_ELEM(3,1,P)) diff --git a/include/boost/preprocessor/arithmetic/mod.hpp b/include/boost/preprocessor/arithmetic/mod.hpp index cdaba17..4e1aa9b 100644 --- a/include/boost/preprocessor/arithmetic/mod.hpp +++ b/include/boost/preprocessor/arithmetic/mod.hpp @@ -32,6 +32,7 @@ single token). */ #define BOOST_PP_MOD(X,Y) BOOST_PP_MOD_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_MOD_D(D,X,Y) BOOST_PP_TUPLE_ELEM(2,0,BOOST_PP_WHILE##D(BOOST_PP_MOD_C,BOOST_PP_MOD_F,(X,Y))) #define BOOST_PP_MOD_C(D,P) BOOST_PP_LESS_EQUAL_D(D,BOOST_PP_TUPLE2_ELEM1 P,BOOST_PP_TUPLE2_ELEM0 P) #define BOOST_PP_MOD_F(D,P) (BOOST_PP_SUB_D(D,BOOST_PP_TUPLE2_ELEM0 P,BOOST_PP_TUPLE2_ELEM1 P),BOOST_PP_TUPLE2_ELEM1 P) diff --git a/include/boost/preprocessor/arithmetic/mul.hpp b/include/boost/preprocessor/arithmetic/mul.hpp index 36a6023..9359ae3 100644 --- a/include/boost/preprocessor/arithmetic/mul.hpp +++ b/include/boost/preprocessor/arithmetic/mul.hpp @@ -32,6 +32,7 @@ single token). */ #define BOOST_PP_MUL(X,Y) BOOST_PP_MUL_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_MUL_D(D,X,Y) BOOST_PP_TUPLE_ELEM(3,0,BOOST_PP_WHILE##D(BOOST_PP_MUL_C,BOOST_PP_MUL_F,(0,X,Y))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_MUL_C(D,P) BOOST_PP_TUPLE_ELEM(3,2,P) diff --git a/include/boost/preprocessor/arithmetic/sub.hpp b/include/boost/preprocessor/arithmetic/sub.hpp index cdc5b72..9918b85 100644 --- a/include/boost/preprocessor/arithmetic/sub.hpp +++ b/include/boost/preprocessor/arithmetic/sub.hpp @@ -34,6 +34,7 @@ single token). */ #define BOOST_PP_SUB(X,Y) BOOST_PP_SUB_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_SUB_D(D,X,Y) BOOST_PP_TUPLE_ELEM(2,0,BOOST_PP_WHILE##D(BOOST_PP_SUB_C,BOOST_PP_SUB_F,(X,Y))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_SUB_C(D,P) BOOST_PP_TUPLE_ELEM(2,1,P) diff --git a/include/boost/preprocessor/comparison/equal.hpp b/include/boost/preprocessor/comparison/equal.hpp index b2077e8..9ac98e3 100644 --- a/include/boost/preprocessor/comparison/equal.hpp +++ b/include/boost/preprocessor/comparison/equal.hpp @@ -31,6 +31,7 @@ otherwise. */ #define BOOST_PP_EQUAL(X,Y) BOOST_PP_EQUAL_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_EQUAL_D(D,X,Y) BOOST_PP_NOT(BOOST_PP_NOT_EQUAL_D(D,X,Y)) /**Obsolete. Use BOOST_PP_EQUAL().
*/ diff --git a/include/boost/preprocessor/comparison/greater.hpp b/include/boost/preprocessor/comparison/greater.hpp index 741b7f1..25d2f1f 100644 --- a/include/boost/preprocessor/comparison/greater.hpp +++ b/include/boost/preprocessor/comparison/greater.hpp @@ -30,6 +30,7 @@ otherwise. */ #define BOOST_PP_GREATER(X,Y) BOOST_PP_GREATER_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_GREATER_D(D,X,Y) BOOST_PP_LESS_D(D,Y,X) /**Obsolete. Use BOOST_PP_GREATER().
*/ diff --git a/include/boost/preprocessor/comparison/greater_equal.hpp b/include/boost/preprocessor/comparison/greater_equal.hpp index 3e07f42..69a2668 100644 --- a/include/boost/preprocessor/comparison/greater_equal.hpp +++ b/include/boost/preprocessor/comparison/greater_equal.hpp @@ -30,6 +30,7 @@ otherwise. */ #define BOOST_PP_GREATER_EQUAL(X,Y) BOOST_PP_GREATER_EQUAL_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_GREATER_EQUAL_D(D,X,Y) BOOST_PP_LESS_EQUAL_D(D,Y,X) /**Obsolete. Use BOOST_PP_GREATER_EQUAL().
*/ diff --git a/include/boost/preprocessor/comparison/less.hpp b/include/boost/preprocessor/comparison/less.hpp index 5f43f7b..d516d3c 100644 --- a/include/boost/preprocessor/comparison/less.hpp +++ b/include/boost/preprocessor/comparison/less.hpp @@ -32,6 +32,7 @@ otherwise. */ #define BOOST_PP_LESS(X,Y) BOOST_PP_LESS_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LESS_D(D,X,Y) BOOST_PP_AND(BOOST_PP_NOT_EQUAL_D(D,X,Y),BOOST_PP_LESS_EQUAL_D(D,X,Y)) /**Obsolete. Use BOOST_PP_LESS().
*/ diff --git a/include/boost/preprocessor/comparison/less_equal.hpp b/include/boost/preprocessor/comparison/less_equal.hpp index a98e52c..ead56bb 100644 --- a/include/boost/preprocessor/comparison/less_equal.hpp +++ b/include/boost/preprocessor/comparison/less_equal.hpp @@ -31,6 +31,7 @@ otherwise. */ #define BOOST_PP_LESS_EQUAL(X,Y) BOOST_PP_LESS_EQUAL_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LESS_EQUAL_D(D,X,Y) BOOST_PP_NOT(BOOST_PP_SUB_D(D,X,Y)) /**Obsolete. Use BOOST_PP_LESS_EQUAL().
*/ diff --git a/include/boost/preprocessor/comparison/not_equal.hpp b/include/boost/preprocessor/comparison/not_equal.hpp index 00cc58f..8ef2ad4 100644 --- a/include/boost/preprocessor/comparison/not_equal.hpp +++ b/include/boost/preprocessor/comparison/not_equal.hpp @@ -32,6 +32,7 @@ otherwise. */ #define BOOST_PP_NOT_EQUAL(X,Y) BOOST_PP_NOT_EQUAL_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_NOT_EQUAL_D(D,X,Y) BOOST_PP_BOOL(BOOST_PP_ADD_D(D,BOOST_PP_SUB_D(D,X,Y),BOOST_PP_SUB_D(D,Y,X))) /**Obsolete. Use BOOST_PP_NOT_EQUAL().
*/ diff --git a/include/boost/preprocessor/list/append.hpp b/include/boost/preprocessor/list/append.hpp index 3b4cbfe..0553817 100644 --- a/include/boost/preprocessor/list/append.hpp +++ b/include/boost/preprocessor/list/append.hpp @@ -44,6 +44,7 @@ */ #define BOOST_PP_LIST_APPEND(L,P) BOOST_PP_LIST_APPEND_D(0,L,P) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_APPEND_D(D,L,P) BOOST_PP_LIST_FOLD_RIGHT_D(D,BOOST_PP_LIST_APPEND_F,L,P) #define BOOST_PP_LIST_APPEND_F(D,H,P) (H,P,1) #endif diff --git a/include/boost/preprocessor/list/at.hpp b/include/boost/preprocessor/list/at.hpp index eb77ac0..bd7eb27 100644 --- a/include/boost/preprocessor/list/at.hpp +++ b/include/boost/preprocessor/list/at.hpp @@ -38,5 +38,6 @@ first element is at index0
.
*/
#define BOOST_PP_LIST_AT(L,I) BOOST_PP_LIST_AT_D(0,L,I)
+/** Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_AT_D(D,L,I) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N_D(D,I,L)) #endif diff --git a/include/boost/preprocessor/list/cat.hpp b/include/boost/preprocessor/list/cat.hpp index 7b9ac01..09f583a 100644 --- a/include/boost/preprocessor/list/cat.hpp +++ b/include/boost/preprocessor/list/cat.hpp @@ -42,6 +42,7 @@ */ #define BOOST_PP_LIST_CAT(L) BOOST_PP_LIST_CAT_D(0,L) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_CAT_D(D,L) BOOST_PP_LIST_FOLD_LEFT_D(D,BOOST_PP_LIST_CAT_F,BOOST_PP_TUPLE3_ELEM0 L,BOOST_PP_TUPLE3_ELEM1 L) #define BOOST_PP_LIST_CAT_F(D,P,H) BOOST_PP_CAT(P,H) #endif diff --git a/include/boost/preprocessor/list/enum.hpp b/include/boost/preprocessor/list/enum.hpp index 92cd860..6839bad 100644 --- a/include/boost/preprocessor/list/enum.hpp +++ b/include/boost/preprocessor/list/enum.hpp @@ -39,6 +39,7 @@ */ #define BOOST_PP_LIST_ENUM(L) BOOST_PP_LIST_ENUM_R(0,L) +/**Can be used inside BOOST_PP_FOR().
*/ #define BOOST_PP_LIST_ENUM_R(R,L) BOOST_PP_FOR##R((L,BOOST_PP_EMPTY),BOOST_PP_LIST_ENUM_C,BOOST_PP_LIST_ENUM_F,BOOST_PP_LIST_ENUM_I) #define BOOST_PP_LIST_ENUM_C(R,P) BOOST_PP_TUPLE_ELEM(3,2,BOOST_PP_TUPLE_ELEM(2,0,P)) #define BOOST_PP_LIST_ENUM_F(R,P) (BOOST_PP_TUPLE_ELEM(3,1,BOOST_PP_TUPLE_ELEM(2,0,P)),BOOST_PP_COMMA) diff --git a/include/boost/preprocessor/list/filter.hpp b/include/boost/preprocessor/list/filter.hpp index b9d0525..656d43f 100644 --- a/include/boost/preprocessor/list/filter.hpp +++ b/include/boost/preprocessor/list/filter.hpp @@ -42,6 +42,7 @@ for whichF(D,P,X)
is true.
*/
#define BOOST_PP_LIST_FILTER(F,P,L) BOOST_PP_LIST_FILTER_D(0,F,P,L)
+/** Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_FILTER_D(D,F,P,L) BOOST_PP_TUPLE_ELEM(3,2,BOOST_PP_LIST_FOLD_RIGHT_D(D,BOOST_PP_LIST_FILTER_F,L,(F,P,(_,_,0)))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_LIST_FILTER_F(D,H,P) (BOOST_PP_TUPLE_ELEM(3,0,P),BOOST_PP_TUPLE_ELEM(3,1,P),BOOST_PP_IF(BOOST_PP_TUPLE_ELEM(3,0,P)(D,BOOST_PP_TUPLE3_ELEM1 P,H),BOOST_PP_LIST_CONS,BOOST_PP_TUPLE2_ELEM1)(H,BOOST_PP_TUPLE_ELEM(3,2,P))) diff --git a/include/boost/preprocessor/list/first_n.hpp b/include/boost/preprocessor/list/first_n.hpp index 7955a9a..55ecb89 100644 --- a/include/boost/preprocessor/list/first_n.hpp +++ b/include/boost/preprocessor/list/first_n.hpp @@ -49,6 +49,7 @@ */ #define BOOST_PP_LIST_FIRST_N(N,L) BOOST_PP_LIST_FIRST_N_D(0,N,L) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_FIRST_N_D(D,N,L) BOOST_PP_LIST_REVERSE_D(D,BOOST_PP_TUPLE_ELEM(3,0,BOOST_PP_WHILE##D(BOOST_PP_LIST_FIRST_N_C,BOOST_PP_LIST_FIRST_N_F,((_,_,0),L,N)))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_LIST_FIRST_N_C(D,X) BOOST_PP_TUPLE_ELEM(3,2,X) diff --git a/include/boost/preprocessor/list/fold_left.hpp b/include/boost/preprocessor/list/fold_left.hpp index 6ef5a79..12481ca 100644 --- a/include/boost/preprocessor/list/fold_left.hpp +++ b/include/boost/preprocessor/list/fold_left.hpp @@ -52,6 +52,7 @@ listL
(from the left or the start of the list).
*/
#define BOOST_PP_LIST_FOLD_LEFT(F,P,L) BOOST_PP_LIST_FOLD_LEFT_D(0,F,P,L)
+/** Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_FOLD_LEFT_D(D,F,P,L) BOOST_PP_TUPLE_ELEM(3,1,BOOST_PP_WHILE##D(BOOST_PP_LIST_FOLD_LEFT_C,BOOST_PP_LIST_FOLD_LEFT_F,(F,P,L))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_LIST_FOLD_LEFT_C(D,X) BOOST_PP_TUPLE_ELEM(3,2,BOOST_PP_TUPLE_ELEM(3,2,X)) diff --git a/include/boost/preprocessor/list/fold_left_2nd.hpp b/include/boost/preprocessor/list/fold_left_2nd.hpp index 92c3022..56cfaeb 100644 --- a/include/boost/preprocessor/list/fold_left_2nd.hpp +++ b/include/boost/preprocessor/list/fold_left_2nd.hpp @@ -19,6 +19,7 @@ /**Same as BOOST_PP_FOLD_LEFT(), but is implemented independently.
*/ #define BOOST_PP_LIST_FOLD_LEFT_2ND(F,P,L) BOOST_PP_LIST_FOLD_LEFT_2ND_D(0,F,P,L) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_FOLD_LEFT_2ND_D(D,F,P,L) BOOST_PP_TUPLE_ELEM(3,1,BOOST_PP_WHILE##D(BOOST_PP_LIST_FOLD_LEFT_2ND_C,BOOST_PP_LIST_FOLD_LEFT_2ND_F,(F,P,L))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_LIST_FOLD_LEFT_2ND_C(D,X) BOOST_PP_TUPLE_ELEM(3,2,BOOST_PP_TUPLE_ELEM(3,2,X)) diff --git a/include/boost/preprocessor/list/fold_right.hpp b/include/boost/preprocessor/list/fold_right.hpp index 5363c11..5956bbe 100644 --- a/include/boost/preprocessor/list/fold_right.hpp +++ b/include/boost/preprocessor/list/fold_right.hpp @@ -48,6 +48,7 @@ listL
(from the right or the end of the list).
*/
#define BOOST_PP_LIST_FOLD_RIGHT(F,L,P) BOOST_PP_LIST_FOLD_RIGHT_D(0,F,L,P)
+/** Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_FOLD_RIGHT_D(D,F,L,P) BOOST_PP_TUPLE_ELEM(2,1,BOOST_PP_LIST_FOLD_LEFT_D(D,BOOST_PP_LIST_FOLD_RIGHT_F,(F,P),BOOST_PP_LIST_REVERSE_D(D,L))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_LIST_FOLD_RIGHT_F(D,P,H) (BOOST_PP_TUPLE_ELEM(2,0,P),BOOST_PP_TUPLE_ELEM(2,0,P)(D,H,BOOST_PP_TUPLE_ELEM(2,1,P))) diff --git a/include/boost/preprocessor/list/fold_right_2nd.hpp b/include/boost/preprocessor/list/fold_right_2nd.hpp index 0ef6da2..d7aa4fd 100644 --- a/include/boost/preprocessor/list/fold_right_2nd.hpp +++ b/include/boost/preprocessor/list/fold_right_2nd.hpp @@ -19,6 +19,7 @@ /**Same as BOOST_PP_LIST_FOLD_RIGHT(), but is implemented independently.
*/ #define BOOST_PP_LIST_FOLD_RIGHT_2ND(F,L,P) BOOST_PP_LIST_FOLD_RIGHT_2ND_D(0,F,L,P) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_FOLD_RIGHT_2ND_D(D,F,L,P) BOOST_PP_TUPLE_ELEM(2,1,BOOST_PP_LIST_FOLD_LEFT_2ND_D(D,BOOST_PP_LIST_FOLD_RIGHT_2ND_F,(F,P),BOOST_PP_LIST_FOLD_LEFT_2ND_D(D,BOOST_PP_LIST_REVERSE_F,(_,_,0),L))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_LIST_FOLD_RIGHT_2ND_F(D,P,H) (BOOST_PP_TUPLE_ELEM(2,0,P),BOOST_PP_TUPLE_ELEM(2,0,P)(D,H,BOOST_PP_TUPLE_ELEM(2,1,P))) diff --git a/include/boost/preprocessor/list/for_each.hpp b/include/boost/preprocessor/list/for_each.hpp index e0b1e9c..36150dd 100644 --- a/include/boost/preprocessor/list/for_each.hpp +++ b/include/boost/preprocessor/list/for_each.hpp @@ -45,6 +45,7 @@ BOOST_PP_LIST_SIZE(L)[. */ #define BOOST_PP_LIST_FOR_EACH(F,P,L) BOOST_PP_LIST_FOR_EACH_R(0,F,P,L) +/**Can be used inside BOOST_PP_FOR().
*/ #define BOOST_PP_LIST_FOR_EACH_R(R,F,P,L) BOOST_PP_FOR##R((F,P,L),BOOST_PP_LIST_FOR_EACH_C,BOOST_PP_LIST_FOR_EACH_F,BOOST_PP_LIST_FOR_EACH_I) #define BOOST_PP_LIST_FOR_EACH_C(R,FPL) BOOST_PP_TUPLE_ELEM(3,2,BOOST_PP_TUPLE_ELEM(3,2,FPL)) #define BOOST_PP_LIST_FOR_EACH_F(R,FPL) (BOOST_PP_TUPLE_ELEM(3,0,FPL),BOOST_PP_TUPLE_ELEM(3,1,FPL),BOOST_PP_TUPLE_ELEM(3,1,BOOST_PP_TUPLE_ELEM(3,2,FPL))) diff --git a/include/boost/preprocessor/list/for_each_product.hpp b/include/boost/preprocessor/list/for_each_product.hpp index 386d034..918480e 100644 --- a/include/boost/preprocessor/list/for_each_product.hpp +++ b/include/boost/preprocessor/list/for_each_product.hpp @@ -43,6 +43,7 @@ explosion. */ #define BOOST_PP_LIST_FOR_EACH_PRODUCT(F,N,T_OF_L) BOOST_PP_LIST_FOR_EACH_PRODUCT_R(0,F,N,T_OF_L) +/**Can be used inside BOOST_PP_FOR().
*/ #define BOOST_PP_LIST_FOR_EACH_PRODUCT_R(R,F,N,T_OF_L) BOOST_PP_LIST_FOR_EACH_PRODUCT_R2(0,F,BOOST_PP_TUPLE_TO_LIST(N,BOOST_PP_TUPLE_REVERSE(N,T_OF_L))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 ||\ !defined(BOOST_NO_COMPILER_CONFIG) && defined(_MSC_VER) diff --git a/include/boost/preprocessor/list/rest_n.hpp b/include/boost/preprocessor/list/rest_n.hpp index dbaffd6..9aa2973 100644 --- a/include/boost/preprocessor/list/rest_n.hpp +++ b/include/boost/preprocessor/list/rest_n.hpp @@ -49,6 +49,7 @@ listL
.
*/
#define BOOST_PP_LIST_REST_N(N,L) BOOST_PP_LIST_REST_N_D(0,N,L)
+/** Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_REST_N_D(D,N,L) BOOST_PP_TUPLE_ELEM(2,0,BOOST_PP_WHILE##D(BOOST_PP_LIST_REST_N_C,BOOST_PP_LIST_REST_N_F,(L,N))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_LIST_REST_N_C(D,X) BOOST_PP_TUPLE_ELEM(2,1,X) diff --git a/include/boost/preprocessor/list/reverse.hpp b/include/boost/preprocessor/list/reverse.hpp index 9cb752c..95fe49c 100644 --- a/include/boost/preprocessor/list/reverse.hpp +++ b/include/boost/preprocessor/list/reverse.hpp @@ -41,6 +41,7 @@ */ #define BOOST_PP_LIST_REVERSE(L) BOOST_PP_LIST_REVERSE_D(0,L) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_REVERSE_D(D,L) BOOST_PP_LIST_FOLD_LEFT_D(D,BOOST_PP_LIST_REVERSE_F,(_,_,0),L) #define BOOST_PP_LIST_REVERSE_F(D,P,H) (H,P,1) #endif diff --git a/include/boost/preprocessor/list/size.hpp b/include/boost/preprocessor/list/size.hpp index 8c23df7..725015b 100644 --- a/include/boost/preprocessor/list/size.hpp +++ b/include/boost/preprocessor/list/size.hpp @@ -38,6 +38,7 @@ */ #define BOOST_PP_LIST_SIZE(L) BOOST_PP_LIST_SIZE_D(0,L) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_SIZE_D(D,L) BOOST_PP_LIST_FOLD_LEFT_D(D,BOOST_PP_LIST_SIZE_F,0,L) #define BOOST_PP_LIST_SIZE_F(D,P,H) BOOST_PP_INC(P) #endif diff --git a/include/boost/preprocessor/list/to_tuple.hpp b/include/boost/preprocessor/list/to_tuple.hpp index 5b2ebb0..ec3b02f 100644 --- a/include/boost/preprocessor/list/to_tuple.hpp +++ b/include/boost/preprocessor/list/to_tuple.hpp @@ -43,5 +43,6 @@ */ #define BOOST_PP_LIST_TO_TUPLE(L) BOOST_PP_LIST_TO_TUPLE_R(0,L) +/**Can be used inside BOOST_PP_FOR().
*/ #define BOOST_PP_LIST_TO_TUPLE_R(D,L) (BOOST_PP_LIST_ENUM_R(D,L)) #endif diff --git a/include/boost/preprocessor/list/transform.hpp b/include/boost/preprocessor/list/transform.hpp index 74bef5c..2731f79 100644 --- a/include/boost/preprocessor/list/transform.hpp +++ b/include/boost/preprocessor/list/transform.hpp @@ -52,6 +52,7 @@ of the list producing a new list. */ #define BOOST_PP_LIST_TRANSFORM(F,P,L) BOOST_PP_LIST_TRANSFORM_D(0,F,P,L) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_LIST_TRANSFORM_D(D,F,P,L) BOOST_PP_TUPLE_ELEM(3,2,BOOST_PP_LIST_FOLD_RIGHT_D(D,BOOST_PP_LIST_TRANSFORM_F,L,(F,P,(_,_,0)))) #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406 # define BOOST_PP_LIST_TRANSFORM_F(D,H,P) (BOOST_PP_TUPLE_ELEM(3,0,P),BOOST_PP_TUPLE_ELEM(3,1,P),(BOOST_PP_TUPLE_ELEM(3,0,P)(D,BOOST_PP_TUPLE_ELEM(3,1,P),H),BOOST_PP_TUPLE_ELEM(3,2,P),1)) diff --git a/include/boost/preprocessor/max.hpp b/include/boost/preprocessor/max.hpp index 1fc1ab9..1ea61ae 100644 --- a/include/boost/preprocessor/max.hpp +++ b/include/boost/preprocessor/max.hpp @@ -33,6 +33,7 @@ single token). */ #define BOOST_PP_MAX(X,Y) BOOST_PP_MAX_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_MAX_D(D,X,Y) BOOST_PP_IF(BOOST_PP_LESS_EQUAL_D(D,X,Y),Y,X) /**Obsolete. Use BOOST_PP_MAX().
*/ diff --git a/include/boost/preprocessor/min.hpp b/include/boost/preprocessor/min.hpp index eb5339f..f7d8a9d 100644 --- a/include/boost/preprocessor/min.hpp +++ b/include/boost/preprocessor/min.hpp @@ -33,6 +33,7 @@ single token). */ #define BOOST_PP_MIN(X,Y) BOOST_PP_MIN_D(0,X,Y) +/**Can be used inside BOOST_PP_WHILE().
*/ #define BOOST_PP_MIN_D(D,X,Y) BOOST_PP_IF(BOOST_PP_LESS_EQUAL_D(D,Y,X),Y,X) /**Obsolete. Use BOOST_PP_MIN().
*/