The BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS macro generates a comma-separated list of parameters with default arguments.

Usage

BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(count, param, def)

Arguments

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_WITH_DEFAULTS concatenates numbers ranging from 0 to count - 1 to generate parameters.
def
The default value that trails each parameter. BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS concatenates numbers ranging from 0 to count - 1 to generate default arguments.

Remarks

This macro expands to the comma-separated sequence:
param ## 0 = def ## 0, param ## 1 = def ## 1, ... param ## count - 1 = def ## count - 1
Previously, this macro could not be used recursively inside BOOST_PP_REPEAT.  This limitation no longer exists, as the library can automatically detect the next available repetition depth.
This macro is deprecated.  It only exists for backward compatibility.  Use BOOST_PP_ENUM_BINARY_PARAMS instead:
BOOST_PP_ENUM_BINARY_PARAMS(count, param, = def)

See Also

Requirements

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

Sample Code

#include <boost/preprocessor/repetition/enum_params_with_defaults.hpp>

BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(3, class T, U)
   // expands to class T0 = U0, class T1 = U1, class T2 = U2

BOOST_PP_ENUM_BINARY_PARAMS(3, class T, = U)
   // expands to class T0 = U0, class T1 = U1, class T2 = U2

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