1 | <html> |
---|
2 | <head> |
---|
3 | <title>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</title> |
---|
4 | <link rel="stylesheet" type="text/css" href="../styles.css"> |
---|
5 | </head> |
---|
6 | <body> |
---|
7 | <div style="margin-left: 0px;"> |
---|
8 | The <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b> macro generates a comma-separated list of binary parameters with a leading comma. |
---|
9 | </div> |
---|
10 | <h4>Usage</h4> |
---|
11 | <div class="code"> |
---|
12 | <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b>(<i>count</i>, <i>p1</i>, <i>p2</i>) |
---|
13 | </div> |
---|
14 | <h4>Arguments</h4> |
---|
15 | <dl> |
---|
16 | <dt>count</dt> |
---|
17 | <dd> |
---|
18 | The number of parameters to generate. |
---|
19 | Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>. |
---|
20 | </dd> |
---|
21 | <dt>p1</dt> |
---|
22 | <dd> |
---|
23 | The text of the first part of the parameter. |
---|
24 | <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i> |
---|
25 | to generate parameters. |
---|
26 | </dd> |
---|
27 | <dt>p2</dt> |
---|
28 | <dd> |
---|
29 | The text of the first part of the parameter. |
---|
30 | <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i> |
---|
31 | to generate parameters. |
---|
32 | </dd> |
---|
33 | </dl> |
---|
34 | <h4>Remarks</h4> |
---|
35 | <div> |
---|
36 | This macro expands to the comma-separated sequence: |
---|
37 | <div> |
---|
38 | , <i>p1</i> ## <i>0</i> <i>p2</i> ## <i>0</i>, <i>p1</i> ## <i>1</i> <i>p2</i> ## <i>1</i>, ... <i>p1</i> ## <i>count</i> - <i>1</i> <i>p2</i> ## <i>count</i> - <i>1</i> |
---|
39 | </div> |
---|
40 | </div> |
---|
41 | <div> |
---|
42 | To use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</b>. |
---|
43 | </div> |
---|
44 | <h4>See Also</h4> |
---|
45 | <ul> |
---|
46 | <li><a href="etbpz.html">BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</a></li> |
---|
47 | <li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li> |
---|
48 | </ul> |
---|
49 | <h4>Requirements</h4> |
---|
50 | <div> |
---|
51 | <b>Header:</b> <a href="../headers/repetition/etbp.html"><boost/preprocessor/repetition/enum_trailing_binary_params.hpp></a> |
---|
52 | </div> |
---|
53 | <h4>Sample Code</h4> |
---|
54 | <div><pre> |
---|
55 | #include <<a href="../headers/facilities/intercept.html">boost/preprocessor/facilities/intercept.hpp</a>> |
---|
56 | #include <<a href="../headers/repetition/etbp.html">boost/preprocessor/repetition/enum_trailing_binary_params.hpp</a>> |
---|
57 | |
---|
58 | template<class X <a href="etbp.html">BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</a>(4, class A, = X <a href="intercept.html">BOOST_PP_INTERCEPT</a>)> |
---|
59 | struct sample { |
---|
60 | // ... |
---|
61 | }; |
---|
62 | |
---|
63 | /* expands to... |
---|
64 | |
---|
65 | template<class X, class A0 = X, class A1 = X, class A2 = X, class A3 = X> |
---|
66 | struct sample { |
---|
67 | // ... |
---|
68 | } |
---|
69 | */ |
---|
70 | </pre></div> |
---|
71 | </body> |
---|
72 | </html> |
---|