The BOOST_PP_LOCAL_LIMITS macro is a user-defined named external argument used by BOOST_PP_LOCAL_ITERATE.
Usage
#define BOOST_PP_LOCAL_LIMITS (start, finish)
Arguments
- start
-
The lower bound (inclusive) of a local iteration.
Valid values range from 0 to BOOST_PP_LIMIT_ITERATION.
- finish
-
The upper bound (inclusive) of a local iteration.
Valid values range from 0 to BOOST_PP_LIMIT_ITERATION.
Remarks
Note that there is a whitespace character after the macro identifier.
This macro must expand to a 2-element tuple.
The elements of this tuple represent the lower and upper boundaries of a local iteration.
Both start and finish are evaluated parameters.
This implies that they can include simple arithmetic expressions (such as 1 + 3), etc..
This macro is automatically undefined for reuse by a call to BOOST_PP_LOCAL_ITERATE.
See Also
Sample Code
#include <boost/preprocessor/iteration/local.hpp>
template<int> struct sample;
#define BOOST_PP_LOCAL_MACRO(n) \
template<> struct sample<n> { \
enum { value = n }; \
}; \
/**/
#define BOOST_PP_LOCAL_LIMITS (1, 5)
#include BOOST_PP_LOCAL_ITERATE()
/* expands to...
template<> struct sample<1> { enum { value = 1 }; };
template<> struct sample<2> { enum { value = 2 }; };
template<> struct sample<3> { enum { value = 3 }; };
template<> struct sample<4> { enum { value = 4 }; };
template<> struct sample<5> { enum { value = 5 }; };
*/