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

- BOOST_PP_ENUM_BINARY_PARAMS
- BOOST_PP_INTERCEPT
- BOOST_PP_LIMIT_REPEAT

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