123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <html>
- <head>
- <title>BOOST_PP_LIST_CONS</title>
- <link rel="stylesheet" type="text/css" href="../styles.css">
- </head>
- <body>
- <div style="margin-left: 0px;">
- The <b>BOOST_PP_LIST_CONS</b> macro is a <i>list</i> constructor.
- </div>
- <h4>Usage</h4>
- <div class="code">
- <b>BOOST_PP_LIST_CONS</b>(<i>head</i>, <i>tail</i>)
- </div>
- <h4>Arguments</h4>
- <dl>
- <dt>head</dt>
- <dd>
- An element in a <i>list</i>.
- </dd>
- <dt>tail</dt>
- <dd>
- Either a <i>list</i>, <b>BOOST_PP_LIST_NIL</b>, or <b>BOOST_PP_NIL</b>.
- </dd>
- </dl>
- <h4>Remarks</h4>
- <div>
- This macro appends a new head to an existing <i>list</i> or creates a <i>list</i> from <b>BOOST_PP_LIST_NIL</b>.
- </div>
- <div>
- This macro is no longer necessary.
- For example...
- <div>
- <b>BOOST_PP_LIST_CONS</b>(a, <b>BOOST_PP_LIST_CONS</b>(b, <b>BOOST_PP_LIST_NIL</b>)))
- </div>
- ...is just an explicit way of writing the following:
- <div>
- (a, (b, <b>BOOST_PP_NIL</b>))
- </div>
- Because of this, this macro is deprecated.
- </div>
- <h4>See Also</h4>
- <ul>
- <li><a href="list_nil.html">BOOST_PP_LIST_NIL</a></li>
- <li><a href="nil.html">BOOST_PP_NIL</a></li>
- </ul>
- <h4>Requirements</h4>
- <div>
- <b>Header:</b> <a href="../headers/list/adt.html"><boost/preprocessor/list/adt.hpp></a>
- </div>
- <h4>Sample Code</h4>
- <div><pre>
- #include <<a href="../headers/list/adt.html">boost/preprocessor/list/adt.hpp</a>>
- #define OLD \
- <a href="list_cons.html">BOOST_PP_LIST_CONS</a>( \
- a, \
- <a href="list_cons.html">BOOST_PP_LIST_CONS</a>( \
- b, \
- <a href="list_cons.html">BOOST_PP_LIST_CONS</a>( \
- c, \
- <a href="list_nil.html">BOOST_PP_LIST_NIL</a> \
- ) \
- ) \
- ) \
- /**/
- #define NEW (a, (b, (c, <a href="nil.html">BOOST_PP_NIL</a>)))
- <a href="list_first.html">BOOST_PP_LIST_FIRST</a>(OLD) == <a href="list_first.html">BOOST_PP_LIST_FIRST</a>(NEW)
- // expands to a == a
- <a href="list_rest.html">BOOST_PP_LIST_REST</a>(OLD) == <a href="list_rest.html">BOOST_PP_LIST_REST</a>(NEW)
- // expands to (b, (c, <a href="nil.html">BOOST_PP_NIL</a>)) == (b, (c, <a href="nil.html">BOOST_PP_NIL</a>))
- </pre></div>
- <hr size="1">
- <div style="margin-left: 0px;">
- <i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
- </br><i>© Copyright Paul Mensonides 2002</i>
- </div>
- <div style="margin-left: 0px;">
- <p><small>Distributed under the Boost Software License, Version 1.0. (See
- accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
- copy at <a href=
- "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
- </div>
- </body>
- </html>
|