3 <title>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS
</title>
4 <link rel=
"stylesheet" type=
"text/css" href=
"../styles.css">
7 <div style=
"margin-left: 0px;">
8 The
<b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS
</b> macro generates a comma-separated list of parameters with default arguments.
12 <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS
</b>(
<i>count
</i>,
<i>param
</i>,
<i>def
</i>)
18 The number of parameters to generate.
19 Valid values range from
<i>0</i> to
<b>BOOST_PP_LIMIT_REPEAT
</b>.
23 The text of the parameter.
24 <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS
</b> concatenates numbers ranging from
<i>0</i> to
<i>count
</i> -
<i>1</i>
25 to generate parameters.
29 The default value that trails each parameter.
30 <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS
</b> concatenates numbers ranging from
<i>0</i> to
<i>count
</i> -
<i>1</i>
31 to generate default arguments.
36 This macro expands to the comma-separated sequence:
38 <i>param
</i> ##
<i>0</i> =
<i>def
</i> ##
<i>0</i>,
<i>param
</i> ##
<i>1</i> =
<i>def
</i> ##
<i>1</i>, ...
<i>param
</i> ##
<i>count
</i> -
<i>1</i> =
<i>def
</i> ##
<i>count
</i> -
<i>1</i>
42 Previously, this macro could not be used recursively inside
<b>BOOST_PP_REPEAT
</b>.
43 This limitation no longer exists, as the library can automatically detect the next available repetition depth.
46 This macro is deprecated.
47 It only exists for backward compatibility.
48 Use
<b>BOOST_PP_ENUM_BINARY_PARAMS
</b> instead:
50 <b>BOOST_PP_ENUM_BINARY_PARAMS
</b>(
<i>count
</i>,
<i>param
</i>, =
<i>def
</i>)
55 <li><a href=
"enum_binary_params.html">BOOST_PP_ENUM_BINARY_PARAMS
</a></li>
56 <li><a href=
"limit_repeat.html">BOOST_PP_LIMIT_REPEAT
</a></li>
60 <b>Header:
</b> <a href=
"../headers/repetition/epwd.html"><boost/preprocessor/repetition/enum_params_with_defaults.hpp
></a>
64 #include
<<a href=
"../headers/repetition/epwd.html">boost/preprocessor/repetition/enum_params_with_defaults.hpp
</a>>
66 <a href=
"enum_params_with_defaults.html">BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS
</a>(
3, class T, U)
67 // expands to class T0 = U0, class T1 = U1, class T2 = U2
69 <a href=
"enum_binary_params.html">BOOST_PP_ENUM_BINARY_PARAMS
</a>(
3, class T, = U)
70 // expands to class T0 = U0, class T1 = U1, class T2 = U2
73 <div style=
"margin-left: 0px;">
74 <i>© Copyright
<a href=
"http://www.housemarque.com" target=
"_top">Housemarque Oy
</a> 2002</i>
75 </br><i>© Copyright Paul Mensonides
2002</i>
77 <div style=
"margin-left: 0px;">
78 <p><small>Distributed under the Boost Software License, Version
1.0. (See
79 accompanying file
<a href=
"../../../../LICENSE_1_0.txt">LICENSE_1_0.txt
</a> or
81 "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt
</a>)
</small></p>