3 <title>BOOST_PP_LIST_SIZE_D
</title>
4 <link rel=
"stylesheet" type=
"text/css" href=
"../styles.css">
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>.
9 It reenters
<b>BOOST_PP_WHILE
</b> with maximum efficiency.
13 <b>BOOST_PP_LIST_SIZE_D
</b>(
<i>d
</i>,
<i>list
</i>)
19 The next available
<b>BOOST_PP_WHILE
</b> iteration.
23 A
<i>list
</i> whose size is to be calculated.
28 <li><a href=
"list_size.html">BOOST_PP_LIST_SIZE
</a></li>
32 <b>Header:
</b> <a href=
"../headers/list/size.html"><boost/preprocessor/list/size.hpp
></a>
36 #include
<<a href=
"../headers/arithmetic/add.html">boost/preprocessor/arithmetic/add.hpp
</a>>
37 #include
<<a href=
"../headers/list/fold_left.html">boost/preprocessor/list/fold_left.hpp
</a>>
38 #include
<<a href=
"../headers/list/size.html">boost/preprocessor/list/size.hpp
</a>>
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>))
44 #define LIST (L1, (L2, (L3,
<a href=
"nil.html">BOOST_PP_NIL
</a>)))
46 #define OP(d, state, x) \
47 <a href=
"add_d.html">BOOST_PP_ADD_D
</a>( \
49 <a href=
"list_size_d.html">BOOST_PP_LIST_SIZE_D
</a>(d, x) \
53 <a href=
"list_fold_left.html">BOOST_PP_LIST_FOLD_LEFT
</a>(OP,
0, LIST) // expands to
7
56 <div style=
"margin-left: 0px;">
57 <i>© Copyright
<a href=
"http://www.housemarque.com" target=
"_top">Housemarque Oy
</a> 2002</i>
58 </br><i>© Copyright Paul Mensonides
2002</i>
60 <div style=
"margin-left: 0px;">
61 <p><small>Distributed under the Boost Software License, Version
1.0. (See
62 accompanying file
<a href=
"../../../../LICENSE_1_0.txt">LICENSE_1_0.txt
</a> or
64 "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt
</a>)
</small></p>