The BOOST_PP_ENUM_PARAMS_Z macro generates a comma-separated list of parameters.  It reenters BOOST_PP_REPEAT with maximum efficiency.

Usage

BOOST_PP_ENUM_PARAMS_Z(z, count, param)

Arguments

z
The next available BOOST_PP_REPEAT dimension.
count
The number of parameters to generate.  Valid values range from 0 to BOOST_PP_LIMIT_REPEAT.
param
The text of the parameter.  BOOST_PP_ENUM_PARAMS_Z concatenates numbers ranging from 0 to count - 1 to generate parameters.

Remarks

This macro expands to the comma-separated sequence:
param ## 0, param ## 1, ... param ## count - 1

See Also

Requirements

Header:  <boost/preprocessor/repetition/enum_params.hpp>

Sample Code

#include <boost/preprocessor/arithmetic/inc.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>

#define MACRO(z, n, _) \
   template< \
      BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(n), class T) \
   > class X ## n { \
      /* ... */ \
   }; \
   /**/

BOOST_PP_REPEAT(2, MACRO, nil)
/*
   expands to...
   template<class T0> class X0 { };
   template<class T0, class T1> class X1 { };
*/

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)