• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3	<title>BOOST_PP_ADD</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_ADD</b> macro expands to the sum of its arguments.
9	</div>
10	<h4>Usage</h4>
11		<div class="code">
12			<b>BOOST_PP_ADD</b>(<i>x</i>, <i>y</i>)
13		</div>
14	<h4>Arguments</h4>
15		<dl>
16			<dt>x</dt>
17			<dd>
18				The first addend of the operation.&nbsp;
19				Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
20			</dd>
21			<dt>y</dt>
22			<dd>
23				The second addend of the operation.&nbsp;
24				Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
25			</dd>
26		</dl>
27	<h4>Remarks</h4>
28		<div>
29			If the sum of <i>x</i> and <i>y</i> is greater than <b>BOOST_PP_LIMIT_MAG</b>, the result is saturated to <b>BOOST_PP_LIMIT_MAG</b>.
30		</div>
31		<div>
32			Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
33			There is no longer any such restriction.&nbsp;
34			It is more efficient, however, to use <b>BOOST_PP_ADD_D</b> in such a situation.
35		</div>
36		<div>
37			This macro is the most efficient when <i>x</i> is greater than or equal to <i>y</i>.&nbsp;
38			However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.&nbsp;
39			In other words, <i>x</i> should be the addend that is <i>most likely</i> to be the largest of the two operands.
40		</div>
41	<h4>See Also</h4>
42		<ul>
43			<li><a href="add_d.html">BOOST_PP_ADD_D</a></li>
44			<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
45		</ul>
46	<h4>Requirements</h4>
47		<div>
48			<b>Header:</b> &nbsp;<a href="../headers/arithmetic/add.html">&lt;boost/preprocessor/arithmetic/add.hpp&gt;</a>
49		</div>
50	<h4>Sample Code</h4>
51<div><pre>
52#include <a href="../headers/arithmetic/add.html">&lt;boost/preprocessor/arithmetic/add.hpp&gt;</a>
53
54<a href="add.html">BOOST_PP_ADD</a>(4, 3) // expands to 7
55</pre></div>
56	<hr size="1">
57	<div style="margin-left: 0px;">
58		<i>� Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
59		</br><i>� Copyright Paul Mensonides 2002</i>
60	</div>
61	<div style="margin-left: 0px;">
62		<p><small>Distributed under the Boost Software License, Version 1.0. (See
63		accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
64		copy at <a href=
65		"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
66	</div>
67</body>
68</html>
69