Line | |
---|
1 | <html> |
---|
2 | <head> |
---|
3 | <title>BOOST_PP_APPLY</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_APPLY</b> macro abstracts the difference between an argument and nothing. |
---|
9 | </div> |
---|
10 | <h4>Usage</h4> |
---|
11 | <div class="code"> |
---|
12 | <b>BOOST_PP_APPLY</b>(<i>x</i>) |
---|
13 | </div> |
---|
14 | <h4>Arguments</h4> |
---|
15 | <dl> |
---|
16 | <dt>x</dt> |
---|
17 | <dd> |
---|
18 | The abstracted argument. |
---|
19 | This argument must be either <b>BOOST_PP_NIL</b> or a <i>tuple</i> with one element--such as <i>(arg)</i> or <i>((a, b))</i>. |
---|
20 | </dd> |
---|
21 | </dl> |
---|
22 | <h4>Remarks</h4> |
---|
23 | <div> |
---|
24 | If <i>x</i> is <b>BOOST_PP_NIL</b>, this macro expands to nothing. |
---|
25 | If <i>x</i> is a one element <i>tuple</i>, it expands to the contents of that <i>tuple</i>. |
---|
26 | </div> |
---|
27 | <h4>See Also</h4> |
---|
28 | <ul> |
---|
29 | <li><a href="nil.html">BOOST_PP_NIL</a></li> |
---|
30 | </ul> |
---|
31 | <h4>Requirements</h4> |
---|
32 | <div> |
---|
33 | <b>Header:</b> <a href="../headers/facilities/apply.html"><boost/preprocessor/facilities/apply.hpp></a> |
---|
34 | </div> |
---|
35 | <h4>Sample Code</h4> |
---|
36 | <div><pre> |
---|
37 | #include <<a href="../headers/facilities/apply.html">boost/preprocessor/facilities/apply.hpp</a>> |
---|
38 | #include <<a href="../headers/tuple/elem.html">boost/preprocessor/tuple/elem.hpp</a>> |
---|
39 | |
---|
40 | #define CV(i) \ |
---|
41 | <a href="apply.html">BOOST_PP_APPLY</a>( \ |
---|
42 | <a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>( \ |
---|
43 | 4, i, \ |
---|
44 | (<a href="nil.html">BOOST_PP_NIL</a>, (const), (volatile), (const volatile)) \ |
---|
45 | ) \ |
---|
46 | ) \ |
---|
47 | /**/ |
---|
48 | |
---|
49 | CV(0) // expands to nothing |
---|
50 | CV(1) // expands to const |
---|
51 | </pre></div> |
---|
52 | </body> |
---|
53 | </html> |
---|
Note: See
TracBrowser
for help on using the repository browser.