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

Usage

BOOST_PP_ENUM_TRAILING_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_TRAILING_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_trailing_params.hpp>

Sample Code

#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>

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

BOOST_PP_REPEAT(2, MACRO, nil)
/*
   expands to...
   template<class> class X0 { };
   template<class, class T0> 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)