- The BOOST_PP_FOR_r macro represents a reentry into the BOOST_PP_FOR repetition construct.
-
-
Usage
-
- BOOST_PP_FOR_ ## r(state, pred, op, macro)
-
-
Arguments
-
-
r
-
- The next available BOOST_PP_FOR repetition.
-
-
state
-
- The initial state.
-
-
pred
-
- A binary predicate of the form pred(r, state).
- This macro must expand to an integer in the range of 0 to BOOST_PP_LIMIT_MAG.
- BOOST_PP_FOR repeatedly expands macro while this predicate returns non-zero.
- This macro is called with the next available BOOST_PP_FOR repetition and the current state.
-
-
op
-
- A binary operation of the form op(r, state).
- This operation is expanded by BOOST_PP_FOR with the next available BOOST_PP_FOR repetition and the current state.
- This macro is repeatedly applied to the state, each time producing a new state, until pred returns 0.
-
-
macro
-
- A binary macro of the form macro(r, state).
- This macro is expanded by BOOST_PP_FOR with the next available BOOST_PP_FOR repetition and the current state.
- This macro is is repeated by BOOST_PP_FOR until pred returns 0.
-
- At certain times, it may be necessary to perform the concatenation with BOOST_PP_CAT rather than the preprocessor token-pasting operator.
- This happens when the r value is a macro invocation itself.
- It needs a delay to allow it to expand.
- The syntax in such a scenario becomes:
-
The BOOST_PP_FOR_r macro
+ represents a reentry into the BOOST_PP_FOR repetition construct.
+
Usage
+
BOOST_PP_FOR_ ## r(state, pred,
+ op, macro)
+
Arguments
+
+
r
+
The next available BOOST_PP_FOR repetition.
+
state
+
The initial state.
+
pred
+
A binary predicate of the form pred(r, state).
+ This macro must expand to an integer in the range of 0 to BOOST_PP_LIMIT_MAG.
+ BOOST_PP_FOR repeatedly expands macro while this
+ predicate returns non-zero. This macro is called with the next
+ available BOOST_PP_FOR repetition and the current state.
+
+
op
+
A binary operation of the form op(r, state).
+ This operation is expanded by BOOST_PP_FOR with the next
+ available BOOST_PP_FOR repetition and the current state.
+ This macro is repeatedly applied to the state, each time
+ producing a new state, until pred returns 0.
+
macro
+
A binary macro of the form macro(r, state).
+ This macro is expanded by BOOST_PP_FOR with the next available BOOST_PP_FOR
+ repetition and the current state. This macro is is
+ repeated by BOOST_PP_FOR until pred returns 0.
At certain times, it may be necessary to perform the concatenation
+ with BOOST_PP_CAT rather than the preprocessor token-pasting
+ operator. This happens when the r value is a macro
+ invocation itself. It needs a delay to allow it to expand. The
+ syntax in such a scenario becomes:
+
- The BOOST_PP_REPEAT_z macro represents a reentry into the BOOST_PP_REPEAT repetition construct.
-
-
Usage
-
- BOOST_PP_REPEAT_ ## z(count, macro, data)
-
-
Arguments
-
-
z
-
- The next available BOOST_PP_REPEAT dimension.
-
-
count
-
- The number of repetitious calls to macro.
- Valid values range from 0 to BOOST_PP_LIMIT_REPEAT.
-
-
macro
-
- A ternary operation of the form macro(z, n, data).
- This macro is expanded by BOOST_PP_REPEAT with the next available repetition depth,
- the current repetition number, and the auxiliary data argument.
-
- At certain times, it may be necessary to perform the concatenation with BOOST_PP_CAT rather than the preprocessor token-pasting operator.
- This happens when the z value is a macro invocation itself.
- It needs a delay to allow it to expand.
- The syntax in such a scenario becomes:
-
The BOOST_PP_REPEAT_z macro
+ represents a reentry into the BOOST_PP_REPEAT repetition
+ construct.
+
Usage
+
BOOST_PP_REPEAT_ ## z(count, macro,
+ data)
+
Arguments
+
+
z
+
The next available BOOST_PP_REPEAT dimension.
+
count
+
The number of repetitious calls to macro. Valid values
+ range from 0 to BOOST_PP_LIMIT_REPEAT.
+
macro
+
A ternary operation of the form macro(z, n, data).
+ This macro is expanded by BOOST_PP_REPEAT with the next
+ available repetition depth, the current repetition number, and the
+ auxiliary data argument.
At certain times, it may be necessary to perform the concatenation
+ with BOOST_PP_CAT rather than the preprocessor token-pasting
+ operator. This happens when the z value is a macro
+ invocation itself. It needs a delay to allow it to expand. The
+ syntax in such a scenario becomes:
+
- The BOOST_PP_WHILE_d macro represents a reentry into the BOOST_PP_WHILE looping construct.
-
-
Usage
-
- BOOST_PP_WHILE_ ## d(pred, op, state)
-
-
Arguments
-
-
d
-
- The next available BOOST_PP_WHILE iteration.
-
-
pred
-
- A binary predicate of the form pred(d, state).
- This predicate is expanded by BOOST_PP_WHILE with the next available
- iteration d and the current state.
- This predicate must expand to value in the range of 0 to BOOST_PP_LIMIT_MAG.
- The construct continues to loop until this predicate returns 0.
- When this predicate returns 0, BOOST_PP_WHILE returns the current state.
-
-
op
-
- A binary operation of the form op(d, state).
- This operation is expanded by BOOST_PP_WHILE with the next available
- iteration d and the current state.
- This macro is repeatedly applied to the state, each time producing a new state, until pred returns 0.
-
-
state
-
- The initial state.
- Often this argument is a tuple.
-
-
-
Remarks
-
- This macro iterates op(d, state) while pred(d, state) is non-zero.
- In other words expands to:
-
- op(d, ... op(d, op(d, state)) ... ).
-
-
-
- At certain times, it may be necessary to perform the concatenation with BOOST_PP_CAT rather than the preprocessor token-pasting operator.
- This happens when the d value is a macro invocation itself.
- It needs a delay to allow it to expand.
- The syntax in such a scenario becomes:
-
The BOOST_PP_WHILE_d macro
+ represents a reentry into the BOOST_PP_WHILE looping construct.
+
Usage
+
BOOST_PP_WHILE_ ## d(pred, op,
+ state)
+
Arguments
+
+
d
+
The next available BOOST_PP_WHILE iteration.
+
pred
+
A binary predicate of the form pred(d, state).
+ This predicate is expanded by BOOST_PP_WHILE with the next
+ available iteration d and the current state. This
+ predicate must expand to value in the range of 0 to BOOST_PP_LIMIT_MAG.
+ The construct continues to loop until this predicate returns 0.
+ When this predicate returns 0, BOOST_PP_WHILE returns
+ the current state.
+
op
+
A binary operation of the form op(d, state).
+ This operation is expanded by BOOST_PP_WHILE with the next
+ available iteration d and the current state. This
+ macro is repeatedly applied to the state, each time producing a
+ new state, until pred returns 0.
+
state
+
The initial state. Often this argument is a tuple.
+
+
Remarks
+
This macro iterates op(d, state) while pred(d,
+ state) is non-zero. In other words expands to:
+
op(d, ... op(d, op(d, state))
+ ... ).
+
+
At certain times, it may be necessary to perform the concatenation
+ with BOOST_PP_CAT rather than the preprocessor token-pasting
+ operator. This happens when the d value is a macro
+ invocation itself. It needs a delay to allow it to expand. The
+ syntax in such a scenario becomes:
+