Added ???_R and ???_D macros to reference

[SVN r12910]
This commit is contained in:
Vesa Karvonen 2002-02-23 10:50:32 +00:00
parent dba7ae68c7
commit 5fa1ddda5a
60 changed files with 173 additions and 3 deletions

View File

@ -44,6 +44,10 @@ single token).</p>
<hr>
<h2><a name="BOOST_PP_ADD_D">#define BOOST_PP_ADD_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_ADD">#define BOOST_PREPROCESSOR_ADD</a>(X,Y)</h2>
<p>Obsolete. Use <a href="arithmetic_add.htm#BOOST_PP_ADD">BOOST_PP_ADD</a>().</p>
<hr>

View File

@ -44,6 +44,10 @@ single token).</p>
<hr>
<h2><a name="BOOST_PP_DIV_D">#define BOOST_PP_DIV_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_DIV">#define BOOST_PREPROCESSOR_DIV</a>(X,Y)</h2>
<p>Obsolete. Use <a href="arithmetic_div.htm#BOOST_PP_DIV">BOOST_PP_DIV</a>().</p>
<hr>

View File

@ -44,6 +44,10 @@ single token).</p>
<hr>
<h2><a name="BOOST_PP_MOD_D">#define BOOST_PP_MOD_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_MOD">#define BOOST_PREPROCESSOR_MOD</a>(X,Y)</h2>
<p>Obsolete. Use <a href="arithmetic_mod.htm#BOOST_PP_MOD">BOOST_PP_MOD</a>().</p>
<hr>

View File

@ -44,6 +44,10 @@ single token).</p>
<hr>
<h2><a name="BOOST_PP_MUL_D">#define BOOST_PP_MUL_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_MUL">#define BOOST_PREPROCESSOR_MUL</a>(X,Y)</h2>
<p>Obsolete. Use <a href="arithmetic_mul.htm#BOOST_PP_MUL">BOOST_PP_MUL</a>().</p>
<hr>

View File

@ -44,6 +44,10 @@ single token).</p>
<hr>
<h2><a name="BOOST_PP_SUB_D">#define BOOST_PP_SUB_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_SUB">#define BOOST_PREPROCESSOR_SUB</a>(X,Y)</h2>
<p>Obsolete. Use <a href="arithmetic_sub.htm#BOOST_PP_SUB">BOOST_PP_SUB</a>(X,Y).</p>
<hr>

View File

@ -42,6 +42,10 @@ otherwise.</p>
<hr>
<h2><a name="BOOST_PP_EQUAL_D">#define BOOST_PP_EQUAL_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_EQUAL">#define BOOST_PREPROCESSOR_EQUAL</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_equal.htm#BOOST_PP_EQUAL">BOOST_PP_EQUAL</a>().</p>
<hr>

View File

@ -42,6 +42,10 @@ otherwise.</p>
<hr>
<h2><a name="BOOST_PP_GREATER_D">#define BOOST_PP_GREATER_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_GREATER">#define BOOST_PREPROCESSOR_GREATER</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_greater.htm#BOOST_PP_GREATER">BOOST_PP_GREATER</a>().</p>
<hr>

View File

@ -42,6 +42,10 @@ otherwise.</p>
<hr>
<h2><a name="BOOST_PP_GREATER_EQUAL_D">#define BOOST_PP_GREATER_EQUAL_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_GREATER_EQUAL">#define BOOST_PREPROCESSOR_GREATER_EQUAL</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_greater_equal.htm#BOOST_PP_GREATER_EQUAL">BOOST_PP_GREATER_EQUAL</a>().</p>
<hr>

View File

@ -42,6 +42,10 @@ otherwise.</p>
<hr>
<h2><a name="BOOST_PP_LESS_D">#define BOOST_PP_LESS_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_LESS">#define BOOST_PREPROCESSOR_LESS</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_less.htm#BOOST_PP_LESS">BOOST_PP_LESS</a>().</p>
<hr>

View File

@ -42,6 +42,10 @@ otherwise.</p>
<hr>
<h2><a name="BOOST_PP_LESS_EQUAL_D">#define BOOST_PP_LESS_EQUAL_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_LESS_EQUAL">#define BOOST_PREPROCESSOR_LESS_EQUAL</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_less_equal.htm#BOOST_PP_LESS_EQUAL">BOOST_PP_LESS_EQUAL</a>().</p>
<hr>

View File

@ -42,6 +42,10 @@ otherwise.</p>
<hr>
<h2><a name="BOOST_PP_NOT_EQUAL_D">#define BOOST_PP_NOT_EQUAL_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_NOT_EQUAL">#define BOOST_PREPROCESSOR_NOT_EQUAL</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_not_equal.htm#BOOST_PP_NOT_EQUAL">BOOST_PP_NOT_EQUAL</a>().</p>
<hr>

View File

@ -22,6 +22,7 @@
<dl>
<dt><a href="arithmetic_add.htm#BOOST_PP_ADD">BOOST_PP_ADD</a></dt>
<dt><a href="arithmetic_add.htm#BOOST_PP_ADD_D">BOOST_PP_ADD_D</a></dt>
<dt><a href="logical_and.htm#BOOST_PP_AND">BOOST_PP_AND</a></dt>
<dt><a href="assert_msg.htm#BOOST_PP_ASSERT_MSG">BOOST_PP_ASSERT_MSG</a></dt>
<dt><a href="logical_bool.htm#BOOST_PP_BOOL">BOOST_PP_BOOL</a></dt>
@ -30,6 +31,7 @@
<dt><a href="comma_if.htm#BOOST_PP_COMMA_IF">BOOST_PP_COMMA_IF</a></dt>
<dt><a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a></dt>
<dt><a href="arithmetic_div.htm#BOOST_PP_DIV">BOOST_PP_DIV</a></dt>
<dt><a href="arithmetic_div.htm#BOOST_PP_DIV_D">BOOST_PP_DIV_D</a></dt>
<dt><a href="empty.htm#BOOST_PP_EMPTY">BOOST_PP_EMPTY</a></dt>
<dt><a href="enum.htm#BOOST_PP_ENUM">BOOST_PP_ENUM</a></dt>
<dt><a href="enum_params.htm#BOOST_PP_ENUM_PARAMS">BOOST_PP_ENUM_PARAMS</a></dt>
@ -38,52 +40,78 @@
<dt><a href="enum_shifted.htm#BOOST_PP_ENUM_SHIFTED">BOOST_PP_ENUM_SHIFTED</a></dt>
<dt><a href="enum_shifted_params.htm#BOOST_PP_ENUM_SHIFTED_PARAMS">BOOST_PP_ENUM_SHIFTED_PARAMS</a></dt>
<dt><a href="comparison_equal.htm#BOOST_PP_EQUAL">BOOST_PP_EQUAL</a></dt>
<dt><a href="comparison_equal.htm#BOOST_PP_EQUAL_D">BOOST_PP_EQUAL_D</a></dt>
<dt><a href="expand.htm#BOOST_PP_EXPAND">BOOST_PP_EXPAND</a></dt>
<dt><a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a></dt>
<dt><a href="comparison_greater.htm#BOOST_PP_GREATER">BOOST_PP_GREATER</a></dt>
<dt><a href="comparison_greater.htm#BOOST_PP_GREATER_D">BOOST_PP_GREATER_D</a></dt>
<dt><a href="comparison_greater_equal.htm#BOOST_PP_GREATER_EQUAL">BOOST_PP_GREATER_EQUAL</a></dt>
<dt><a href="comparison_greater_equal.htm#BOOST_PP_GREATER_EQUAL_D">BOOST_PP_GREATER_EQUAL_D</a></dt>
<dt><a href="identity.htm#BOOST_PP_IDENTITY">BOOST_PP_IDENTITY</a></dt>
<dt><a href="if.htm#BOOST_PP_IF">BOOST_PP_IF</a></dt>
<dt><a href="inc.htm#BOOST_PP_INC">BOOST_PP_INC</a></dt>
<dt><a href="comparison_less.htm#BOOST_PP_LESS">BOOST_PP_LESS</a></dt>
<dt><a href="comparison_less.htm#BOOST_PP_LESS_D">BOOST_PP_LESS_D</a></dt>
<dt><a href="comparison_less_equal.htm#BOOST_PP_LESS_EQUAL">BOOST_PP_LESS_EQUAL</a></dt>
<dt><a href="comparison_less_equal.htm#BOOST_PP_LESS_EQUAL_D">BOOST_PP_LESS_EQUAL_D</a></dt>
<dt><a href="limits.htm#BOOST_PP_LIMIT_DIM">BOOST_PP_LIMIT_DIM</a></dt>
<dt><a href="limits.htm#BOOST_PP_LIMIT_MAG">BOOST_PP_LIMIT_MAG</a></dt>
<dt><a href="limits.htm#BOOST_PP_LIMIT_TUPLE">BOOST_PP_LIMIT_TUPLE</a></dt>
<dt><a href="list_append.htm#BOOST_PP_LIST_APPEND">BOOST_PP_LIST_APPEND</a></dt>
<dt><a href="list_append.htm#BOOST_PP_LIST_APPEND_D">BOOST_PP_LIST_APPEND_D</a></dt>
<dt><a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a></dt>
<dt><a href="list_at.htm#BOOST_PP_LIST_AT_D">BOOST_PP_LIST_AT_D</a></dt>
<dt><a href="list_cat.htm#BOOST_PP_LIST_CAT">BOOST_PP_LIST_CAT</a></dt>
<dt><a href="list_cat.htm#BOOST_PP_LIST_CAT_D">BOOST_PP_LIST_CAT_D</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_CONS">BOOST_PP_LIST_CONS</a></dt>
<dt><a href="list_enum.htm#BOOST_PP_LIST_ENUM">BOOST_PP_LIST_ENUM</a></dt>
<dt><a href="list_enum.htm#BOOST_PP_LIST_ENUM_R">BOOST_PP_LIST_ENUM_R</a></dt>
<dt><a href="list_filter.htm#BOOST_PP_LIST_FILTER">BOOST_PP_LIST_FILTER</a></dt>
<dt><a href="list_filter.htm#BOOST_PP_LIST_FILTER_D">BOOST_PP_LIST_FILTER_D</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_FIRST">BOOST_PP_LIST_FIRST</a></dt>
<dt><a href="list_first_n.htm#BOOST_PP_LIST_FIRST_N">BOOST_PP_LIST_FIRST_N</a></dt>
<dt><a href="list_first_n.htm#BOOST_PP_LIST_FIRST_N_D">BOOST_PP_LIST_FIRST_N_D</a></dt>
<dt><a href="list_fold_left.htm#BOOST_PP_LIST_FOLD_LEFT">BOOST_PP_LIST_FOLD_LEFT</a></dt>
<dt><a href="list_fold_left.htm#BOOST_PP_LIST_FOLD_LEFT_D">BOOST_PP_LIST_FOLD_LEFT_D</a></dt>
<dt><a href="list_fold_right.htm#BOOST_PP_LIST_FOLD_RIGHT">BOOST_PP_LIST_FOLD_RIGHT</a></dt>
<dt><a href="list_fold_right.htm#BOOST_PP_LIST_FOLD_RIGHT_D">BOOST_PP_LIST_FOLD_RIGHT_D</a></dt>
<dt><a href="list_for_each.htm#BOOST_PP_LIST_FOR_EACH">BOOST_PP_LIST_FOR_EACH</a></dt>
<dt><a href="list_for_each_product.htm#BOOST_PP_LIST_FOR_EACH_PRODUCT">BOOST_PP_LIST_FOR_EACH_PRODUCT</a></dt>
<dt><a href="list_for_each_product.htm#BOOST_PP_LIST_FOR_EACH_PRODUCT_R">BOOST_PP_LIST_FOR_EACH_PRODUCT_R</a></dt>
<dt><a href="list_for_each.htm#BOOST_PP_LIST_FOR_EACH_R">BOOST_PP_LIST_FOR_EACH_R</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_IS_CONS">BOOST_PP_LIST_IS_CONS</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_IS_NIL">BOOST_PP_LIST_IS_NIL</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_NIL">BOOST_PP_LIST_NIL</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_REST">BOOST_PP_LIST_REST</a></dt>
<dt><a href="list_rest_n.htm#BOOST_PP_LIST_REST_N">BOOST_PP_LIST_REST_N</a></dt>
<dt><a href="list_rest_n.htm#BOOST_PP_LIST_REST_N_D">BOOST_PP_LIST_REST_N_D</a></dt>
<dt><a href="list_reverse.htm#BOOST_PP_LIST_REVERSE">BOOST_PP_LIST_REVERSE</a></dt>
<dt><a href="list_reverse.htm#BOOST_PP_LIST_REVERSE_D">BOOST_PP_LIST_REVERSE_D</a></dt>
<dt><a href="list_size.htm#BOOST_PP_LIST_SIZE">BOOST_PP_LIST_SIZE</a></dt>
<dt><a href="list_size.htm#BOOST_PP_LIST_SIZE_D">BOOST_PP_LIST_SIZE_D</a></dt>
<dt><a href="list_to_tuple.htm#BOOST_PP_LIST_TO_TUPLE">BOOST_PP_LIST_TO_TUPLE</a></dt>
<dt><a href="list_to_tuple.htm#BOOST_PP_LIST_TO_TUPLE_R">BOOST_PP_LIST_TO_TUPLE_R</a></dt>
<dt><a href="list_transform.htm#BOOST_PP_LIST_TRANSFORM">BOOST_PP_LIST_TRANSFORM</a></dt>
<dt><a href="list_transform.htm#BOOST_PP_LIST_TRANSFORM_D">BOOST_PP_LIST_TRANSFORM_D</a></dt>
<dt><a href="max.htm#BOOST_PP_MAX">BOOST_PP_MAX</a></dt>
<dt><a href="max.htm#BOOST_PP_MAX_D">BOOST_PP_MAX_D</a></dt>
<dt><a href="min.htm#BOOST_PP_MIN">BOOST_PP_MIN</a></dt>
<dt><a href="min.htm#BOOST_PP_MIN_D">BOOST_PP_MIN_D</a></dt>
<dt><a href="arithmetic_mod.htm#BOOST_PP_MOD">BOOST_PP_MOD</a></dt>
<dt><a href="arithmetic_mod.htm#BOOST_PP_MOD_D">BOOST_PP_MOD_D</a></dt>
<dt><a href="arithmetic_mul.htm#BOOST_PP_MUL">BOOST_PP_MUL</a></dt>
<dt><a href="arithmetic_mul.htm#BOOST_PP_MUL_D">BOOST_PP_MUL_D</a></dt>
<dt><a href="logical_nor.htm#BOOST_PP_NOR">BOOST_PP_NOR</a></dt>
<dt><a href="logical_not.htm#BOOST_PP_NOT">BOOST_PP_NOT</a></dt>
<dt><a href="comparison_not_equal.htm#BOOST_PP_NOT_EQUAL">BOOST_PP_NOT_EQUAL</a></dt>
<dt><a href="comparison_not_equal.htm#BOOST_PP_NOT_EQUAL_D">BOOST_PP_NOT_EQUAL_D</a></dt>
<dt><a href="logical_or.htm#BOOST_PP_OR">BOOST_PP_OR</a></dt>
<dt><a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a></dt>
<dt><a href="repeat_2nd.htm#BOOST_PP_REPEAT_2ND">BOOST_PP_REPEAT_2ND</a></dt>
<dt><a href="repeat_3rd.htm#BOOST_PP_REPEAT_3RD">BOOST_PP_REPEAT_3RD</a></dt>
<dt><a href="stringize.htm#BOOST_PP_STRINGIZE">BOOST_PP_STRINGIZE</a></dt>
<dt><a href="arithmetic_sub.htm#BOOST_PP_SUB">BOOST_PP_SUB</a></dt>
<dt><a href="arithmetic_sub.htm#BOOST_PP_SUB_D">BOOST_PP_SUB_D</a></dt>
<dt><a href="tuple_eat.htm#BOOST_PP_TUPLE_EAT">BOOST_PP_TUPLE_EAT</a></dt>
<dt><a href="tuple_elem.htm#BOOST_PP_TUPLE_ELEM">BOOST_PP_TUPLE_ELEM</a></dt>
<dt><a href="tuple_reverse.htm#BOOST_PP_TUPLE_REVERSE">BOOST_PP_TUPLE_REVERSE</a></dt>

View File

@ -56,6 +56,10 @@
<hr>
<h2><a name="BOOST_PP_LIST_APPEND_D">#define BOOST_PP_LIST_APPEND_D</a>(D,L,P)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<a href="list_adt.htm">Prev</a> <a href="list_at.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -50,6 +50,10 @@ first element is at index <code>0</code>.</p>
<hr>
<h2><a name="BOOST_PP_LIST_AT_D">#define BOOST_PP_LIST_AT_D</a>(D,L,I)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<a href="list_append.htm">Prev</a> <a href="list_cat.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -53,6 +53,10 @@
<hr>
<h2><a name="BOOST_PP_LIST_CAT_D">#define BOOST_PP_LIST_CAT_D</a>(D,L)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<a href="list_at.htm">Prev</a> <a href="list_enum.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -48,6 +48,10 @@
<hr>
<h2><a name="BOOST_PP_LIST_ENUM_R">#define BOOST_PP_LIST_ENUM_R</a>(R,L)</h2>
<p>Can be used inside <a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>().</p>
<hr>
<a href="list_cat.htm">Prev</a> <a href="list_filter.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -33,7 +33,7 @@ for which <code>F(D,P,X)</code> is true.</p>
<p>For example,</p>
<pre>
<a href="list_filter.htm#BOOST_PP_LIST_FILTER">BOOST_PP_LIST_FILTER</a>(BOOST_PP_NOT_EQUAL_D,2,<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(3,(1,2,3)))
<a href="list_filter.htm#BOOST_PP_LIST_FILTER">BOOST_PP_LIST_FILTER</a>(<a href="comparison_not_equal.htm#BOOST_PP_NOT_EQUAL_D">BOOST_PP_NOT_EQUAL_D</a>,2,<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(3,(1,2,3)))
</pre>
<p>expands to the same as:</p>
@ -54,6 +54,10 @@ for which <code>F(D,P,X)</code> is true.</p>
<hr>
<h2><a name="BOOST_PP_LIST_FILTER_D">#define BOOST_PP_LIST_FILTER_D</a>(D,F,P,L)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<a href="list_enum.htm">Prev</a> <a href="list_first_n.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -59,6 +59,10 @@
<hr>
<h2><a name="BOOST_PP_LIST_FIRST_N_D">#define BOOST_PP_LIST_FIRST_N_D</a>(D,N,L)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<a href="list_filter.htm">Prev</a> <a href="list_fold_left.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -63,6 +63,10 @@ list <code>L</code> (from the left or the start of the list).</p>
<hr>
<h2><a name="BOOST_PP_LIST_FOLD_LEFT_D">#define BOOST_PP_LIST_FOLD_LEFT_D</a>(D,F,P,L)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<a href="list_first_n.htm">Prev</a> <a href="list_fold_right.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -60,6 +60,10 @@ list <code>L</code> (from the right or the end of the list).</p>
<hr>
<h2><a name="BOOST_PP_LIST_FOLD_RIGHT_D">#define BOOST_PP_LIST_FOLD_RIGHT_D</a>(D,F,L,P)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<a href="list_fold_left.htm">Prev</a> <a href="list_for_each.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -56,6 +56,10 @@
<hr>
<h2><a name="BOOST_PP_LIST_FOR_EACH_R">#define BOOST_PP_LIST_FOR_EACH_R</a>(R,F,P,L)</h2>
<p>Can be used inside <a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>().</p>
<hr>
<a href="list_fold_right.htm">Prev</a> <a href="list_for_each_product.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -51,6 +51,10 @@ explosion.</p>
<hr>
<h2><a name="BOOST_PP_LIST_FOR_EACH_PRODUCT_R">#define BOOST_PP_LIST_FOR_EACH_PRODUCT_R</a>(R,F,N,T_OF_L)</h2>
<p>Can be used inside <a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>().</p>
<hr>
<a href="list_for_each.htm">Prev</a> <a href="list_rest_n.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -59,6 +59,10 @@ list <code>L</code>.</p>
<hr>
<h2><a name="BOOST_PP_LIST_REST_N_D">#define BOOST_PP_LIST_REST_N_D</a>(D,N,L)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<a href="list_for_each_product.htm">Prev</a> <a href="list_reverse.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -53,6 +53,10 @@
<hr>
<h2><a name="BOOST_PP_LIST_REVERSE_D">#define BOOST_PP_LIST_REVERSE_D</a>(D,L)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<a href="list_rest_n.htm">Prev</a> <a href="list_size.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -49,6 +49,10 @@
<hr>
<h2><a name="BOOST_PP_LIST_SIZE_D">#define BOOST_PP_LIST_SIZE_D</a>(D,L)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<a href="list_reverse.htm">Prev</a> <a href="list_to_tuple.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -55,6 +55,10 @@
<hr>
<h2><a name="BOOST_PP_LIST_TO_TUPLE_R">#define BOOST_PP_LIST_TO_TUPLE_R</a>(D,L)</h2>
<p>Can be used inside <a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>().</p>
<hr>
<a href="list_size.htm">Prev</a> <a href="list_transform.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -43,7 +43,7 @@ of the list producing a new list.</p>
<p>For example,</p>
<pre>
<a href="list_transform.htm#BOOST_PP_LIST_TRANSFORM">BOOST_PP_LIST_TRANSFORM</a>(BOOST_PP_ADD_D,2,<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(2,(1,2)))
<a href="list_transform.htm#BOOST_PP_LIST_TRANSFORM">BOOST_PP_LIST_TRANSFORM</a>(<a href="arithmetic_add.htm#BOOST_PP_ADD_D">BOOST_PP_ADD_D</a>,2,<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(2,(1,2)))
</pre>
<p>expands to the same as:</p>
@ -64,6 +64,10 @@ of the list producing a new list.</p>
<hr>
<h2><a name="BOOST_PP_LIST_TRANSFORM_D">#define BOOST_PP_LIST_TRANSFORM_D</a>(D,F,P,L)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<a href="list_to_tuple.htm">Prev</a> <a href="logical.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>

View File

@ -44,6 +44,10 @@ single token).</p>
<hr>
<h2><a name="BOOST_PP_MAX_D">#define BOOST_PP_MAX_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_MAX">#define BOOST_PREPROCESSOR_MAX</a>(X,Y)</h2>
<p>Obsolete. Use <a href="max.htm#BOOST_PP_MAX">BOOST_PP_MAX</a>().</p>
<hr>

View File

@ -44,6 +44,10 @@ single token).</p>
<hr>
<h2><a name="BOOST_PP_MIN_D">#define BOOST_PP_MIN_D</a>(D,X,Y)</h2>
<p>Can be used inside <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>().</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_MIN">#define BOOST_PREPROCESSOR_MIN</a>(X,Y)</h2>
<p>Obsolete. Use <a href="min.htm#BOOST_PP_MIN">BOOST_PP_MIN</a>().</p>
<hr>

View File

@ -48,7 +48,7 @@
to other macros using <a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>(). Such macros include
<a href="arithmetic_add.htm#BOOST_PP_ADD">BOOST_PP_ADD</a>() and other arithmetic operations. For each macro using
<a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>(), there is a version of the macro, distinguished by the
D suffix (e.g. BOOST_PP_ADD_D()), that accepts an additional recursion
D suffix (e.g. <a href="arithmetic_add.htm#BOOST_PP_ADD_D">BOOST_PP_ADD_D</a>()), that accepts an additional recursion
depth as the first parameter. This technique is necessary to avoid
recursively expanding the same macro again, which is not permitted by the
C++ preprocessor.</li>

View File

@ -35,6 +35,7 @@ single token).</p>
*/
#define BOOST_PP_ADD(X,Y) BOOST_PP_ADD_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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)

View File

@ -33,6 +33,7 @@ single token).</p>
*/
#define BOOST_PP_DIV(X,Y) BOOST_PP_DIV_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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))

View File

@ -32,6 +32,7 @@ single token).</p>
*/
#define BOOST_PP_MOD(X,Y) BOOST_PP_MOD_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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)

View File

@ -32,6 +32,7 @@ single token).</p>
*/
#define BOOST_PP_MUL(X,Y) BOOST_PP_MUL_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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)

View File

@ -34,6 +34,7 @@ single token).</p>
*/
#define BOOST_PP_SUB(X,Y) BOOST_PP_SUB_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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)

View File

@ -31,6 +31,7 @@ otherwise.</p>
*/
#define BOOST_PP_EQUAL(X,Y) BOOST_PP_EQUAL_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#define BOOST_PP_EQUAL_D(D,X,Y) BOOST_PP_NOT(BOOST_PP_NOT_EQUAL_D(D,X,Y))
/** <p>Obsolete. Use BOOST_PP_EQUAL().</p> */

View File

@ -30,6 +30,7 @@ otherwise.</p>
*/
#define BOOST_PP_GREATER(X,Y) BOOST_PP_GREATER_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#define BOOST_PP_GREATER_D(D,X,Y) BOOST_PP_LESS_D(D,Y,X)
/** <p>Obsolete. Use BOOST_PP_GREATER().</p> */

View File

@ -30,6 +30,7 @@ otherwise.</p>
*/
#define BOOST_PP_GREATER_EQUAL(X,Y) BOOST_PP_GREATER_EQUAL_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#define BOOST_PP_GREATER_EQUAL_D(D,X,Y) BOOST_PP_LESS_EQUAL_D(D,Y,X)
/** <p>Obsolete. Use BOOST_PP_GREATER_EQUAL().</p> */

View File

@ -32,6 +32,7 @@ otherwise.</p>
*/
#define BOOST_PP_LESS(X,Y) BOOST_PP_LESS_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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))
/** <p>Obsolete. Use BOOST_PP_LESS().</p> */

View File

@ -31,6 +31,7 @@ otherwise.</p>
*/
#define BOOST_PP_LESS_EQUAL(X,Y) BOOST_PP_LESS_EQUAL_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#define BOOST_PP_LESS_EQUAL_D(D,X,Y) BOOST_PP_NOT(BOOST_PP_SUB_D(D,X,Y))
/** <p>Obsolete. Use BOOST_PP_LESS_EQUAL().</p> */

View File

@ -32,6 +32,7 @@ otherwise.</p>
*/
#define BOOST_PP_NOT_EQUAL(X,Y) BOOST_PP_NOT_EQUAL_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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)))
/** <p>Obsolete. Use BOOST_PP_NOT_EQUAL().</p> */

View File

@ -44,6 +44,7 @@
*/
#define BOOST_PP_LIST_APPEND(L,P) BOOST_PP_LIST_APPEND_D(0,L,P)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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

View File

@ -38,5 +38,6 @@ first element is at index <code>0</code>.</p>
*/
#define BOOST_PP_LIST_AT(L,I) BOOST_PP_LIST_AT_D(0,L,I)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#define BOOST_PP_LIST_AT_D(D,L,I) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N_D(D,I,L))
#endif

View File

@ -42,6 +42,7 @@
*/
#define BOOST_PP_LIST_CAT(L) BOOST_PP_LIST_CAT_D(0,L)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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

View File

@ -39,6 +39,7 @@
*/
#define BOOST_PP_LIST_ENUM(L) BOOST_PP_LIST_ENUM_R(0,L)
/** <p>Can be used inside BOOST_PP_FOR().</p> */
#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)

View File

@ -42,6 +42,7 @@ for which <code>F(D,P,X)</code> is true.</p>
*/
#define BOOST_PP_LIST_FILTER(F,P,L) BOOST_PP_LIST_FILTER_D(0,F,P,L)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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)))

View File

@ -49,6 +49,7 @@
*/
#define BOOST_PP_LIST_FIRST_N(N,L) BOOST_PP_LIST_FIRST_N_D(0,N,L)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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)

View File

@ -52,6 +52,7 @@ list <code>L</code> (from the left or the start of the list).</p>
*/
#define BOOST_PP_LIST_FOLD_LEFT(F,P,L) BOOST_PP_LIST_FOLD_LEFT_D(0,F,P,L)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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))

View File

@ -19,6 +19,7 @@
/** <p>Same as BOOST_PP_FOLD_LEFT(), but is implemented independently.</p> */
#define BOOST_PP_LIST_FOLD_LEFT_2ND(F,P,L) BOOST_PP_LIST_FOLD_LEFT_2ND_D(0,F,P,L)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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))

View File

@ -48,6 +48,7 @@ list <code>L</code> (from the right or the end of the list).</p>
*/
#define BOOST_PP_LIST_FOLD_RIGHT(F,L,P) BOOST_PP_LIST_FOLD_RIGHT_D(0,F,L,P)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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)))

View File

@ -19,6 +19,7 @@
/** <p>Same as BOOST_PP_LIST_FOLD_RIGHT(), but is implemented independently.</p> */
#define BOOST_PP_LIST_FOLD_RIGHT_2ND(F,L,P) BOOST_PP_LIST_FOLD_RIGHT_2ND_D(0,F,L,P)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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)))

View File

@ -45,6 +45,7 @@ BOOST_PP_LIST_SIZE(L)[.</p>
*/
#define BOOST_PP_LIST_FOR_EACH(F,P,L) BOOST_PP_LIST_FOR_EACH_R(0,F,P,L)
/** <p>Can be used inside BOOST_PP_FOR().</p> */
#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)))

View File

@ -43,6 +43,7 @@ explosion.</p>
*/
#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)
/** <p>Can be used inside BOOST_PP_FOR().</p> */
#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)

View File

@ -49,6 +49,7 @@ list <code>L</code>.</p>
*/
#define BOOST_PP_LIST_REST_N(N,L) BOOST_PP_LIST_REST_N_D(0,N,L)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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)

View File

@ -41,6 +41,7 @@
*/
#define BOOST_PP_LIST_REVERSE(L) BOOST_PP_LIST_REVERSE_D(0,L)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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

View File

@ -38,6 +38,7 @@
*/
#define BOOST_PP_LIST_SIZE(L) BOOST_PP_LIST_SIZE_D(0,L)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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

View File

@ -43,5 +43,6 @@
*/
#define BOOST_PP_LIST_TO_TUPLE(L) BOOST_PP_LIST_TO_TUPLE_R(0,L)
/** <p>Can be used inside BOOST_PP_FOR().</p> */
#define BOOST_PP_LIST_TO_TUPLE_R(D,L) (BOOST_PP_LIST_ENUM_R(D,L))
#endif

View File

@ -52,6 +52,7 @@ of the list producing a new list.</p>
*/
#define BOOST_PP_LIST_TRANSFORM(F,P,L) BOOST_PP_LIST_TRANSFORM_D(0,F,P,L)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#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))

View File

@ -33,6 +33,7 @@ single token).</p>
*/
#define BOOST_PP_MAX(X,Y) BOOST_PP_MAX_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#define BOOST_PP_MAX_D(D,X,Y) BOOST_PP_IF(BOOST_PP_LESS_EQUAL_D(D,X,Y),Y,X)
/** <p>Obsolete. Use BOOST_PP_MAX().</p> */

View File

@ -33,6 +33,7 @@ single token).</p>
*/
#define BOOST_PP_MIN(X,Y) BOOST_PP_MIN_D(0,X,Y)
/** <p>Can be used inside BOOST_PP_WHILE().</p> */
#define BOOST_PP_MIN_D(D,X,Y) BOOST_PP_IF(BOOST_PP_LESS_EQUAL_D(D,Y,X),Y,X)
/** <p>Obsolete. Use BOOST_PP_MIN().</p> */