]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/preprocessor/doc/ref/list_size_d.html
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / preprocessor / doc / ref / list_size_d.html
CommitLineData
7c673cae
FG
1<html>
2<head>
3 <title>BOOST_PP_LIST_SIZE_D</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_LIST_SIZE_D</b> macro expands to the size of a <i>list</i>.&nbsp;
9 It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
10 </div>
11 <h4>Usage</h4>
12 <div class="code">
13 <b>BOOST_PP_LIST_SIZE_D</b>(<i>d</i>, <i>list</i>)
14 </div>
15 <h4>Arguments</h4>
16 <dl>
17 <dt>d</dt>
18 <dd>
19 The next available <b>BOOST_PP_WHILE</b> iteration.
20 </dd>
21 <dt>list</dt>
22 <dd>
23 A <i>list</i> whose size is to be calculated.
24 </dd>
25 </dl>
26 <h4>See Also</h4>
27 <ul>
28 <li><a href="list_size.html">BOOST_PP_LIST_SIZE</a></li>
29 </ul>
30 <h4>Requirements</h4>
31 <div>
32 <b>Header:</b> &nbsp;<a href="../headers/list/size.html">&lt;boost/preprocessor/list/size.hpp&gt;</a>
33 </div>
34 <h4>Sample Code</h4>
35<div><pre>
36#include &lt;<a href="../headers/arithmetic/add.html">boost/preprocessor/arithmetic/add.hpp</a>&gt;
37#include &lt;<a href="../headers/list/fold_left.html">boost/preprocessor/list/fold_left.hpp</a>&gt;
38#include &lt;<a href="../headers/list/size.html">boost/preprocessor/list/size.hpp</a>&gt;
39
40#define L1 (a, (b, (c, <a href="nil.html">BOOST_PP_NIL</a>)))
41#define L2 (x, (y, <a href="nil.html">BOOST_PP_NIL</a>))
42#define L3 (p, (q, <a href="nil.html">BOOST_PP_NIL</a>))
43
44#define LIST (L1, (L2, (L3, <a href="nil.html">BOOST_PP_NIL</a>)))
45
46#define OP(d, state, x) \
47 <a href="add_d.html">BOOST_PP_ADD_D</a>( \
48 d, state, \
49 <a href="list_size_d.html">BOOST_PP_LIST_SIZE_D</a>(d, x) \
50 ) \
51 /**/
52
53<a href="list_fold_left.html">BOOST_PP_LIST_FOLD_LEFT</a>(OP, 0, LIST) // expands to 7
54</pre></div>
55 <hr size="1">
56 <div style="margin-left: 0px;">
57