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

- BOOST_PP_ENUM_BINARY_PARAMS
- BOOST_PP_LIMIT_REPEAT

#### 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 T0 = U0, T1 = U1, T2 = U2

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