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

- BOOST_PP_LIMIT_ITERATION
- BOOST_PP_LOCAL_ITERATE

#### 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)