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 }; };
*/

© Copyright Housemarque Oy 2002
© Copyright Paul Mensonides 2002

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)