]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/preprocessor/doc/ref/deduce_r.html
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / preprocessor / doc / ref / deduce_r.html
1 <html>
2 <head>
3 <title>BOOST_PP_DEDUCE_R</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_DEDUCE_R</b> macro manually deduces the state of the <b>BOOST_PP_FOR</b> construct.
9 </div>
10 <h4>Usage</h4>
11 <div class="code">
12 <b>BOOST_PP_DEDUCE_R</b>()
13 </div>
14 <h4>Remarks</h4>
15 <div>
16 This macro is intended to avoid the use of <i>automatic-recursion</i> at deep expansion depths.&nbsp;
17 <i>Automatic-recursion</i> at such depths can be inefficient on some preprocessors.&nbsp;
18 It is not intended to be used directly with the invocation of macros with a <b>_R</b> suffix such as:
19 <div>
20 <b>BOOST_PP_LIST_ENUM_R</b>(<b>BOOST_PP_DEDUCE_R</b>(), (a, (b, (c, <b>BOOST_PP_NIL</b>))))
21 </div>
22 If it is used in this context, the <b>_R</b> macro will fail.&nbsp;
23 The <b>_R</b> macros directly concatenate to the <i>r</i> parameter that is passed to them,
24 which would prevent <b>BOOST_PP_DEDUCE_R</b>() from expanding.&nbsp;
25 Furthermore, it is pointless to use this macro in a situation such as this
26 because it would already be too late to gain any efficiency.
27 </div>
28 <h4>See Also</h4>
29 <ul>
30 <li><a href="for.html">BOOST_PP_FOR</a></li>
31 </ul>
32 <h4>Requirements</h4>
33 <div>
34 <b>Header:</b> &nbsp;<a href="../headers/repetition/deduce_r.html">&lt;boost/preprocessor/repetition/deduce_r.hpp&gt;</a>
35 </div>
36 <hr size="1">
37 <div style="margin-left: 0px;">
38 <i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
39 </br><i>© Copyright Paul Mensonides 2002</i>
40 </div>
41 <div style="margin-left: 0px;">
42 <p><small>Distributed under the Boost Software License, Version 1.0. (See
43 accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
44 copy at <a href=
45 "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
46 </div>
47 </body>
48 </html>