The BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT macro generates a comma-separated list of parameters with a default argument.

Usage

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

Remarks

This macro expands to the comma-separated sequence:
param ## 0 = def, param ## 1 = def, ... param ## count - 1 = def
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 with BOOST_PP_INTERCEPT instead:
BOOST_PP_ENUM_BINARY_PARAMS(count, param, = def BOOST_PP_INTERCEPT)

See Also

Requirements

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

Sample Code

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

BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(3, class T, int)
   // expands to T0 = int, T1 = int, T2 = int

BOOST_PP_ENUM_BINARY_PARAMS(3, class T, = int BOOST_PP_INTERCEPT)
   // expands to T0 = int, T1 = int, T2 = int

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)