summaryrefslogtreecommitdiff
path: root/libs/preprocessor/doc/ref/list_to_tuple.html
blob: d022c2b9890f3b0f8a5e1297c379278e88682b52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<html>
  <head>
    <meta content="text/html; charset=windows-1252" http-equiv="content-type">
    <title>BOOST_PP_LIST_TO_TUPLE</title>
    <link rel="stylesheet" type="text/css" href="../styles.css">
  </head>
  <body>
    <div style="margin-left:  0px;"> The <b>BOOST_PP_LIST_TO_TUPLE</b> macro
      converts a <i>list</i> to a <i>tuple</i>. </div>
    <h4>Usage</h4>
    <div class="code"> <b>BOOST_PP_LIST_TO_TUPLE</b>(<i>list</i>) </div>
    <h4>Arguments</h4>
    <dl>
      <dt>list</dt>
      <dd> The <i>list</i> to be converted. </dd>
    </dl>
    <h4>Remarks</h4>
    <div> If <i>list</i> is, for example, (<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>))),
      this macro will produce:
      <div> (<i>a</i>, <i>b</i>, <i>c</i>) </div>
    </div>
    <div> Previously, this macro could not be used inside <b>BOOST_PP_FOR</b>.&nbsp;
      There is no longer any such restriction.&nbsp; It is more efficient,
      however, to use <b>BOOST_PP_LIST_TO_TUPLE_R</b> in such a situation.<br>
      <br>
      If the <i>list</i> to be converted is empty, as represented by 'BOOST_PP_NIL',
      the resulting <i>tuple</i> is undefined since a <i>tuple</i> cannot be
      empty.</div>
    <h4>See Also</h4>
    <ul>
      <li><a href="list_to_tuple_r.html">BOOST_PP_LIST_TO_TUPLE_R</a></li>
    </ul>
    <h4>Requirements</h4>
    <div> <b>Header:</b> &nbsp;<a href="../headers/list/to_tuple.html">&lt;boost/preprocessor/list/to_tuple.hpp&gt;</a>
    </div>
    <h4>Sample Code</h4>
    <div>
      <pre>#include &lt;<a href="../headers/list/to_tuple.html">boost/preprocessor/list/to_tuple.hpp</a>&gt;

#define LIST (w, (x, (y, (z, <a href="nil.html">BOOST_PP_NIL</a>))))

<a href="list_to_tuple.html">BOOST_PP_LIST_TO_TUPLE</a>(LIST) // expands to (w, x, y, z)
</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>