diff --git a/include/boost/preprocessor/arithmetic.hpp b/include/boost/preprocessor/arithmetic.hpp index dbbdf0d..2ecacde 100644 --- a/include/boost/preprocessor/arithmetic.hpp +++ b/include/boost/preprocessor/arithmetic.hpp @@ -13,12 +13,7 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. - -Includes all arithmetic headers. -*/ +/**
Includes all arithmetic headers.
*/ #includeObsolete. Use BOOST_PP_ADD().
*/ #define BOOST_PREPROCESSOR_ADD(X,Y) BOOST_PP_ADD(X,Y) #endif diff --git a/include/boost/preprocessor/arithmetic/div.hpp b/include/boost/preprocessor/arithmetic/div.hpp index 30718e9..4b47044 100644 --- a/include/boost/preprocessor/arithmetic/div.hpp +++ b/include/boost/preprocessor/arithmetic/div.hpp @@ -38,6 +38,6 @@ #endif #endif -/** Obsolete. Use BOOST_PP_DIV(). */ +/**Obsolete. Use BOOST_PP_DIV().
*/ #define BOOST_PREPROCESSOR_DIV(X,Y) BOOST_PP_DIV(X,Y) #endif diff --git a/include/boost/preprocessor/arithmetic/mod.hpp b/include/boost/preprocessor/arithmetic/mod.hpp index ce66f1d..aa3f2c8 100644 --- a/include/boost/preprocessor/arithmetic/mod.hpp +++ b/include/boost/preprocessor/arithmetic/mod.hpp @@ -32,6 +32,6 @@ #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) #endif -/** Obsolete. Use BOOST_PP_MOD(). */ +/**Obsolete. Use BOOST_PP_MOD().
*/ #define BOOST_PREPROCESSOR_MOD(X,Y) BOOST_PP_MOD(X,Y) #endif diff --git a/include/boost/preprocessor/arithmetic/mul.hpp b/include/boost/preprocessor/arithmetic/mul.hpp index 780e0de..d81308b 100644 --- a/include/boost/preprocessor/arithmetic/mul.hpp +++ b/include/boost/preprocessor/arithmetic/mul.hpp @@ -37,6 +37,6 @@ #endif #endif -/** Obsolete. Use BOOST_PP_MUL(). */ +/**Obsolete. Use BOOST_PP_MUL().
*/ #define BOOST_PREPROCESSOR_MUL(X,Y) BOOST_PP_MUL(X,Y) #endif diff --git a/include/boost/preprocessor/arithmetic/sub.hpp b/include/boost/preprocessor/arithmetic/sub.hpp index 7a2fe4a..8e7309d 100644 --- a/include/boost/preprocessor/arithmetic/sub.hpp +++ b/include/boost/preprocessor/arithmetic/sub.hpp @@ -39,6 +39,6 @@ #endif #endif -/** Obsolete. Use BOOST_PP_SUB(X,Y). */ +/**Obsolete. Use BOOST_PP_SUB(X,Y).
*/ #define BOOST_PREPROCESSOR_SUB(X,Y) BOOST_PP_SUB(X,Y) #endif diff --git a/include/boost/preprocessor/assert_msg.hpp b/include/boost/preprocessor/assert_msg.hpp index d371563..723b521 100644 --- a/include/boost/preprocessor/assert_msg.hpp +++ b/include/boost/preprocessor/assert_msg.hpp @@ -13,17 +13,12 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeExpands to nothing if C != 0 and to MSG if C == 0.
*/ #define BOOST_PP_ASSERT_MSG(C,MSG) BOOST_PP_IF(C,BOOST_PP_EMPTY,MSG BOOST_PP_EMPTY)() -/** Obsolete. Use BOOST_PP_ASSERT_MSG(). */ +/**Obsolete. Use BOOST_PP_ASSERT_MSG().
*/ #define BOOST_PREPROCESSOR_ASSERT_MSG(C,MSG) BOOST_PP_ASSERT_MSG(C,MSG) #endif diff --git a/include/boost/preprocessor/cat.hpp b/include/boost/preprocessor/cat.hpp index 98c8e4a..8ff1930 100644 --- a/include/boost/preprocessor/cat.hpp +++ b/include/boost/preprocessor/cat.hpp @@ -13,16 +13,11 @@ * See http://www.boost.org for most recent version. */ -/** \file +/**Delays the catenation of X and Y.
-Click here to see the header. -*/ +For example,
-/** Delays the catenation of X and Y. - -For example, - -\verbatim +-expands to: +#define STATIC_ASSERT(EXPR)\ enum\ { BOOST_PP_CAT(static_check_,__LINE__) = (EXPR) ? 1 : -1\ @@ -35,11 +30,11 @@ For example, // ... STATIC_ASSERT(sizeof(int) <= sizeof(long)); -\endverbatim+
expands to:
-\verbatim +-Using BOOST_PP_CAT() above lets the PP expand the __LINE__. If the above code -would use the ## operator directly then __LINE__ would not be expanded and -the above would expand to: +enum { static_check_152 = (sizeof(int) <= sizeof(long)) ? 1 : -1 }; @@ -47,13 +42,13 @@ expands to: static_assert_152 [ static_check_152 ]; -\endverbatim+
Using BOOST_PP_CAT() above lets the PP expand the __LINE__. If the above +code would use the ## operator directly then __LINE__ would not be expanded and +the above would expand to:
-\verbatim +*/ #define BOOST_PP_CAT(X,Y) BOOST_PP_CAT_DELAY(X,Y) @@ -70,6 +65,6 @@ the above would expand to: #define BOOST_PP_DO_CAT(X,Y) X##Y #endif -/** Obsolete. Use BOOST_PP_CAT(). */ +/**enum { static_check___LINE__ = (sizeof(int) <= sizeof(long)) ? 1 : -1 }; @@ -61,7 +56,7 @@ the above would expand to: static_assert___LINE__ [ static_check___LINE__ ]; -\endverbatim+
Obsolete. Use BOOST_PP_CAT().
*/ #define BOOST_PREPROCESSOR_CAT(X,Y) BOOST_PP_CAT(X,Y) #endif diff --git a/include/boost/preprocessor/comma.hpp b/include/boost/preprocessor/comma.hpp index 7f8e200..89cd08e 100644 --- a/include/boost/preprocessor/comma.hpp +++ b/include/boost/preprocessor/comma.hpp @@ -13,18 +13,15 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - -/** Expands to a comma. Can be used with BOOST_PP_IF(). +/**Expands to a comma. Can be used with BOOST_PP_IF().
Obsolete. Use BOOST_PP_COMMA().
*/ #define BOOST_PREPROCESSOR_COMMA() , #endif diff --git a/include/boost/preprocessor/comma_if.hpp b/include/boost/preprocessor/comma_if.hpp index 63ed0e0..42a605b 100644 --- a/include/boost/preprocessor/comma_if.hpp +++ b/include/boost/preprocessor/comma_if.hpp @@ -13,18 +13,13 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeExpands to a comma if C != 0 and nothing if C == 0.
*/ #define BOOST_PP_COMMA_IF(C) BOOST_PP_IF(C,BOOST_PP_COMMA,BOOST_PP_EMPTY)() -/** Obsolete. Use BOOST_PP_COMMA_IF(). */ +/**Obsolete. Use BOOST_PP_COMMA_IF().
*/ #define BOOST_PREPROCESSOR_COMMA_IF(C) BOOST_PP_COMMA_IF(C) #endif diff --git a/include/boost/preprocessor/comparison.hpp b/include/boost/preprocessor/comparison.hpp index 4ead9ac..7dc417b 100644 --- a/include/boost/preprocessor/comparison.hpp +++ b/include/boost/preprocessor/comparison.hpp @@ -13,12 +13,7 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. - -Includes all comparison headers. -*/ +/**Includes all comparison headers.
*/ #includeObsolete. Use BOOST_PP_EQUAL().
*/ #define BOOST_PREPROCESSOR_EQUAL(X,Y) BOOST_PP_EQUAL(X,Y) #endif diff --git a/include/boost/preprocessor/comparison/greater.hpp b/include/boost/preprocessor/comparison/greater.hpp index 4a9c38b..002d159 100644 --- a/include/boost/preprocessor/comparison/greater.hpp +++ b/include/boost/preprocessor/comparison/greater.hpp @@ -28,6 +28,6 @@ #define BOOST_PP_GREATER_D(D,X,Y) BOOST_PP_LESS_D(D,Y,X) #endif -/** Obsolete. Use BOOST_PP_GREATER(). */ +/**Obsolete. Use BOOST_PP_GREATER().
*/ #define BOOST_PREPROCESSOR_GREATER(X,Y) BOOST_PP_GREATER(X,Y) #endif diff --git a/include/boost/preprocessor/comparison/greater_equal.hpp b/include/boost/preprocessor/comparison/greater_equal.hpp index 6587ace..9b4bc77 100644 --- a/include/boost/preprocessor/comparison/greater_equal.hpp +++ b/include/boost/preprocessor/comparison/greater_equal.hpp @@ -28,6 +28,6 @@ #define BOOST_PP_GREATER_EQUAL_D(D,X,Y) BOOST_PP_LESS_EQUAL_D(D,Y,X) #endif -/** Obsolete. Use BOOST_PP_GREATER_EQUAL(). */ +/**Obsolete. Use BOOST_PP_GREATER_EQUAL().
*/ #define BOOST_PREPROCESSOR_GREATER_EQUAL(X,Y) BOOST_PP_GREATER_EQUAL(X,Y) #endif diff --git a/include/boost/preprocessor/comparison/less.hpp b/include/boost/preprocessor/comparison/less.hpp index 11ed184..43f6c7e 100644 --- a/include/boost/preprocessor/comparison/less.hpp +++ b/include/boost/preprocessor/comparison/less.hpp @@ -30,6 +30,6 @@ #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)) #endif -/** Obsolete. Use BOOST_PP_LESS(). */ +/**Obsolete. Use BOOST_PP_LESS().
*/ #define BOOST_PREPROCESSOR_LESS(X,Y) BOOST_PP_LESS(X,Y) #endif diff --git a/include/boost/preprocessor/comparison/less_equal.hpp b/include/boost/preprocessor/comparison/less_equal.hpp index 9976bed..0b48322 100644 --- a/include/boost/preprocessor/comparison/less_equal.hpp +++ b/include/boost/preprocessor/comparison/less_equal.hpp @@ -29,6 +29,6 @@ #define BOOST_PP_LESS_EQUAL_D(D,X,Y) BOOST_PP_NOT(BOOST_PP_SUB_D(D,X,Y)) #endif -/** Obsolete. Use BOOST_PP_LESS_EQUAL(). */ +/**Obsolete. Use BOOST_PP_LESS_EQUAL().
*/ #define BOOST_PREPROCESSOR_LESS_EQUAL(X,Y) BOOST_PP_LESS_EQUAL(X,Y) #endif diff --git a/include/boost/preprocessor/comparison/not_equal.hpp b/include/boost/preprocessor/comparison/not_equal.hpp index dfac0af..c4de120 100644 --- a/include/boost/preprocessor/comparison/not_equal.hpp +++ b/include/boost/preprocessor/comparison/not_equal.hpp @@ -30,6 +30,6 @@ #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))) #endif -/** Obsolete. Use BOOST_PP_NOT_EQUAL(). */ +/**Obsolete. Use BOOST_PP_NOT_EQUAL().
*/ #define BOOST_PREPROCESSOR_NOT_EQUAL(X,Y) BOOST_PP_NOT_EQUAL(X,Y) #endif diff --git a/include/boost/preprocessor/dec.hpp b/include/boost/preprocessor/dec.hpp index 1bad53c..29fbd67 100644 --- a/include/boost/preprocessor/dec.hpp +++ b/include/boost/preprocessor/dec.hpp @@ -13,19 +13,14 @@ * See http://www.boost.org for most recent version. */ -/** \file +/**Decrements X expanding to a single token.
-Click here to see the header. -*/ +For example, BOOST_PP_DEC(3) expands to 2 (a single token).
-/** Decrements X expanding to a single token. +BOOST_PP_DEC() uses saturation arithmetic. Decrementing 0 yeilds a 0.
-For example, BOOST_PP_DEC(3) expands to 2 (a single token). - -BOOST_PP_DEC() uses saturation arithmetic. Decrementing 0 yeilds a 0. - -Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are -supported. +Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are +supported.
*/ #define BOOST_PP_DEC(X) BOOST_PP_DEC_DELAY(X) @@ -162,6 +157,6 @@ supported. #define BOOST_PP_DEC128 127 #endif -/** Obsolete. Use BOOST_PP_DEC(). */ +/**Obsolete. Use BOOST_PP_DEC().
*/ #define BOOST_PREPROCESSOR_DEC(X) BOOST_PP_DEC(X) #endif diff --git a/include/boost/preprocessor/empty.hpp b/include/boost/preprocessor/empty.hpp index d41872c..ee5d17b 100644 --- a/include/boost/preprocessor/empty.hpp +++ b/include/boost/preprocessor/empty.hpp @@ -13,41 +13,36 @@ * See http://www.boost.org for most recent version. */ -/** \file +/**Expands to nothing. Used with BOOST_PP_IF() and as an unused parameter.
-Click here to see the header. -*/ +Example usage as the implementation of BOOST_PP_COMMA_IF(C):
-/** Expands to nothing. Used with BOOST_PP_IF() and as an unused parameter. - -Example usage as the implementation of BOOST_PP_COMMA_IF(C): - -\verbatim +-Example usage as an unused macro parameter: +#define BOOST_PP_COMMA_IF(C)\ BOOST_PP_IF(C,BOOST_PP_COMMA,BOOST_PP_EMPTY)() -\endverbatim+
Example usage as an unused macro parameter:
-\verbatim +-The above expands to: +#define BOOST_PP_DEF(CV)\ - template+\ - CV typename implement_subscript_using_begin_subscript ::value_type&\ + template \ + CV() typename implement_subscript_using_begin_subscript ::value_type&\ implement_subscript_using_begin_subscript ::operator[]\ - ( index_type \ - i \ - ) CV \ - { return base::begin()[i]; \ + ( index_type\ + i\ + ) CV()\ + { return base::begin()[i];\ } - BOOST_PP_DEF(BOOST_PP_EMPTY()) - BOOST_PP_DEF(const) + BOOST_PP_DEF(BOOST_PP_EMPTY) + BOOST_PP_DEF(const BOOST_PP_EMPTY) #undef BOOST_PP_DEF -\endverbatim
The above expands to:
-\verbatim +-In case you wonder, the above code is part of a generalized layer for -implementing the subscripting operators of a random access container. +template+typename implement_subscript_using_begin_subscript ::value_type& implement_subscript_using_begin_subscript ::operator[] @@ -65,13 +60,13 @@ The above expands to: ) const { return base::begin()[i]; } -\endverbatim
In case you wonder, the above code is part of a generalized layer for +implementing the subscripting operators of a random access container.
*/ #define BOOST_PP_EMPTY() -/** Obsolete. Use BOOST_PP_EMPTY(). */ +/**Obsolete. Use BOOST_PP_EMPTY().
*/ #define BOOST_PREPROCESSOR_EMPTY() #endif diff --git a/include/boost/preprocessor/enum.hpp b/include/boost/preprocessor/enum.hpp index 1c03581..cf2d37b 100644 --- a/include/boost/preprocessor/enum.hpp +++ b/include/boost/preprocessor/enum.hpp @@ -13,25 +13,22 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeGenerates a comma separated list.
-In other words, expands to the sequence: +In other words, expands to the sequence:
-\verbatim +F(0,P), F(1,P), ..., F(N-1,P) -\endverbatim+
Generates a comma separated list of parameters.
-In other words, expands to the sequence: +In other words, expands to the sequence:
-\verbatim +P##0, P##1, ..., P##N-1 -\endverbatim+
Obsolete. Use BOOST_PP_ENUM_PARAMS().
*/ #define BOOST_PREPROCESSOR_ENUM_PARAMS(N,P) BOOST_PP_ENUM_PARAMS(N,P) #endif diff --git a/include/boost/preprocessor/enum_params_with_a_default.hpp b/include/boost/preprocessor/enum_params_with_a_default.hpp index b6ab820..96b396f 100644 --- a/include/boost/preprocessor/enum_params_with_a_default.hpp +++ b/include/boost/preprocessor/enum_params_with_a_default.hpp @@ -13,24 +13,21 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeGenerates a comma separated list of parameters with a default.
-In other words, expands to the sequence: +In other words, expands to the sequence:
-\verbatim +P##0 = D, P##1 = D, ..., P##N-1 = D -\endverbatim+
Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT().
*/ #define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D) BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D) #endif diff --git a/include/boost/preprocessor/enum_params_with_defaults.hpp b/include/boost/preprocessor/enum_params_with_defaults.hpp index e79d4d8..c7583c3 100644 --- a/include/boost/preprocessor/enum_params_with_defaults.hpp +++ b/include/boost/preprocessor/enum_params_with_defaults.hpp @@ -13,24 +13,21 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeGenerates a comma separated list of parameters with defaults.
-In other words, expands to the sequence: +In other words, expands to the sequence:
-\verbatim +P##0 = D##0, P##1 = D##1, ..., P##N-1 = D##N-1 -\endverbatim+
Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS().
*/ #define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS(N,P,D) BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(N,P,D) #endif diff --git a/include/boost/preprocessor/enum_shifted.hpp b/include/boost/preprocessor/enum_shifted.hpp index 4515253..29c29fe 100644 --- a/include/boost/preprocessor/enum_shifted.hpp +++ b/include/boost/preprocessor/enum_shifted.hpp @@ -13,25 +13,22 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeGenerates a comma separated shifted list.
-In other words, expands to the sequence: +In other words, expands to the sequence:
-\verbatim +F(1,P), F(2,P), ..., F(N-1,P) -\endverbatim+
Generates a comma separated list of shifted actual parameters.
-In other words, expands to the sequence: +In other words, expands to the sequence:
-\verbatim +P##1, P##2, ..., P##N-1 -\endverbatim+
Obsolete. Use BOOST_PP_ENUM_SHIFTED_PARAMS().
*/ #define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS(N,P) BOOST_PP_ENUM_SHIFTED_PARAMS(N,P) #endif diff --git a/include/boost/preprocessor/expand.hpp b/include/boost/preprocessor/expand.hpp index 5b132e4..7ad8bfe 100644 --- a/include/boost/preprocessor/expand.hpp +++ b/include/boost/preprocessor/expand.hpp @@ -13,13 +13,8 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeEssentially macro expands the parameter X twice.
*/ #define BOOST_PP_EXPAND(X) X #endif diff --git a/include/boost/preprocessor/for.hpp b/include/boost/preprocessor/for.hpp index c0df36c..7d0e13d 100644 --- a/include/boost/preprocessor/for.hpp +++ b/include/boost/preprocessor/for.hpp @@ -13,51 +13,48 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeRepeats I(R,X) and iterates F(R,X) while C(R,X) is true.
-In other words, expands to the sequence: +In other words, expands to the sequence:
-\verbatim +-The length of the sequence is determined by C(R,X). +I(R,X) I(R,F(R,X)) I(R,F(R,F(R,X))) ... I(R,F(R,F(...F(R,X)...))) -\endverbatim+
The length of the sequence is determined by C(R,X).
BOOST_PP_FOR() is a generalization of BOOST_PP_REPEAT(). This means that BOOST_PP_REPEAT() can be implemented using BOOST_PP_FOR(). Unfortunately, BOOST_PP_FOR() is slower than BOOST_PP_REPEAT(). In addition, BOOST_PP_REPEAT() was introduced earlier, is generally easier to use, and is -still quite useful on its own. +still quite useful on its own.
BOOST_PP_FOR() can be used for multidimensional repetition simply by +invoking BOOST_PP_FOR##R() directly.
*/ #define BOOST_PP_FOR(X,C,F,I) BOOST_PP_FOR0(X,C,F,I) diff --git a/include/boost/preprocessor/identity.hpp b/include/boost/preprocessor/identity.hpp index 5cdb4d3..193d4b0 100644 --- a/include/boost/preprocessor/identity.hpp +++ b/include/boost/preprocessor/identity.hpp @@ -13,34 +13,30 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeExpands to X once invoked.
-Designed to be used with BOOST_PP_IF(), when one of the clauses need to be invoked. +Designed to be used with BOOST_PP_IF(), when one of the clauses need to be +invoked.
-For example, +For example,
-\verbatim - BOOST_PP_IDENTITY(X)() - // ^^ NOTE! -\endverbatim+
+ BOOST_PP_IDENTITY(X)() +-expands to: +
expands to:
-\verbatim +-NOTE: If BOOST_PP_IDENTITY() is not invoked, the expansion will not be usable. +X -\endverbatim+
NOTE: If BOOST_PP_IDENTITY() is not invoked, the expansion will not be +usable.
*/ #define BOOST_PP_IDENTITY(X) X BOOST_PP_EMPTY -/** Obsolete. Use BOOST_PP_IDENTITY(). */ +/**Obsolete. Use BOOST_PP_IDENTITY().
*/ #define BOOST_PREPROCESSOR_IDENTITY(X) BOOST_PP_IDENTITY(X) #endif diff --git a/include/boost/preprocessor/if.hpp b/include/boost/preprocessor/if.hpp index 7ad2412..dddd365 100644 --- a/include/boost/preprocessor/if.hpp +++ b/include/boost/preprocessor/if.hpp @@ -13,17 +13,13 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeExpands to T if C != 0 and E if C == 0.
+ +BOOST_PP_IF() enables convenient generation of lists using +BOOST_PP_REPEAT().
*/ #define BOOST_PP_IF(C,T,E) BOOST_PP_IF_BOOL(BOOST_PP_BOOL(C))(E,T) @@ -32,6 +28,6 @@ BOOST_PP_REPEAT(). #define BOOST_PP_IF_BOOL_DELAY(C) BOOST_PP_TUPLE2_ELEM##C #endif -/** Obsolete. Use BOOST_PP_IF(). */ +/**Obsolete. Use BOOST_PP_IF().
*/ #define BOOST_PREPROCESSOR_IF(C,T,E) BOOST_PP_IF(C,T,E) #endif diff --git a/include/boost/preprocessor/inc.hpp b/include/boost/preprocessor/inc.hpp index 442c9b0..74550a8 100644 --- a/include/boost/preprocessor/inc.hpp +++ b/include/boost/preprocessor/inc.hpp @@ -13,20 +13,15 @@ * See http://www.boost.org for most recent version. */ -/** \file +/**Increments X expanding to a single token.
-Click here to see the header. -*/ +For example, BOOST_PP_INC(3) expands to 4 (a single token).
-/** Increments X expanding to a single token. +BOOST_PP_INC() uses saturation arithmetic. Incrementing a +BOOST_PP_LIMIT_MAG yields a BOOST_PP_LIMIT_MAG.
-For example, BOOST_PP_INC(3) expands to 4 (a single token). - -BOOST_PP_INC() uses saturation arithmetic. Incrementing a -BOOST_PP_LIMIT_MAG yields a BOOST_PP_LIMIT_MAG. - -Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are -supported. +Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are +supported.
*/ #define BOOST_PP_INC(X) BOOST_PP_INC_DELAY(X) @@ -163,6 +158,6 @@ supported. #define BOOST_PP_INC128 128 #endif -/** Obsolete. Use BOOST_PP_INC(). */ +/**Obsolete. Use BOOST_PP_INC().
*/ #define BOOST_PREPROCESSOR_INC(X) BOOST_PP_INC(X) #endif diff --git a/include/boost/preprocessor/limits.hpp b/include/boost/preprocessor/limits.hpp index 33f562b..3de3bb2 100644 --- a/include/boost/preprocessor/limits.hpp +++ b/include/boost/preprocessor/limits.hpp @@ -13,41 +13,40 @@ * See http://www.boost.org for most recent version. */ -/** \file +/**Expands to the number of dimensions of repeat supported by the +library.
-Click here to see the header. -*/ - -/** Expands to the number of dimensions of repeat supported by the library. - -The repeat macros are named BOOST_PP_REPEAT(), BOOST_PP_REPEAT_2ND(), -BOOST_PP_REPEAT_3RD(), ... +The repeat macros are named BOOST_PP_REPEAT(), BOOST_PP_REPEAT_2ND(), +BOOST_PP_REPEAT_3RD(), ...
*/ #define BOOST_PP_LIMIT_DIM 3 -/** Expands to the maximum straight numeric literal supported by the library. +/**Expands to the maximum straight numeric literal supported by the +library.
-This is also the limit of the repetition primitives (BOOST_PP_ENUM family and -BOOST_PP_REPEAT family). +This is also the limit of the repetition primitives (BOOST_PP_ENUM family +and BOOST_PP_REPEAT family).
-NOTES: -- Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] -are supported. -- All arithmetic operations (ADD,SUB,MUL,DIV) use saturation arithmetic. -- The maximum repetition count supported by the library may not be reached -due to compiler limitations. +NOTES:
+Expands to the maximum tuple length supported by the library.
*/ #define BOOST_PP_LIMIT_TUPLE 16 -/** Obsolete. Use BOOST_PP_LIMIT_DIM. */ +/**Obsolete. Use BOOST_PP_LIMIT_DIM.
*/ #define BOOST_PREPROCESSOR_LIMIT_DIM BOOST_PP_LIMIT_DIM -/** Obsolete. Use BOOST_PP_LIMIT_MAG. */ +/**Obsolete. Use BOOST_PP_LIMIT_MAG.
*/ #define BOOST_PREPROCESSOR_LIMIT_MAG BOOST_PP_LIMIT_MAG -/** Obsolete. Use BOOST_PP_LIMIT_TUPLE. */ +/**Obsolete. Use BOOST_PP_LIMIT_TUPLE.
*/ #define BOOST_PREPROCESSOR_LIMIT_TUPLE BOOST_PP_LIMIT_TUPLE #endif diff --git a/include/boost/preprocessor/list.hpp b/include/boost/preprocessor/list.hpp index 5f66120..1026375 100644 --- a/include/boost/preprocessor/list.hpp +++ b/include/boost/preprocessor/list.hpp @@ -13,12 +13,7 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. - -Includes all list headers. -*/ +/**Includes all list headers.
*/ #includeThis header defines the fundamental list operations.
-Click here to see the header. - -This header defines the fundamental list operations. - -NOTE: The internal representation of lists is hidden. Although there aren't -compelling reasons to change the representation, you should avoid writing -code that depends on the internal representation details. +NOTE: The internal representation of lists is hidden. Although there +aren't compelling reasons to change the representation, you should avoid +writing code that depends on the internal representation details.
*/ #includeList constructor.
-Lists are build using list constructors BOOST_PP_LIST_NIL and -BOOST_PP_LIST_CONS(). For example, +Lists are build using list constructors BOOST_PP_LIST_NIL and +BOOST_PP_LIST_CONS(). For example,
-\verbatim +-Short lists can also be build from tuples: +BOOST_PP_LIST_CONS(1, BOOST_PP_LIST_CONS(2, BOOST_PP_LIST_CONS(3, BOOST_PP_LIST_CONS(4, BOOST_PP_LIST_CONS(5, BOOST_PP_LIST_NIL))))) -\endverbatim+
Short lists can also be build from tuples:
-\verbatim +-Both of the above lists contain 5 elements: 1, 2, 3, 4 and 5. +BOOST_PP_TUPLE_TO_LIST(5,(1,2,3,4,5)) -\endverbatim+
Both of the above lists contain 5 elements: 1, 2, 3, 4 and 5.
*/ #define BOOST_PP_LIST_CONS(H,T) (H,T,1) -/** List nil constructor. +/**List nil constructor.
Expands to 1 if the list is not nil and 0 otherwise.
Expands to 1 if the list is nil and 0 otherwise.
Expands to the first element of the list. The list must not be nil.
-For example, +For example,
-\verbatim +-expands to 1. +BOOST_PP_LIST_FIRST(BOOST_PP_TUPLE_TO_LIST(5,(1,2,3,4,5))) -\endverbatim+
expands to 1.
Expands to a list of all but the first element of the list. The list must not be nil.
-For example, +For example,
-\verbatim +-expands to a list containing 2, 3, 4 and 5. +BOOST_PP_LIST_REST(BOOST_PP_TUPLE_TO_LIST(5,(1,2,3,4,5))) -\endverbatim+
expands to a list containing 2, 3, 4 and 5.
Catenates two lists together.
-For example, +For example,
-\verbatim +-produces a list containing 1, 2, 3 and 4. +BOOST_PP_LIST_APPEND ( BOOST_PP_TUPLE_TO_LIST(2,(1,2)) , BOOST_PP_TUPLE_TO_LIST(2,(3,4)) ) -\endverbatim+
produces a list containing 1, 2, 3 and 4.
Expands to the I:th element of the list L. The first element is at index 0.
-For example, +For example,
-\verbatim +-expands to B. +BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(3,(A,B,C)),1) -\endverbatim+
expands to B.
Catenates all elements of the list.
-For example, +For example,
-\verbatim +-expands to 123. +BOOST_PP_LIST_CAT(BOOST_PP_TUPLE_TO_LIST(3,(1,2,3))) -\endverbatim+
expands to 123.
Converts the list to a comma separated list.
-For example, +For example,
-\verbatim +-expands to: +BOOST_PP_LIST_ENUM(BOOST_PP_TUPLE_TO_LIST(3,(A,B,C))) -\endverbatim+
expands to:
-\verbatim +A, B, C -\endverbatim+
Expands to a list containing all the elements X of the list for which F(D,P,X) is true.
-For example, +For example,
-\verbatim +-expands to a list containing 1 and 3. +BOOST_PP_LIST_FILTER(BOOST_PP_NOT_EQUAL_D,2,BOOST_PP_TUPLE_TO_LIST(3,(1,2,3))) -\endverbatim+
expands to a list containing 1 and 3.
Expands to a list of the first N elements of the list.
-For example, +For example,
-\verbatim +-expands to a list containing + and -. +BOOST_PP_LIST_FIRST_N(2,BOOST_PP_TUPLE_TO_LIST(4,(+,-,*,/))) -\endverbatim+
expands to a list containing + and -.
Iterates F(D,P,X) for each element X of the list L (from the left or the start of the list).
-In other words, +In other words,
-\verbatim +-expands to: +BOOST_PP_LIST_FOLD_LEFT(F,P,L) -\endverbatim+
expands to:
-\verbatim +-Note that folding, or accumulation, is a very general pattern of computation. -Most list operations can be implemented in terms of folding. +F ( D , ... F(D, F(D,P,BOOST_PP_LIST_AT(L,0)), BOOST_PP_LIST_AT(L,1)) ... , BOOST_PP_LIST_AT(L,BOOST_PP_DEC(BOOST_PP_LIST_SIZE(L)) ) -\endverbatim+
Note that folding, or accumulation, is a very general pattern of computation. +Most list operations can be implemented in terms of folding.
Iterates F(D,X,P) for each element X of the list L (from the right or the end of the list).
-In other words, +In other words,
-\verbatim +-expands to: +BOOST_PP_LIST_FOLD_RIGHT(F,L,P) -\endverbatim+
expands to:
-\verbatim +F ( D , BOOST_PP_LIST_AT(L,0) @@ -44,13 +39,17 @@ expands to: ) ) ... ) -\endverbatim+
Repeats F(R,P,BOOST_PP_LIST_AT(L,I)) for each I = [0,BOOST_PP_LIST_SIZE(L)[.
-In other words, expands to the sequence: +In other words, expands to the sequence:
-\verbatim +F(R,P,BOOST_PP_LIST_AT(L,0)) F(R,P,BOOST_PP_LIST_AT(L,1)) ... F(R,P,BOOST_PP_LIST_AT(L,BOOST_PP_DEC(BOOST_PP_LIST_SIZE(L)))) -\endverbatim+
Repeats F(R,P,X) for each element X of the cartesian product of the lists LL.
-This macro is useful for generating code to avoid combinatorial explosion. +This macro is useful for generating code to avoid combinatorial explosion.
-LL is a list of lists. - -X is an element of the cartesian product of the lists LL. +Expands to a list of all but the first N elements of the list.
-For example, +For example,
-\verbatim +-expands to a list containing * and /. +BOOST_PP_LIST_REST_N(2,BOOST_PP_TUPLE_TO_LIST(4,(+,-,*,/))) -\endverbatim+
expands to a list containing * and /.
List reversal.
-For example, +For example,
-\verbatim +-expands to a list containing C, B and A. +BOOST_PP_LIST_REVERSE(BOOST_PP_TUPLE_TO_LIST(3,(A,B,C))) -\endverbatim+
expands to a list containing C, B and A.
Expands to the number of elements in the list.
-For example, +For example,
-\verbatim +-expands to 3. +BOOST_PP_LIST_SIZE(BOOST_PP_TUPLE_TO_LIST(3,(A,B,C))) -\endverbatim+
expands to 3.
Converts the list to a tuple.
-For example, +For example,
-\verbatim +-expands to (A,B,C). +BOOST_PP_LIST_TO_TUPLE(BOOST_PP_TUPLE_TO_LIST(3,(A,B,C))) -\endverbatim+
expands to (A,B,C).
-NOTE: The supported size of the list being converted to a tuple is limited by -BOOST_PP_LIMIT_MAG rather than BOOST_PP_LIMIT_TUPLE. +NOTE: The supported size of the list being converted to a tuple is limited by +BOOST_PP_LIMIT_MAG rather than BOOST_PP_LIMIT_TUPLE.
Applies the macro F(D,P,X) to each element X of the list producing a new list.
-In other words, BOOST_PP_LIST_TRANSFORM(F,P,L) expands to same as: +In other words, BOOST_PP_LIST_TRANSFORM(F,P,L) expands to same as:
-\verbatim +-For example, +BOOST_PP_LIST_CONS(F(D,P,BOOST_PP_LIST_AT(L,0)), BOOST_PP_LIST_CONS(F(D,P,BOOST_PP_LIST_AT(L,1)), ... BOOST_PP_LIST_CONS(F(D,P,BOOST_PP_LIST_AT(L,BOOST_PP_DEC(BOOST_PP_LIST_SIZE(L)))), BOOST_PP_LIST_NIL) ... )) -\endverbatim+
For example,
-\verbatim +-expands to a list containing 3 and 4. +BOOST_PP_LIST_TRANSFORM(BOOST_PP_ADD_D,2,BOOST_PP_TUPLE_TO_LIST(2,(1,2))) -\endverbatim+
expands to a list containing 3 and 4.
Includes all logical headers.
*/ #includeExpands to the logical AND of the operands.
-For example, BOOST_PP_AND(0,5) expands to 0 (a single token). +For example, BOOST_PP_AND(0,5) expands to 0 (a single token).
*/ #define BOOST_PP_AND(X,Y) BOOST_PP_NOR(BOOST_PP_NOT(X),BOOST_PP_NOT(Y)) -/** Obsolete. Use BOOST_PP_AND(). */ +/**Obsolete. Use BOOST_PP_AND().
*/ #define BOOST_PREPROCESSOR_AND(X,Y) BOOST_PP_AND(X,Y) #endif diff --git a/include/boost/preprocessor/logical/bool.hpp b/include/boost/preprocessor/logical/bool.hpp index 8e6b069..cb12e0d 100644 --- a/include/boost/preprocessor/logical/bool.hpp +++ b/include/boost/preprocessor/logical/bool.hpp @@ -13,12 +13,7 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - -/** Expands to 0 if X == 0 and 1 if X != 0. */ +/**Expands to 0 if X == 0 and 1 if X != 0.
*/ #define BOOST_PP_BOOL(X) BOOST_PP_BOOL_DELAY(X) #ifndef DOXYGEN_SHOULD_SKIP_THIS @@ -157,6 +152,6 @@ #define BOOST_PP_BOOL128 1 #endif -/** Obsolete. Use BOOST_PP_BOOL(). */ +/**Obsolete. Use BOOST_PP_BOOL().
*/ #define BOOST_PREPROCESSOR_BOOL(X) BOOST_PP_BOOL(X) #endif diff --git a/include/boost/preprocessor/logical/nor.hpp b/include/boost/preprocessor/logical/nor.hpp index 0326363..8994f74 100644 --- a/include/boost/preprocessor/logical/nor.hpp +++ b/include/boost/preprocessor/logical/nor.hpp @@ -13,16 +13,11 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeExpands to the logical NEITHER OR of the operands.
-For example, BOOST_PP_NOR(0,5) expands to 0 (a single token). +For example, BOOST_PP_NOR(0,5) expands to 0 (a single token).
*/ #define BOOST_PP_NOR(X,Y) BOOST_PP_NOR_BOOL(BOOST_PP_BOOL(X),BOOST_PP_BOOL(Y)) @@ -35,6 +30,6 @@ For example, BOOST_PP_NOR(0,5) expands to 0 (a single token). #define BOOST_PP_NOR_BOOL11 0 #endif -/** Obsolete. Use BOOST_PP_NOR(). */ +/**Obsolete. Use BOOST_PP_NOR().
*/ #define BOOST_PREPROCESSOR_NOR(X,Y) BOOST_PP_NOR(X,Y) #endif diff --git a/include/boost/preprocessor/logical/not.hpp b/include/boost/preprocessor/logical/not.hpp index c4f8376..22e1e2f 100644 --- a/include/boost/preprocessor/logical/not.hpp +++ b/include/boost/preprocessor/logical/not.hpp @@ -13,19 +13,14 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeExpands to the logical NOT of the operand.
-For example, BOOST_PP_NOT(0) expands to 1 (a single token). +For example, BOOST_PP_NOT(0) expands to 1 (a single token).
*/ #define BOOST_PP_NOT(X) BOOST_PP_NOR(X,X) -/** Obsolete. Use BOOST_PP_NOT(). */ +/**Obsolete. Use BOOST_PP_NOT().
*/ #define BOOST_PREPROCESSOR_NOT(X) BOOST_PP_NOT(X) #endif diff --git a/include/boost/preprocessor/logical/or.hpp b/include/boost/preprocessor/logical/or.hpp index 93af2e6..064178f 100644 --- a/include/boost/preprocessor/logical/or.hpp +++ b/include/boost/preprocessor/logical/or.hpp @@ -13,19 +13,14 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeExpands to the logical OR of the operands.
-For example, BOOST_PP_OR(0,2) expands to 1 (a single token). +For example, BOOST_PP_OR(0,2) expands to 1 (a single token).
*/ #define BOOST_PP_OR(X,Y) BOOST_PP_NOT(BOOST_PP_NOR(X,Y)) -/** Obsolete. Use BOOST_PP_OR(). */ +/**Obsolete. Use BOOST_PP_OR().
*/ #define BOOST_PREPROCESSOR_OR(X,Y) BOOST_PP_OR(X,Y) #endif diff --git a/include/boost/preprocessor/logical/xor.hpp b/include/boost/preprocessor/logical/xor.hpp index d428c71..767d052 100644 --- a/include/boost/preprocessor/logical/xor.hpp +++ b/include/boost/preprocessor/logical/xor.hpp @@ -13,19 +13,14 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeExpands to the logical EXCLUSIVE OR of the operands.
-For example, BOOST_PP_XOR(1,2) expands to 0 (a single token). +For example, BOOST_PP_XOR(1,2) expands to 0 (a single token).
*/ #define BOOST_PP_XOR(X,Y) BOOST_PP_NOR(BOOST_PP_NOR(X,Y),BOOST_PP_AND(X,Y)) -/** Obsolete. Use BOOST_PP_XOR(). */ +/**Obsolete. Use BOOST_PP_XOR().
*/ #define BOOST_PREPROCESSOR_XOR(X,Y) BOOST_PP_XOR(X,Y) #endif diff --git a/include/boost/preprocessor/max.hpp b/include/boost/preprocessor/max.hpp index 4bcebd2..e4cabc4 100644 --- a/include/boost/preprocessor/max.hpp +++ b/include/boost/preprocessor/max.hpp @@ -13,20 +13,17 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeExpands to the maximum of X and Y.
-For example, BOOST_PP_MAX(5,7) expands to 7 (a single token). +For example, BOOST_PP_MAX(5,7) expands to 7 (a single token).
Obsolete. Use BOOST_PP_MAX().
*/ #define BOOST_PREPROCESSOR_MAX(X,Y) BOOST_PP_MAX(X,Y) #endif diff --git a/include/boost/preprocessor/min.hpp b/include/boost/preprocessor/min.hpp index 3c4b2b5..a66ad54 100644 --- a/include/boost/preprocessor/min.hpp +++ b/include/boost/preprocessor/min.hpp @@ -13,20 +13,17 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeExpands to the minimum of X and Y.
-For example, BOOST_PP_MIN(5,7) expands to 5 (a single token). +For example, BOOST_PP_MIN(5,7) expands to 5 (a single token).
Obsolete. Use BOOST_PP_MIN().
*/ #define BOOST_PREPROCESSOR_MIN(X,Y) BOOST_PP_MIN(X,Y) #endif diff --git a/include/boost/preprocessor/repeat.hpp b/include/boost/preprocessor/repeat.hpp index 4f1f35c..fa95bcf 100644 --- a/include/boost/preprocessor/repeat.hpp +++ b/include/boost/preprocessor/repeat.hpp @@ -13,30 +13,29 @@ * See http://www.boost.org for most recent version. */ -/** \file +/**Repeats the macro M(I,P) for I = [0,N-1[.
-Click here to see the header. -*/ +In other words, expands to the sequence:
-/** Repeats the macro M(I,P) for I = [0,N-1[. - -In other words, expands to the sequence: - -\verbatim +M(0,P) M(1,P) ... M(N-1,P) -\endverbatim+
2D and 3D repetition are supported with the BOOST_PP_REPEAT_2ND() and +BOOST_PP_REPEAT_3RD() macros.
Obsolete. Use BOOST_PP_REPEAT().
*/ #define BOOST_PREPROCESSOR_REPEAT(N,M,P) BOOST_PP_REPEAT(N,M,P) #endif diff --git a/include/boost/preprocessor/repeat_2nd.hpp b/include/boost/preprocessor/repeat_2nd.hpp index a4ab7ae..b273d5d 100644 --- a/include/boost/preprocessor/repeat_2nd.hpp +++ b/include/boost/preprocessor/repeat_2nd.hpp @@ -13,12 +13,7 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - -/** Same as BOOST_PP_REPEAT(), but implemented independently. */ +/**Same as BOOST_PP_REPEAT(), but implemented independently.
*/ #define BOOST_PP_REPEAT_2ND(N,M,P) BOOST_PP_REPEAT_2ND_DELAY(N,M,P) #ifndef DOXYGEN_SHOULD_SKIP_THIS @@ -154,6 +149,6 @@ #define BOOST_PP_REPEAT_2ND128(M,P) BOOST_PP_REPEAT_2ND127(M,P) M(127,P) #endif -/** Obsolete. Use BOOST_PP_REPEAT_2ND(). */ +/**Obsolete. Use BOOST_PP_REPEAT_2ND().
*/ #define BOOST_PREPROCESSOR_REPEAT_2ND(N,M,P) BOOST_PP_REPEAT_2ND(N,M,P) #endif diff --git a/include/boost/preprocessor/repeat_3rd.hpp b/include/boost/preprocessor/repeat_3rd.hpp index ce93604..98a5a18 100644 --- a/include/boost/preprocessor/repeat_3rd.hpp +++ b/include/boost/preprocessor/repeat_3rd.hpp @@ -13,12 +13,7 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - -/** Same as BOOST_PP_REPEAT(), but implemented independently. */ +/**Same as BOOST_PP_REPEAT(), but implemented independently.
*/ #define BOOST_PP_REPEAT_3RD(N,M,P) BOOST_PP_REPEAT_3RD_DELAY(N,M,P) #ifndef DOXYGEN_SHOULD_SKIP_THIS @@ -154,6 +149,6 @@ #define BOOST_PP_REPEAT_3RD128(M,P) BOOST_PP_REPEAT_3RD127(M,P) M(127,P) #endif -/** Obsolete. Use BOOST_PP_REPEAT_3RD(). */ +/**Obsolete. Use BOOST_PP_REPEAT_3RD().
*/ #define BOOST_PREPROCESSOR_REPEAT_3RD(N,M,P) BOOST_PP_REPEAT_3RD(N,M,P) #endif diff --git a/include/boost/preprocessor/stringize.hpp b/include/boost/preprocessor/stringize.hpp index bf64584..e31b0f3 100644 --- a/include/boost/preprocessor/stringize.hpp +++ b/include/boost/preprocessor/stringize.hpp @@ -13,37 +13,32 @@ * See http://www.boost.org for most recent version. */ -/** \file +/**Delays the stringization of X.
-Click here to see the header. -*/ +For example,
-/** Delays the stringization of X. ++ #define NOTE(STR)\ + message(__FILE__ "(" BOOST_PP_STRINGIZE(__LINE__) ") : " STR) -For example, + // ... -- -expands to: - -\verbatim -#define NOTE(STR)\ - message(__FILE__ "(" BOOST_PP_STRINGIZE(__LINE__) ") : " STR) + #pragma NOTE("TBD!") +-// ... +expands to:
-#pragma NOTE("TBD!") -\endverbatim
\verbatim +-The use of BOOST_PP_STRINGIZE() above lets the PP expand the __LINE__ +#pragma message("examples.cpp" "(" "20" ") : " "TBD!") -\endverbatim+
The use of BOOST_PP_STRINGIZE() above lets the PP expand the __LINE__ before stringizing it. If # would be used directly, the code would -expand to: +expand to:
-\verbatim +*/ #define BOOST_PP_STRINGIZE(X) BOOST_PP_STRINGIZE_DELAY(X) @@ -52,6 +47,6 @@ expand to: #define BOOST_PP_DO_STRINGIZE(X) #X #endif -/** Obsolete. Use BOOST_PP_STRINGIZE(). */ +/**#pragma message("examples.cpp" "(" "__LINE__" ") : " "TBD!") -\endverbatim+
Obsolete. Use BOOST_PP_STRINGIZE().
*/ #define BOOST_PREPROCESSOR_STRINGIZE(E) BOOST_PP_STRINGIZE(E) #endif diff --git a/include/boost/preprocessor/tuple.hpp b/include/boost/preprocessor/tuple.hpp index 6647652..cac67d0 100644 --- a/include/boost/preprocessor/tuple.hpp +++ b/include/boost/preprocessor/tuple.hpp @@ -13,12 +13,7 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. - -Includes all tuple headers. -*/ +/**Includes all tuple headers.
*/ #includeExpands to a macro that eats a tuple of the specified length.
-Click here to see the header. -*/ +BOOST_PP_TUPLE_EAT() is designed to be used with BOOST_PP_IF() like +BOOST_PP_EMPTY().
-/** Expands to a macro that eats a tuple of the specified length. +For example,
-BOOST_PP_TUPLE_EAT() is designed to be used with BOOST_PP_IF() like -BOOST_PP_EMPTY(). - -For example, - -\verbatim +-expands to nothing. +BOOST_PP_IF(0,BOOST_PP_ENUM_PARAMS,BOOST_PP_TUPLE_EAT(2))(10,P) -\endverbatim+
expands to nothing.
*/ #define BOOST_PP_TUPLE_EAT(N) BOOST_PP_TUPLE_EAT_DELAY(N) diff --git a/include/boost/preprocessor/tuple/elem.hpp b/include/boost/preprocessor/tuple/elem.hpp index 0016283..6b1e869 100644 --- a/include/boost/preprocessor/tuple/elem.hpp +++ b/include/boost/preprocessor/tuple/elem.hpp @@ -13,33 +13,30 @@ * See http://www.boost.org for most recent version. */ -/** \file +/**Expands to the I:th element of an N-tuple.
-Click here to see the header. -*/ +For example,
-/** Expands to the I:th element of an N-tuple. - -For example, - -\verbatim +-expands to B. +BOOST_PP_TUPLE_ELEM(2,1,(A,B)) -\endverbatim+
expands to B.
-Tuples can be used for representing structured data. +Tuples can be used for representing structured data.
-Examples of tuples: +Examples of tuples:
-\verbatim +2-tuple: (A, B) 3-tuple: (1, 2, 3) 4-tuple: (A B C, D, EF, 34) -\endverbatim+
Obsolete. Use BOOST_PP_TUPLE_ELEM().
*/ #define BOOST_PREPROCESSOR_TUPLE_ELEM(N,I,T) BOOST_PP_TUPLE_ELEM(N,I,T) #endif diff --git a/include/boost/preprocessor/tuple/to_list.hpp b/include/boost/preprocessor/tuple/to_list.hpp index 5166484..b1902e1 100644 --- a/include/boost/preprocessor/tuple/to_list.hpp +++ b/include/boost/preprocessor/tuple/to_list.hpp @@ -13,18 +13,15 @@ * See http://www.boost.org for most recent version. */ -/** \file - -Click here to see the header. -*/ - #includeConverts a tuple to a list.
Iterates F(D,X) while C(D,X) is true.
-In other words, expands to: +In other words, expands to:
-\verbatim +-The depth of iteration is determined by C(D,X). +F(D, ... F(D, F(D,X) ) ... ) -\endverbatim+
The depth of iteration is determined by C(D,X).
NOTE: The value of the D parameter may exceed BOOST_PP_LIMIT_MAG.
Using BOOST_PP_WHILE() is a bit tricky. This is due to the C++ preprocessor limitations. It is recommended to take a look at the implementations of the various PREPROCESSOR library primitives such as BOOST_PP_ADD() for additional -examples. +examples.
For a more complex example, let's take a look at an implementation of +BOOST_PP_MUL().
-For a more complex example, let's take a look at an implementation of -BOOST_PP_MUL(). - -\verbatim +#define BOOST_PP_MUL(X,Y) BOOST_PP_MUL_D(0,X,Y) // Since the macro is implemented using WHILE, the actual implementation // takes a depth as a parameter so that it can be called inside a WHILE. @@ -95,12 +93,13 @@ BOOST_PP_MUL(). // , The multiplier is retained without change. // , The counter is decreased. // ) -\endverbatim+