Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/libs/preprocessor/doc/ref/iif.html @ 12

Last change on this file since 12 was 12, checked in by landauf, 17 years ago

added boost

File size: 1.6 KB
Line 
1<html>
2<head>
3        <title>BOOST_PP_IIF</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_IIF</b> macro chooses between to values based on a bitwise condition.
9        </div>
10        <h4>Usage</h4>
11                <div class="code">
12                        <b>BOOST_PP_IIF</b>(<i>bit</i>, <i>t</i>, <i>f</i>)
13                </div>
14        <h4>Arguments</h4>
15                <dl>
16                        <dt>bit</dt>
17                        <dd>
18                                The condition that determines if the result is <i>expr</i> or nothing.&nbsp;
19                                This value must expand to <i>0</i> or <i>1</i>.
20                        </dd>
21                        <dt>t</dt>
22                        <dd>
23                                The result of the expansion if <i>bit</i> is <i>1</i>.
24                        </dd>
25                        <dt>f</dt>
26                        <dd>
27                                The result of the expansion if <i>bit</i> is <i>0</i>.
28                        </dd>
29                </dl>
30        <h4>Remarks</h4>
31                <div>
32                        This macro <i>does not</i> perform a boolean conversion on its first argument.&nbsp;
33                        If that conversion is necessary, use <b>BOOST_PP_IF</b> instead.
34                </div>
35        <h4>See Also</h4>
36                <ul>
37                        <li><a href="if.html">BOOST_PP_IF</a></li>
38                        <li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
39                </ul>
40        <h4>Requirements</h4>
41                <div>
42                        <b>Header:</b> &nbsp;<a href="../headers/control/iif.html">&lt;boost/preprocessor/control/iif.hpp&gt;</a>
43                </div>
44        <h4>Sample Code</h4>
45<div><pre>
46#include &lt;<a href="../headers/control/iif.html">boost/preprocessor/control/iif.hpp</a>&gt;
47#include &lt;<a href="../headers/logical/or.html">boost/preprocessor/logical/or.hpp</a>
48
49#define OR_IF(p, q, t, f) <a href="iif.html">BOOST_PP_IIF</a>(<a href="or.html">BOOST_PP_OR</a>(p, q), t, f)
50
51OR_IF(1, 0, abc, xyz) // expands to abc
52OR_IF(0, 0, abc, xyz) // expands to xyz
53</pre></div>
54</body>
55</html>
Note: See TracBrowser for help on using the repository browser.