mirror of
https://github.com/boostorg/preprocessor.git
synced 2025-07-02 15:30:59 +02:00
PREPROCESSOR -> PP. WHILE documented.
[SVN r12162]
This commit is contained in:
@ -76,7 +76,7 @@ vec<T,n>&
|
|||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<p><strong><a name="UNUSED"></a><a href="tutorial.htm#UNUSED">EXAMPLE</a>:</strong>
|
<p><strong><a name="UNUSED"></a><a href="tutorial.htm#UNUSED">EXAMPLE</a>:</strong>
|
||||||
Use BOOST_PREPROCESSOR_EMPTY() as an unused parameter in Local Macro instantiations</p>
|
Use BOOST_PP_EMPTY() as an unused parameter in Local Macro instantiations</p>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>template<class base>
|
<pre>template<class base>
|
||||||
@ -100,7 +100,7 @@ const typename implement_subscript_using_begin_subscript<base>::value_type
|
|||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<p><b><a name="CAT"></a><a href="tutorial.htm#CAT">EXAMPLE:</a></b> Use BOOST_PREPROCESSOR_CAT instead of ## when necessary</p>
|
<p><b><a name="CAT"></a><a href="tutorial.htm#CAT">EXAMPLE:</a></b> Use BOOST_PP_CAT instead of ## when necessary</p>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>enum
|
<pre>enum
|
||||||
@ -113,7 +113,7 @@ typedef char
|
|||||||
</pre>
|
</pre>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<hr>
|
<hr>
|
||||||
<p><b><a name="STRINGIZE"></a><a href="tutorial.htm#STRINGIZE">EXAMPLE:</a></b> Use BOOST_PREPROCESSOR_STRINGIZE instead of # whenever necessary</p>
|
<p><b><a name="STRINGIZE"></a><a href="tutorial.htm#STRINGIZE">EXAMPLE:</a></b> Use BOOST_PP_STRINGIZE instead of # whenever necessary</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#pragma message("examples.cpp" "(" "20" ") : " "TBD!")</pre>
|
<pre>#pragma message("examples.cpp" "(" "20" ") : " "TBD!")</pre>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
@ -121,12 +121,12 @@ typedef char
|
|||||||
<p><strong><a name="ENUM_PARAMS"></a><a href="tutorial.htm#ENUM_PARAMS">EXAMPLE</a>:</strong>
|
<p><strong><a name="ENUM_PARAMS"></a><a href="tutorial.htm#ENUM_PARAMS">EXAMPLE</a>:</strong>
|
||||||
Use:</p>
|
Use:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li> BOOST_PREPROCESSOR_ENUM_PARAMS,</li>
|
<li> BOOST_PP_ENUM_PARAMS,</li>
|
||||||
<li> BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT,</li>
|
<li> BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT,</li>
|
||||||
<li> BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS,</li>
|
<li> BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS,</li>
|
||||||
<li> BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS, or</li>
|
<li> BOOST_PP_ENUM_SHIFTED_PARAMS, or</li>
|
||||||
<li>BOOST_PREPROCESSOR_REPEAT, and</li>
|
<li>BOOST_PP_REPEAT, and</li>
|
||||||
<li> BOOST_PREPROCESSOR_COMMA_IF</li>
|
<li> BOOST_PP_COMMA_IF</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>to avoid O(N) repetition on lists in general</p>
|
<p>to avoid O(N) repetition on lists in general</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
@ -177,7 +177,7 @@ public:
|
|||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<p><strong><a name="Token Look-Up"></a><a href="tutorial.htm#Token Look-Up">EXAMPLE</a>:</strong>
|
<p><strong><a name="Token Look-Up"></a><a href="tutorial.htm#Token Look-Up">EXAMPLE</a>:</strong>
|
||||||
Use BOOST_PREPROCESSOR_REPEAT and a Token Look-Up Function to eliminate categorical
|
Use BOOST_PP_REPEAT and a Token Look-Up Function to eliminate categorical
|
||||||
repetition</p>
|
repetition</p>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
@ -238,7 +238,7 @@ catch (long double t)
|
|||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<p><strong><a name="2ND_REPEAT"></a><a href="tutorial.htm#2ND_REPEAT">EXAMPLE</a>:</strong>
|
<p><strong><a name="2ND_REPEAT"></a><a href="tutorial.htm#2ND_REPEAT">EXAMPLE</a>:</strong>
|
||||||
Use BOOST_PREPROCESSOR_REPEAT_2ND to avoid O(N*N) repetition</p>
|
Use BOOST_PP_REPEAT_2ND to avoid O(N*N) repetition</p>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>vec()
|
<pre>vec()
|
||||||
@ -302,7 +302,7 @@ vec(T a0, T a1, T a2, T a3, T a4, T a5, T a6, T a7)
|
|||||||
<p>
|
<p>
|
||||||
<hr>
|
<hr>
|
||||||
<p><a name="IF"></a><a href="tutorial.htm#IF"><b>EXAMPLE:</b></a>
|
<p><a name="IF"></a><a href="tutorial.htm#IF"><b>EXAMPLE:</b></a>
|
||||||
Use BOOST_PREPROCESSOR_IF to implement special case for the first element</p>
|
Use BOOST_PP_IF to implement special case for the first element</p>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>false == false;
|
<pre>false == false;
|
||||||
|
@ -1,40 +1,41 @@
|
|||||||
BOOST_PREPROCESSOR_ADD
|
BOOST_PP_ADD
|
||||||
BOOST_PREPROCESSOR_AND
|
BOOST_PP_AND
|
||||||
BOOST_PREPROCESSOR_ASSERT_MSG
|
BOOST_PP_ASSERT_MSG
|
||||||
BOOST_PREPROCESSOR_BOOL
|
BOOST_PP_BOOL
|
||||||
BOOST_PREPROCESSOR_CAT
|
BOOST_PP_CAT
|
||||||
BOOST_PREPROCESSOR_COMMA
|
BOOST_PP_COMMA
|
||||||
BOOST_PREPROCESSOR_COMMA_IF
|
BOOST_PP_COMMA_IF
|
||||||
BOOST_PREPROCESSOR_DEC
|
BOOST_PP_DEC
|
||||||
BOOST_PREPROCESSOR_DIV
|
BOOST_PP_DIV
|
||||||
BOOST_PREPROCESSOR_EMPTY
|
BOOST_PP_EMPTY
|
||||||
BOOST_PREPROCESSOR_ENUM_PARAMS
|
BOOST_PP_ENUM_PARAMS
|
||||||
BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT
|
BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT
|
||||||
BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS
|
BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS
|
||||||
BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS
|
BOOST_PP_ENUM_SHIFTED_PARAMS
|
||||||
BOOST_PREPROCESSOR_EQUAL
|
BOOST_PP_EQUAL
|
||||||
BOOST_PREPROCESSOR_GREATER
|
BOOST_PP_GREATER
|
||||||
BOOST_PREPROCESSOR_GREATER_EQUAL
|
BOOST_PP_GREATER_EQUAL
|
||||||
BOOST_PREPROCESSOR_IDENTITY
|
BOOST_PP_IDENTITY
|
||||||
BOOST_PREPROCESSOR_IF
|
BOOST_PP_IF
|
||||||
BOOST_PREPROCESSOR_INC
|
BOOST_PP_INC
|
||||||
BOOST_PREPROCESSOR_LESS
|
BOOST_PP_LESS
|
||||||
BOOST_PREPROCESSOR_LESS_EQUAL
|
BOOST_PP_LESS_EQUAL
|
||||||
BOOST_PREPROCESSOR_LIMIT_DIM
|
BOOST_PP_LIMIT_DIM
|
||||||
BOOST_PREPROCESSOR_LIMIT_MAG
|
BOOST_PP_LIMIT_MAG
|
||||||
BOOST_PREPROCESSOR_LIMIT_TUPLE
|
BOOST_PP_LIMIT_TUPLE
|
||||||
BOOST_PREPROCESSOR_MAX
|
BOOST_PP_MAX
|
||||||
BOOST_PREPROCESSOR_MIN
|
BOOST_PP_MIN
|
||||||
BOOST_PREPROCESSOR_MOD
|
BOOST_PP_MOD
|
||||||
BOOST_PREPROCESSOR_MUL
|
BOOST_PP_MUL
|
||||||
BOOST_PREPROCESSOR_NOR
|
BOOST_PP_NOR
|
||||||
BOOST_PREPROCESSOR_NOT
|
BOOST_PP_NOT
|
||||||
BOOST_PREPROCESSOR_NOT_EQUAL
|
BOOST_PP_NOT_EQUAL
|
||||||
BOOST_PREPROCESSOR_OR
|
BOOST_PP_OR
|
||||||
BOOST_PREPROCESSOR_REPEAT
|
BOOST_PP_REPEAT
|
||||||
BOOST_PREPROCESSOR_REPEAT_2ND
|
BOOST_PP_REPEAT_2ND
|
||||||
BOOST_PREPROCESSOR_REPEAT_3RD
|
BOOST_PP_REPEAT_3RD
|
||||||
BOOST_PREPROCESSOR_STRINGIZE
|
BOOST_PP_STRINGIZE
|
||||||
BOOST_PREPROCESSOR_SUB
|
BOOST_PP_SUB
|
||||||
BOOST_PREPROCESSOR_TUPLE_ELEM
|
BOOST_PP_TUPLE_ELEM
|
||||||
BOOST_PREPROCESSOR_XOR
|
BOOST_PP_WHILE
|
||||||
|
BOOST_PP_XOR
|
||||||
|
20
doc/plan.txt
20
doc/plan.txt
@ -2,20 +2,6 @@ If you have suggestions for additions or improvements to this library,
|
|||||||
please e-mail such suggestions to boost@yahoogroups.com, but also cc
|
please e-mail such suggestions to boost@yahoogroups.com, but also cc
|
||||||
them to vesa.karvonen@housemarque.fi.
|
them to vesa.karvonen@housemarque.fi.
|
||||||
|
|
||||||
Issues:
|
Current R&D:
|
||||||
- case studies
|
- Faster arithmetic
|
||||||
- more isolated examples & less complex examples in tutorial
|
- Data structures (cons list)
|
||||||
-> Please e-mail suggestions to vesa.karvonen@housemarque.fi
|
|
||||||
|
|
||||||
Resolved for now:
|
|
||||||
- explanations of tricky issues with macro replacement
|
|
||||||
- how macros are expanded, step-by-step examples
|
|
||||||
- delay of # and ##
|
|
||||||
- recursion prohibition
|
|
||||||
-> Just refer to the standard. It is not the purpose of the documentation to teach C++.
|
|
||||||
|
|
||||||
- arithmetic
|
|
||||||
- The preprocessor limitations seem to make it impossible to achieve both:
|
|
||||||
- O(1) _size_ implementation of ADD, SUB, MUL, DIV, ...
|
|
||||||
- ease of use
|
|
||||||
-> I have choosen ease of use and used O(N) size implementations
|
|
||||||
|
@ -46,8 +46,8 @@ int c IDENTITY_MACRO(IDENTITY_MACRO(COMMA_TOKEN))() d; // this doesn't
|
|||||||
macro that does work on MWCW:</p>
|
macro that does work on MWCW:</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define NUMBERED_EXPRESSION(n, x) \
|
<pre>#define NUMBERED_EXPRESSION(n, x) \
|
||||||
BOOST_PREPROCESSOR_CAT(BOOST_, \
|
BOOST_PP_CAT(BOOST_, \
|
||||||
BOOST_PREPROCESSOR_IF( \
|
BOOST_PP_IF( \
|
||||||
n \
|
n \
|
||||||
, PREPROCESSOR_IDENTITY(x##n) \
|
, PREPROCESSOR_IDENTITY(x##n) \
|
||||||
, PREPROCESSOR_EMPTY \
|
, PREPROCESSOR_EMPTY \
|
||||||
@ -74,11 +74,11 @@ typedef char yes_type;
|
|||||||
|
|
||||||
#define IS_FUNCTION_HELPER(I,A)\
|
#define IS_FUNCTION_HELPER(I,A)\
|
||||||
template\
|
template\
|
||||||
<BOOST_PREPROCESSOR_ENUM_PARAMS(BOOST_PREPROCESSOR_INC(I),class P)>\
|
<BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(I),class P)>\
|
||||||
yes_type is_function_helper(\
|
yes_type is_function_helper(\
|
||||||
P0 (*)(BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS(BOOST_PREPROCESSOR_INC(I),P)));
|
P0 (*)(BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_INC(I),P)));
|
||||||
|
|
||||||
BOOST_PREPROCESSOR_REPEAT_2ND(BOOST_PREPROCESSOR_INC(IS_FUNCTION_HELPER_TEST_MAX),IS_FUNCTION_HELPER,A)
|
BOOST_PP_REPEAT_2ND(BOOST_PP_INC(IS_FUNCTION_HELPER_TEST_MAX),IS_FUNCTION_HELPER,A)
|
||||||
|
|
||||||
#undef IS_FUNCTION_HELPER
|
#undef IS_FUNCTION_HELPER
|
||||||
</pre></blockquote>
|
</pre></blockquote>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>add.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>add.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="add_8hpp.html#a0">BOOST_PREPROCESSOR_ADD</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="add_8hpp.html#a0">BOOST_PP_ADD</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the sum of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the sum of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="add_8hpp.html#a1">BOOST_PREPROCESSOR_ADD</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="add_8hpp.html#a0">BOOST_PP_ADD</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/arithmetic/add.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic/add.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="add.hpp::BOOST_PREPROCESSOR_ADD"></a><p>
|
<a name="a0" doxytag="add.hpp::BOOST_PP_ADD"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_ADD</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the sum of X and Y.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="add_8hpp.html#a0">BOOST_PP_ADD</a>(4,3) expands to 7 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="add.hpp::BOOST_PREPROCESSOR_ADD"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the sum of X and Y.
|
Obsolete. Use <a class="el" href="add_8hpp.html#a0">BOOST_PP_ADD</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>and.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>and.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="and_8hpp.html#a0">BOOST_PREPROCESSOR_AND</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="and_8hpp.html#a0">BOOST_PP_AND</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the logical AND of the operands.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the logical AND of the operands.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="and_8hpp.html#a1">BOOST_PREPROCESSOR_AND</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="and_8hpp.html#a0">BOOST_PP_AND</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/logical/and.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/and.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="and.hpp::BOOST_PREPROCESSOR_AND"></a><p>
|
<a name="a0" doxytag="and.hpp::BOOST_PP_AND"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_AND</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the logical AND of the operands.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="and_8hpp.html#a0">BOOST_PP_AND</a>(0,5) expands to 0 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="and.hpp::BOOST_PREPROCESSOR_AND"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the logical AND of the operands.
|
Obsolete. Use <a class="el" href="and_8hpp.html#a0">BOOST_PP_AND</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -11,6 +11,8 @@
|
|||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/arithmetic.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
|
Includes all arithmetic headers.
|
||||||
|
<p>
|
||||||
<hr>
|
<hr>
|
||||||
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
||||||
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>assert_msg.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>assert_msg.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="assert__msg_8hpp.html#a0">BOOST_PREPROCESSOR_ASSERT_MSG</a>(C, MSG)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="assert__msg_8hpp.html#a0">BOOST_PP_ASSERT_MSG</a>(C, MSG)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to nothing if C != 0 and to MSG if C == 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to nothing if C != 0 and to MSG if C == 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="assert__msg_8hpp.html#a1">BOOST_PREPROCESSOR_ASSERT_MSG</a>(C, MSG)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="assert__msg_8hpp.html#a0">BOOST_PP_ASSERT_MSG</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/assert_msg.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/assert_msg.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="assert_msg.hpp::BOOST_PREPROCESSOR_ASSERT_MSG"></a><p>
|
<a name="a0" doxytag="assert_msg.hpp::BOOST_PP_ASSERT_MSG"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_ASSERT_MSG</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">C, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>MSG </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to nothing if C != 0 and to MSG if C == 0.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="assert_msg.hpp::BOOST_PREPROCESSOR_ASSERT_MSG"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to nothing if C != 0 and to MSG if C == 0.
|
Obsolete. Use <a class="el" href="assert__msg_8hpp.html#a0">BOOST_PP_ASSERT_MSG</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,45 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>bool.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>bool.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="bool_8hpp.html#a0">BOOST_PREPROCESSOR_BOOL</a>(X)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="bool_8hpp.html#a0">BOOST_PP_BOOL</a>(X)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to 0 if X == 0 and 1 if X != 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to 0 if X == 0 and 1 if X != 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="bool_8hpp.html#a1">BOOST_PREPROCESSOR_BOOL</a>(X)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="bool_8hpp.html#a0">BOOST_PP_BOOL</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/logical/bool.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/bool.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="bool.hpp::BOOST_PREPROCESSOR_BOOL"></a><p>
|
<a name="a0" doxytag="bool.hpp::BOOST_PP_BOOL"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_BOOL</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to 0 if X == 0 and 1 if X != 0.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="bool.hpp::BOOST_PREPROCESSOR_BOOL"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -39,7 +70,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to 0 if X == 0 and 1 if X != 0.
|
Obsolete. Use <a class="el" href="bool_8hpp.html#a0">BOOST_PP_BOOL</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,20 +8,22 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>cat.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>cat.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="cat_8hpp.html#a0">BOOST_PREPROCESSOR_CAT</a>(L, R)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="cat_8hpp.html#a0">BOOST_PP_CAT</a>(L, R)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Delays the catenation of L and R.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Delays the catenation of L and R.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="cat_8hpp.html#a1">BOOST_PREPROCESSOR_CAT</a>(L, R)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="cat_8hpp.html#a0">BOOST_PP_CAT</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/cat.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/cat.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="cat.hpp::BOOST_PREPROCESSOR_CAT"></a><p>
|
<a name="a0" doxytag="cat.hpp::BOOST_PP_CAT"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
<table cellpadding="0" cellspacing="0" border="0">
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_CAT</td>
|
<td class="md" nowrap valign="top"> #define BOOST_PP_CAT</td>
|
||||||
<td class="md" valign="top">( </td>
|
<td class="md" valign="top">( </td>
|
||||||
<td class="md" nowrap valign="top">L, <tr>
|
<td class="md" nowrap valign="top">L, <tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
@ -49,11 +51,11 @@ Example:
|
|||||||
<pre><div class="fragment"><pre>
|
<pre><div class="fragment"><pre>
|
||||||
#define STATIC_ASSERT(EXPR)\
|
#define STATIC_ASSERT(EXPR)\
|
||||||
enum\
|
enum\
|
||||||
{ BOOST_PREPROCESSOR_CAT(static_check_,__LINE__) = (EXPR) ? 1 : -1\
|
{ BOOST_PP_CAT(static_check_,__LINE__) = (EXPR) ? 1 : -1\
|
||||||
};\
|
};\
|
||||||
typedef char\
|
typedef char\
|
||||||
BOOST_PREPROCESSOR_CAT(static_assert_,__LINE__)\
|
BOOST_PP_CAT(static_assert_,__LINE__)\
|
||||||
[ BOOST_PREPROCESSOR_CAT(static_check_,__LINE__)\
|
[ BOOST_PP_CAT(static_check_,__LINE__)\
|
||||||
]
|
]
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
@ -73,7 +75,7 @@ The above expands to:
|
|||||||
];
|
];
|
||||||
</pre></div></pre>
|
</pre></div></pre>
|
||||||
<p>
|
<p>
|
||||||
Using <a class="el" href="cat_8hpp.html#a0">BOOST_PREPROCESSOR_CAT</a>() above lets the preprocessor expand the __LINE__. If the above code would use the ## operator directly then __LINE__ would not be expanded and the above would expand to:
|
Using <a class="el" href="cat_8hpp.html#a0">BOOST_PP_CAT</a>() above lets the PP expand the __LINE__. If the above code would use the ## operator directly then __LINE__ would not be expanded and the above would expand to:
|
||||||
<p>
|
<p>
|
||||||
<pre><div class="fragment"><pre>
|
<pre><div class="fragment"><pre>
|
||||||
enum
|
enum
|
||||||
@ -86,6 +88,38 @@ Using <a class="el" href="cat_8hpp.html#a0">BOOST_PREPROCESSOR_CAT</a>() above l
|
|||||||
</pre></div></pre> </td>
|
</pre></div></pre> </td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
<a name="a1" doxytag="cat.hpp::BOOST_PREPROCESSOR_CAT"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_CAT</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">L, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>R </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Obsolete. Use <a class="el" href="cat_8hpp.html#a0">BOOST_PP_CAT</a>().
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
||||||
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
||||||
|
@ -8,14 +8,45 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>comma.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>comma.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="comma_8hpp.html#a0">BOOST_PREPROCESSOR_COMMA</a>()</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="comma_8hpp.html#a0">BOOST_PP_COMMA</a>()</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to a comma. Can be used with <a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>().</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to a comma. Can be used with <a class="el" href="if_8hpp.html#a0">BOOST_PP_IF</a>().</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="comma_8hpp.html#a1">BOOST_PREPROCESSOR_COMMA</a>()</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="comma_8hpp.html#a0">BOOST_PP_COMMA</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/comma.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comma.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="comma.hpp::BOOST_PREPROCESSOR_COMMA"></a><p>
|
<a name="a0" doxytag="comma.hpp::BOOST_PP_COMMA"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_COMMA</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
</td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to a comma. Can be used with <a class="el" href="if_8hpp.html#a0">BOOST_PP_IF</a>().
|
||||||
|
<p>
|
||||||
|
See <a class="el" href="comma__if_8hpp.html#a0">BOOST_PP_COMMA_IF</a>(). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="comma.hpp::BOOST_PREPROCESSOR_COMMA"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -39,9 +70,9 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to a comma. Can be used with <a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>().
|
Obsolete. Use <a class="el" href="comma_8hpp.html#a0">BOOST_PP_COMMA</a>().
|
||||||
<p>
|
<p>
|
||||||
See <a class="el" href="comma__if_8hpp.html#a0">BOOST_PREPROCESSOR_COMMA_IF</a>(). </td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -8,14 +8,45 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>comma_if.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>comma_if.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="comma__if_8hpp.html#a0">BOOST_PREPROCESSOR_COMMA_IF</a>(C)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="comma__if_8hpp.html#a0">BOOST_PP_COMMA_IF</a>(C)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to a comma if C != 0 and nothing if C == 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to a comma if C != 0 and nothing if C == 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="comma__if_8hpp.html#a1">BOOST_PREPROCESSOR_COMMA_IF</a>(C)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="comma__if_8hpp.html#a0">BOOST_PP_COMMA_IF</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/comma_if.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comma_if.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="comma_if.hpp::BOOST_PREPROCESSOR_COMMA_IF"></a><p>
|
<a name="a0" doxytag="comma_if.hpp::BOOST_PP_COMMA_IF"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_COMMA_IF</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">C </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to a comma if C != 0 and nothing if C == 0.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="comma_if.hpp::BOOST_PREPROCESSOR_COMMA_IF"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -39,7 +70,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to a comma if C != 0 and nothing if C == 0.
|
Obsolete. Use <a class="el" href="comma__if_8hpp.html#a0">BOOST_PP_COMMA_IF</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -11,6 +11,8 @@
|
|||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/comparison.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
|
Includes all comparison headers.
|
||||||
|
<p>
|
||||||
<hr>
|
<hr>
|
||||||
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
||||||
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
||||||
|
@ -8,14 +8,49 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>dec.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>dec.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="dec_8hpp.html#a0">BOOST_PREPROCESSOR_DEC</a>(X)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="dec_8hpp.html#a0">BOOST_PP_DEC</a>(X)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Decrements X expanding to a single token.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Decrements X expanding to a single token.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="dec_8hpp.html#a1">BOOST_PREPROCESSOR_DEC</a>(X)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="dec_8hpp.html#a0">BOOST_PP_DEC</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/dec.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/dec.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="dec.hpp::BOOST_PREPROCESSOR_DEC"></a><p>
|
<a name="a0" doxytag="dec.hpp::BOOST_PP_DEC"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_DEC</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Decrements X expanding to a single token.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="dec_8hpp.html#a0">BOOST_PP_DEC</a>(3) expands to 2 (a single token).
|
||||||
|
<p>
|
||||||
|
<a class="el" href="dec_8hpp.html#a0">BOOST_PP_DEC</a>() uses saturation arithmetic. Decrementing 0 yeilds a 0.
|
||||||
|
<p>
|
||||||
|
Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are supported. </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="dec.hpp::BOOST_PREPROCESSOR_DEC"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -39,11 +74,9 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Decrements X expanding to a single token.
|
Obsolete. Use <a class="el" href="dec_8hpp.html#a0">BOOST_PP_DEC</a>().
|
||||||
<p>
|
<p>
|
||||||
<a class="el" href="dec_8hpp.html#a0">BOOST_PREPROCESSOR_DEC</a>() uses saturation arithmetic. Decrementing 0 yeilds a 0.
|
</td>
|
||||||
<p>
|
|
||||||
Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG] are supported. </td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>div.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>div.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="div_8hpp.html#a0">BOOST_PREPROCESSOR_DIV</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="div_8hpp.html#a0">BOOST_PP_DIV</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the quotient of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the quotient of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="div_8hpp.html#a1">BOOST_PREPROCESSOR_DIV</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="div_8hpp.html#a0">BOOST_PP_DIV</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/arithmetic/div.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic/div.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="div.hpp::BOOST_PREPROCESSOR_DIV"></a><p>
|
<a name="a0" doxytag="div.hpp::BOOST_PP_DIV"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_DIV</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the quotient of X and Y.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="div_8hpp.html#a0">BOOST_PP_DIV</a>(4,3) expands to 1 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="div.hpp::BOOST_PREPROCESSOR_DIV"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the quotient of X and Y.
|
Obsolete. Use <a class="el" href="div_8hpp.html#a0">BOOST_PP_DIV</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,20 +8,22 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>empty.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>empty.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="empty_8hpp.html#a0">BOOST_PREPROCESSOR_EMPTY</a>()</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="empty_8hpp.html#a0">BOOST_PP_EMPTY</a>()</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to nothing. Used with <a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>() and as an unused parameter.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to nothing. Used with <a class="el" href="if_8hpp.html#a0">BOOST_PP_IF</a>() and as an unused parameter.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="empty_8hpp.html#a1">BOOST_PREPROCESSOR_EMPTY</a>()</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="empty_8hpp.html#a0">BOOST_PP_EMPTY</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/empty.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/empty.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="empty.hpp::BOOST_PREPROCESSOR_EMPTY"></a><p>
|
<a name="a0" doxytag="empty.hpp::BOOST_PP_EMPTY"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
<table cellpadding="0" cellspacing="0" border="0">
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_EMPTY</td>
|
<td class="md" nowrap valign="top"> #define BOOST_PP_EMPTY</td>
|
||||||
<td class="md" valign="top">( </td>
|
<td class="md" valign="top">( </td>
|
||||||
</td>
|
</td>
|
||||||
<td class="mdname1" valign="top" nowrap> </td>
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
@ -39,19 +41,19 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to nothing. Used with <a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>() and as an unused parameter.
|
Expands to nothing. Used with <a class="el" href="if_8hpp.html#a0">BOOST_PP_IF</a>() and as an unused parameter.
|
||||||
<p>
|
<p>
|
||||||
Example usage as the implementation of <a class="el" href="comma__if_8hpp.html#a0">BOOST_PREPROCESSOR_COMMA_IF</a>(C):
|
Example usage as the implementation of <a class="el" href="comma__if_8hpp.html#a0">BOOST_PP_COMMA_IF</a>(C):
|
||||||
<p>
|
<p>
|
||||||
<pre><div class="fragment"><pre>
|
<pre><div class="fragment"><pre>
|
||||||
#define BOOST_PREPROCESSOR_COMMA_IF(C)\
|
#define BOOST_PP_COMMA_IF(C)\
|
||||||
BOOST_PREPROCESSOR_IF(C,BOOST_PREPROCESSOR_COMMA,BOOST_PREPROCESSOR_EMPTY)()
|
BOOST_PP_IF(C,BOOST_PP_COMMA,BOOST_PP_EMPTY)()
|
||||||
</pre></div></pre>
|
</pre></div></pre>
|
||||||
<p>
|
<p>
|
||||||
Example usage as an unused macro parameter:
|
Example usage as an unused macro parameter:
|
||||||
<p>
|
<p>
|
||||||
<pre><div class="fragment"><pre>
|
<pre><div class="fragment"><pre>
|
||||||
#define BOOST_PREPROCESSOR_DEF(CV)\
|
#define BOOST_PP_DEF(CV)\
|
||||||
template<class base> \
|
template<class base> \
|
||||||
CV typename implement_subscript_using_begin_subscript<base>::value_type&\
|
CV typename implement_subscript_using_begin_subscript<base>::value_type&\
|
||||||
implement_subscript_using_begin_subscript<base>::operator[]\
|
implement_subscript_using_begin_subscript<base>::operator[]\
|
||||||
@ -61,9 +63,9 @@ Example usage as an unused macro parameter:
|
|||||||
{ return base::begin()[i]; \
|
{ return base::begin()[i]; \
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_PREPROCESSOR_DEF(BOOST_PREPROCESSOR_EMPTY())
|
BOOST_PP_DEF(BOOST_PP_EMPTY())
|
||||||
BOOST_PREPROCESSOR_DEF(const)
|
BOOST_PP_DEF(const)
|
||||||
#undef BOOST_PREPROCESSOR_DEF
|
#undef BOOST_PP_DEF
|
||||||
</pre></div></pre>
|
</pre></div></pre>
|
||||||
<p>
|
<p>
|
||||||
The above expands to:
|
The above expands to:
|
||||||
@ -91,6 +93,35 @@ The above expands to:
|
|||||||
In case you wonder, the above code is part of a generalized layer for implementing the subscripting operators of a random access container. </td>
|
In case you wonder, the above code is part of a generalized layer for implementing the subscripting operators of a random access container. </td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
<a name="a1" doxytag="empty.hpp::BOOST_PREPROCESSOR_EMPTY"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_EMPTY</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
</td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Obsolete. Use <a class="el" href="empty_8hpp.html#a0">BOOST_PP_EMPTY</a>().
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
||||||
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
||||||
|
@ -8,20 +8,22 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>enum_params.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>enum_params.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum__params_8hpp.html#a0">BOOST_PREPROCESSOR_ENUM_PARAMS</a>(N, P)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum__params_8hpp.html#a0">BOOST_PP_ENUM_PARAMS</a>(N, P)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Generates a comma separated list of parameters.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Generates a comma separated list of parameters.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum__params_8hpp.html#a1">BOOST_PREPROCESSOR_ENUM_PARAMS</a>(N, P)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="enum__params_8hpp.html#a0">BOOST_PP_ENUM_PARAMS</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/enum_params.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/enum_params.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="enum_params.hpp::BOOST_PREPROCESSOR_ENUM_PARAMS"></a><p>
|
<a name="a0" doxytag="enum_params.hpp::BOOST_PP_ENUM_PARAMS"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
<table cellpadding="0" cellspacing="0" border="0">
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_PARAMS</td>
|
<td class="md" nowrap valign="top"> #define BOOST_PP_ENUM_PARAMS</td>
|
||||||
<td class="md" valign="top">( </td>
|
<td class="md" valign="top">( </td>
|
||||||
<td class="md" nowrap valign="top">N, <tr>
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
@ -50,7 +52,39 @@ In other words, expands to the sequence:
|
|||||||
P##0, P##1, ..., P##N-1
|
P##0, P##1, ..., P##N-1
|
||||||
</pre></div></pre>
|
</pre></div></pre>
|
||||||
<p>
|
<p>
|
||||||
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(). </td>
|
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>(). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="enum_params.hpp::BOOST_PREPROCESSOR_ENUM_PARAMS"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_PARAMS</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>P </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Obsolete. Use <a class="el" href="enum__params_8hpp.html#a0">BOOST_PP_ENUM_PARAMS</a>().
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -8,20 +8,22 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>enum_shifted_params.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>enum_shifted_params.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum__shifted__params_8hpp.html#a0">BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS</a>(N, P)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum__shifted__params_8hpp.html#a0">BOOST_PP_ENUM_SHIFTED_PARAMS</a>(N, P)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Generates a comma separated list of shifted actual parameters.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Generates a comma separated list of shifted actual parameters.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum__shifted__params_8hpp.html#a1">BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS</a>(N, P)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="enum__shifted__params_8hpp.html#a0">BOOST_PP_ENUM_SHIFTED_PARAMS</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/enum_shifted_params.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/enum_shifted_params.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="enum_shifted_params.hpp::BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS"></a><p>
|
<a name="a0" doxytag="enum_shifted_params.hpp::BOOST_PP_ENUM_SHIFTED_PARAMS"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
<table cellpadding="0" cellspacing="0" border="0">
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS</td>
|
<td class="md" nowrap valign="top"> #define BOOST_PP_ENUM_SHIFTED_PARAMS</td>
|
||||||
<td class="md" valign="top">( </td>
|
<td class="md" valign="top">( </td>
|
||||||
<td class="md" nowrap valign="top">N, <tr>
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
@ -50,13 +52,45 @@ In other words, expands to the sequence:
|
|||||||
P##1, P##2, ..., P##N-1
|
P##1, P##2, ..., P##N-1
|
||||||
</pre></div></pre>
|
</pre></div></pre>
|
||||||
<p>
|
<p>
|
||||||
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>().
|
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>().
|
||||||
<p>
|
<p>
|
||||||
RATIONALE:<ul>
|
RATIONALE:<ul>
|
||||||
<li>This macro facilitates a typical usage of the library. Shifted parameter lists are common in template metaprograms. </ul>
|
<li>This macro facilitates a typical usage of the library. Shifted parameter lists are common in template metaprograms. </ul>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
<a name="a1" doxytag="enum_shifted_params.hpp::BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>P </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Obsolete. Use <a class="el" href="enum__shifted__params_8hpp.html#a0">BOOST_PP_ENUM_SHIFTED_PARAMS</a>().
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
||||||
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
||||||
|
@ -8,20 +8,22 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>enum_params_with_a_default.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>enum_params_with_a_default.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum_params_with_a_default.htm#a0">BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT</a>(N, P, D)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum_params_with_a_default.htm#a0">BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</a>(N, P, D)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Generates a comma separated list of parameters with a default.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Generates a comma separated list of parameters with a default.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum_params_with_a_default.htm#a1">BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT</a>(N, P, D)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="enum_params_with_a_default.htm#a0">BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/enum_params_with_a_default.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/enum_params_with_a_default.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="enum_params_with_a_default.hpp::BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT"></a><p>
|
<a name="a0" doxytag="enum_params_with_a_default.hpp::BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
<table cellpadding="0" cellspacing="0" border="0">
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT</td>
|
<td class="md" nowrap valign="top"> #define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</td>
|
||||||
<td class="md" valign="top">( </td>
|
<td class="md" valign="top">( </td>
|
||||||
<td class="md" nowrap valign="top">N, <tr>
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
@ -53,7 +55,42 @@ In other words, expands to the sequence:
|
|||||||
P##0 = D, P##1 = D, ..., P##N-1 = D
|
P##0 = D, P##1 = D, ..., P##N-1 = D
|
||||||
</pre></div></pre>
|
</pre></div></pre>
|
||||||
<p>
|
<p>
|
||||||
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(). </td>
|
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>(). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="enum_params_with_a_default.hpp::BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>P, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>D </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Obsolete. Use <a class="el" href="enum_params_with_a_default.htm#a0">BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</a>().
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -8,20 +8,22 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>enum_params_with_defaults.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>enum_params_with_defaults.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum_params_with_defaults.htm#a0">BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS</a>(N, P, D)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum_params_with_defaults.htm#a0">BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</a>(N, P, D)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Generates a comma separated list of parameters with defaults.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Generates a comma separated list of parameters with defaults.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="enum_params_with_defaults.htm#a1">BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS</a>(N, P, D)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="enum_params_with_defaults.htm#a0">BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/enum_params_with_defaults.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/enum_params_with_defaults.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="enum_params_with_defaults.hpp::BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS"></a><p>
|
<a name="a0" doxytag="enum_params_with_defaults.hpp::BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
<table cellpadding="0" cellspacing="0" border="0">
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS</td>
|
<td class="md" nowrap valign="top"> #define BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</td>
|
||||||
<td class="md" valign="top">( </td>
|
<td class="md" valign="top">( </td>
|
||||||
<td class="md" nowrap valign="top">N, <tr>
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
@ -53,7 +55,42 @@ In other words, expands to the sequence:
|
|||||||
P##0 = D##0, P##1 = D##1, ..., P##N-1 = D##N-1
|
P##0 = D##0, P##1 = D##1, ..., P##N-1 = D##N-1
|
||||||
</pre></div></pre>
|
</pre></div></pre>
|
||||||
<p>
|
<p>
|
||||||
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(). </td>
|
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>(). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="enum_params_with_defaults.hpp::BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>P, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>D </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Obsolete. Use <a class="el" href="enum_params_with_defaults.htm#a0">BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</a>().
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>equal.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>equal.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="equal_8hpp.html#a0">BOOST_PREPROCESSOR_EQUAL</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="equal_8hpp.html#a0">BOOST_PP_EQUAL</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to 1 if X==Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to 1 if X==Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="equal_8hpp.html#a1">BOOST_PREPROCESSOR_EQUAL</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="equal_8hpp.html#a0">BOOST_PP_EQUAL</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/comparison/equal.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/equal.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="equal.hpp::BOOST_PREPROCESSOR_EQUAL"></a><p>
|
<a name="a0" doxytag="equal.hpp::BOOST_PP_EQUAL"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_EQUAL</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to 1 if X==Y and 0 otherwise.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="equal.hpp::BOOST_PREPROCESSOR_EQUAL"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to 1 if X==Y and 0 otherwise.
|
Obsolete. Use <a class="el" href="equal_8hpp.html#a0">BOOST_PP_EQUAL</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -7,48 +7,88 @@
|
|||||||
<center>
|
<center>
|
||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>Boost PREPROCESSOR library: Reference File Members</h1>Here is a list of all file members with links to the files they belong to:<ul>
|
<hr><h1>Boost PREPROCESSOR library: Reference File Members</h1>Here is a list of all file members with links to the files they belong to:<ul>
|
||||||
<li>BOOST_PREPROCESSOR_ADD
|
<li>BOOST_PP_ADD
|
||||||
: <a class="el" href="add_8hpp.html#a0">add.hpp</a><li>BOOST_PREPROCESSOR_AND
|
: <a class="el" href="add_8hpp.html#a0">add.hpp</a><li>BOOST_PP_AND
|
||||||
: <a class="el" href="and_8hpp.html#a0">and.hpp</a><li>BOOST_PREPROCESSOR_ASSERT_MSG
|
: <a class="el" href="and_8hpp.html#a0">and.hpp</a><li>BOOST_PP_ASSERT_MSG
|
||||||
: <a class="el" href="assert__msg_8hpp.html#a0">assert_msg.hpp</a><li>BOOST_PREPROCESSOR_BOOL
|
: <a class="el" href="assert__msg_8hpp.html#a0">assert_msg.hpp</a><li>BOOST_PP_BOOL
|
||||||
: <a class="el" href="bool_8hpp.html#a0">bool.hpp</a><li>BOOST_PREPROCESSOR_CAT
|
: <a class="el" href="bool_8hpp.html#a0">bool.hpp</a><li>BOOST_PP_CAT
|
||||||
: <a class="el" href="cat_8hpp.html#a0">cat.hpp</a><li>BOOST_PREPROCESSOR_COMMA
|
: <a class="el" href="cat_8hpp.html#a0">cat.hpp</a><li>BOOST_PP_COMMA
|
||||||
: <a class="el" href="comma_8hpp.html#a0">comma.hpp</a><li>BOOST_PREPROCESSOR_COMMA_IF
|
: <a class="el" href="comma_8hpp.html#a0">comma.hpp</a><li>BOOST_PP_COMMA_IF
|
||||||
: <a class="el" href="comma__if_8hpp.html#a0">comma_if.hpp</a><li>BOOST_PREPROCESSOR_DEC
|
: <a class="el" href="comma__if_8hpp.html#a0">comma_if.hpp</a><li>BOOST_PP_DEC
|
||||||
: <a class="el" href="dec_8hpp.html#a0">dec.hpp</a><li>BOOST_PREPROCESSOR_DIV
|
: <a class="el" href="dec_8hpp.html#a0">dec.hpp</a><li>BOOST_PP_DIV
|
||||||
: <a class="el" href="div_8hpp.html#a0">div.hpp</a><li>BOOST_PREPROCESSOR_EMPTY
|
: <a class="el" href="div_8hpp.html#a0">div.hpp</a><li>BOOST_PP_EMPTY
|
||||||
: <a class="el" href="empty_8hpp.html#a0">empty.hpp</a><li>BOOST_PREPROCESSOR_ENUM_PARAMS
|
: <a class="el" href="empty_8hpp.html#a0">empty.hpp</a><li>BOOST_PP_ENUM_PARAMS
|
||||||
: <a class="el" href="enum__params_8hpp.html#a0">enum_params.hpp</a><li>BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT
|
: <a class="el" href="enum__params_8hpp.html#a0">enum_params.hpp</a><li>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT
|
||||||
: <a class="el" href="enum_params_with_a_default.htm#a0">enum_params_with_a_default.hpp</a><li>BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS
|
: <a class="el" href="enum_params_with_a_default.htm#a0">enum_params_with_a_default.hpp</a><li>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS
|
||||||
: <a class="el" href="enum_params_with_defaults.htm#a0">enum_params_with_defaults.hpp</a><li>BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS
|
: <a class="el" href="enum_params_with_defaults.htm#a0">enum_params_with_defaults.hpp</a><li>BOOST_PP_ENUM_SHIFTED_PARAMS
|
||||||
: <a class="el" href="enum__shifted__params_8hpp.html#a0">enum_shifted_params.hpp</a><li>BOOST_PREPROCESSOR_EQUAL
|
: <a class="el" href="enum__shifted__params_8hpp.html#a0">enum_shifted_params.hpp</a><li>BOOST_PP_EQUAL
|
||||||
: <a class="el" href="equal_8hpp.html#a0">equal.hpp</a><li>BOOST_PREPROCESSOR_GREATER
|
: <a class="el" href="equal_8hpp.html#a0">equal.hpp</a><li>BOOST_PP_GREATER
|
||||||
: <a class="el" href="greater_8hpp.html#a0">greater.hpp</a><li>BOOST_PREPROCESSOR_GREATER_EQUAL
|
: <a class="el" href="greater_8hpp.html#a0">greater.hpp</a><li>BOOST_PP_GREATER_EQUAL
|
||||||
: <a class="el" href="greater__equal_8hpp.html#a0">greater_equal.hpp</a><li>BOOST_PREPROCESSOR_IDENTITY
|
: <a class="el" href="greater__equal_8hpp.html#a0">greater_equal.hpp</a><li>BOOST_PP_IDENTITY
|
||||||
: <a class="el" href="identity_8hpp.html#a0">identity.hpp</a><li>BOOST_PREPROCESSOR_IF
|
: <a class="el" href="identity_8hpp.html#a0">identity.hpp</a><li>BOOST_PP_IF
|
||||||
: <a class="el" href="if_8hpp.html#a0">if.hpp</a><li>BOOST_PREPROCESSOR_INC
|
: <a class="el" href="if_8hpp.html#a0">if.hpp</a><li>BOOST_PP_INC
|
||||||
: <a class="el" href="inc_8hpp.html#a0">inc.hpp</a><li>BOOST_PREPROCESSOR_LESS
|
: <a class="el" href="inc_8hpp.html#a0">inc.hpp</a><li>BOOST_PP_LESS
|
||||||
: <a class="el" href="less_8hpp.html#a0">less.hpp</a><li>BOOST_PREPROCESSOR_LESS_EQUAL
|
: <a class="el" href="less_8hpp.html#a0">less.hpp</a><li>BOOST_PP_LESS_EQUAL
|
||||||
: <a class="el" href="less__equal_8hpp.html#a0">less_equal.hpp</a><li>BOOST_PREPROCESSOR_LIMIT_DIM
|
: <a class="el" href="less__equal_8hpp.html#a0">less_equal.hpp</a><li>BOOST_PP_LIMIT_DIM
|
||||||
: <a class="el" href="limits_8hpp.html#a0">limits.hpp</a><li>BOOST_PREPROCESSOR_LIMIT_MAG
|
: <a class="el" href="limits_8hpp.html#a0">limits.hpp</a><li>BOOST_PP_LIMIT_MAG
|
||||||
: <a class="el" href="limits_8hpp.html#a1">limits.hpp</a><li>BOOST_PREPROCESSOR_LIMIT_TUPLE
|
: <a class="el" href="limits_8hpp.html#a1">limits.hpp</a><li>BOOST_PP_LIMIT_TUPLE
|
||||||
: <a class="el" href="limits_8hpp.html#a2">limits.hpp</a><li>BOOST_PREPROCESSOR_MAX
|
: <a class="el" href="limits_8hpp.html#a2">limits.hpp</a><li>BOOST_PP_MAX
|
||||||
: <a class="el" href="max_8hpp.html#a0">max.hpp</a><li>BOOST_PREPROCESSOR_MIN
|
: <a class="el" href="max_8hpp.html#a0">max.hpp</a><li>BOOST_PP_MIN
|
||||||
: <a class="el" href="min_8hpp.html#a0">min.hpp</a><li>BOOST_PREPROCESSOR_MOD
|
: <a class="el" href="min_8hpp.html#a0">min.hpp</a><li>BOOST_PP_MOD
|
||||||
: <a class="el" href="mod_8hpp.html#a0">mod.hpp</a><li>BOOST_PREPROCESSOR_MUL
|
: <a class="el" href="mod_8hpp.html#a0">mod.hpp</a><li>BOOST_PP_MUL
|
||||||
: <a class="el" href="mul_8hpp.html#a0">mul.hpp</a><li>BOOST_PREPROCESSOR_NOR
|
: <a class="el" href="mul_8hpp.html#a0">mul.hpp</a><li>BOOST_PP_NOR
|
||||||
: <a class="el" href="nor_8hpp.html#a0">nor.hpp</a><li>BOOST_PREPROCESSOR_NOT
|
: <a class="el" href="nor_8hpp.html#a0">nor.hpp</a><li>BOOST_PP_NOT
|
||||||
: <a class="el" href="not_8hpp.html#a0">not.hpp</a><li>BOOST_PREPROCESSOR_NOT_EQUAL
|
: <a class="el" href="not_8hpp.html#a0">not.hpp</a><li>BOOST_PP_NOT_EQUAL
|
||||||
: <a class="el" href="not__equal_8hpp.html#a0">not_equal.hpp</a><li>BOOST_PREPROCESSOR_OR
|
: <a class="el" href="not__equal_8hpp.html#a0">not_equal.hpp</a><li>BOOST_PP_OR
|
||||||
: <a class="el" href="or_8hpp.html#a0">or.hpp</a><li>BOOST_PREPROCESSOR_REPEAT
|
: <a class="el" href="or_8hpp.html#a0">or.hpp</a><li>BOOST_PP_REPEAT
|
||||||
: <a class="el" href="repeat_8hpp.html#a0">repeat.hpp</a><li>BOOST_PREPROCESSOR_REPEAT_2ND
|
: <a class="el" href="repeat_8hpp.html#a0">repeat.hpp</a><li>BOOST_PP_REPEAT_2ND
|
||||||
: <a class="el" href="repeat__2nd_8hpp.html#a0">repeat_2nd.hpp</a><li>BOOST_PREPROCESSOR_REPEAT_3RD
|
: <a class="el" href="repeat__2nd_8hpp.html#a0">repeat_2nd.hpp</a><li>BOOST_PP_REPEAT_3RD
|
||||||
: <a class="el" href="repeat__3rd_8hpp.html#a0">repeat_3rd.hpp</a><li>BOOST_PREPROCESSOR_STRINGIZE
|
: <a class="el" href="repeat__3rd_8hpp.html#a0">repeat_3rd.hpp</a><li>BOOST_PP_STRINGIZE
|
||||||
: <a class="el" href="stringize_8hpp.html#a0">stringize.hpp</a><li>BOOST_PREPROCESSOR_SUB
|
: <a class="el" href="stringize_8hpp.html#a0">stringize.hpp</a><li>BOOST_PP_SUB
|
||||||
: <a class="el" href="sub_8hpp.html#a0">sub.hpp</a><li>BOOST_PREPROCESSOR_TUPLE_ELEM
|
: <a class="el" href="sub_8hpp.html#a0">sub.hpp</a><li>BOOST_PP_TUPLE_ELEM
|
||||||
: <a class="el" href="tuple_8hpp.html#a0">tuple.hpp</a><li>BOOST_PREPROCESSOR_WHILE
|
: <a class="el" href="tuple_8hpp.html#a0">tuple.hpp</a><li>BOOST_PP_WHILE
|
||||||
: <a class="el" href="while_8hpp.html#a0">while.hpp</a><li>BOOST_PREPROCESSOR_XOR
|
: <a class="el" href="while_8hpp.html#a0">while.hpp</a><li>BOOST_PP_XOR
|
||||||
: <a class="el" href="xor_8hpp.html#a0">xor.hpp</a></ul>
|
: <a class="el" href="xor_8hpp.html#a0">xor.hpp</a><li>BOOST_PREPROCESSOR_ADD
|
||||||
|
: <a class="el" href="add_8hpp.html#a1">add.hpp</a><li>BOOST_PREPROCESSOR_AND
|
||||||
|
: <a class="el" href="and_8hpp.html#a1">and.hpp</a><li>BOOST_PREPROCESSOR_ASSERT_MSG
|
||||||
|
: <a class="el" href="assert__msg_8hpp.html#a1">assert_msg.hpp</a><li>BOOST_PREPROCESSOR_BOOL
|
||||||
|
: <a class="el" href="bool_8hpp.html#a1">bool.hpp</a><li>BOOST_PREPROCESSOR_CAT
|
||||||
|
: <a class="el" href="cat_8hpp.html#a1">cat.hpp</a><li>BOOST_PREPROCESSOR_COMMA
|
||||||
|
: <a class="el" href="comma_8hpp.html#a1">comma.hpp</a><li>BOOST_PREPROCESSOR_COMMA_IF
|
||||||
|
: <a class="el" href="comma__if_8hpp.html#a1">comma_if.hpp</a><li>BOOST_PREPROCESSOR_DEC
|
||||||
|
: <a class="el" href="dec_8hpp.html#a1">dec.hpp</a><li>BOOST_PREPROCESSOR_DIV
|
||||||
|
: <a class="el" href="div_8hpp.html#a1">div.hpp</a><li>BOOST_PREPROCESSOR_EMPTY
|
||||||
|
: <a class="el" href="empty_8hpp.html#a1">empty.hpp</a><li>BOOST_PREPROCESSOR_ENUM_PARAMS
|
||||||
|
: <a class="el" href="enum__params_8hpp.html#a1">enum_params.hpp</a><li>BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT
|
||||||
|
: <a class="el" href="enum_params_with_a_default.htm#a1">enum_params_with_a_default.hpp</a><li>BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS
|
||||||
|
: <a class="el" href="enum_params_with_defaults.htm#a1">enum_params_with_defaults.hpp</a><li>BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS
|
||||||
|
: <a class="el" href="enum__shifted__params_8hpp.html#a1">enum_shifted_params.hpp</a><li>BOOST_PREPROCESSOR_EQUAL
|
||||||
|
: <a class="el" href="equal_8hpp.html#a1">equal.hpp</a><li>BOOST_PREPROCESSOR_GREATER
|
||||||
|
: <a class="el" href="greater_8hpp.html#a1">greater.hpp</a><li>BOOST_PREPROCESSOR_GREATER_EQUAL
|
||||||
|
: <a class="el" href="greater__equal_8hpp.html#a1">greater_equal.hpp</a><li>BOOST_PREPROCESSOR_IDENTITY
|
||||||
|
: <a class="el" href="identity_8hpp.html#a1">identity.hpp</a><li>BOOST_PREPROCESSOR_IF
|
||||||
|
: <a class="el" href="if_8hpp.html#a1">if.hpp</a><li>BOOST_PREPROCESSOR_INC
|
||||||
|
: <a class="el" href="inc_8hpp.html#a1">inc.hpp</a><li>BOOST_PREPROCESSOR_LESS
|
||||||
|
: <a class="el" href="less_8hpp.html#a1">less.hpp</a><li>BOOST_PREPROCESSOR_LESS_EQUAL
|
||||||
|
: <a class="el" href="less__equal_8hpp.html#a1">less_equal.hpp</a><li>BOOST_PREPROCESSOR_LIMIT_DIM
|
||||||
|
: <a class="el" href="limits_8hpp.html#a3">limits.hpp</a><li>BOOST_PREPROCESSOR_LIMIT_MAG
|
||||||
|
: <a class="el" href="limits_8hpp.html#a4">limits.hpp</a><li>BOOST_PREPROCESSOR_LIMIT_TUPLE
|
||||||
|
: <a class="el" href="limits_8hpp.html#a5">limits.hpp</a><li>BOOST_PREPROCESSOR_MAX
|
||||||
|
: <a class="el" href="max_8hpp.html#a1">max.hpp</a><li>BOOST_PREPROCESSOR_MIN
|
||||||
|
: <a class="el" href="min_8hpp.html#a1">min.hpp</a><li>BOOST_PREPROCESSOR_MOD
|
||||||
|
: <a class="el" href="mod_8hpp.html#a1">mod.hpp</a><li>BOOST_PREPROCESSOR_MUL
|
||||||
|
: <a class="el" href="mul_8hpp.html#a1">mul.hpp</a><li>BOOST_PREPROCESSOR_NOR
|
||||||
|
: <a class="el" href="nor_8hpp.html#a1">nor.hpp</a><li>BOOST_PREPROCESSOR_NOT
|
||||||
|
: <a class="el" href="not_8hpp.html#a1">not.hpp</a><li>BOOST_PREPROCESSOR_NOT_EQUAL
|
||||||
|
: <a class="el" href="not__equal_8hpp.html#a1">not_equal.hpp</a><li>BOOST_PREPROCESSOR_OR
|
||||||
|
: <a class="el" href="or_8hpp.html#a1">or.hpp</a><li>BOOST_PREPROCESSOR_REPEAT
|
||||||
|
: <a class="el" href="repeat_8hpp.html#a1">repeat.hpp</a><li>BOOST_PREPROCESSOR_REPEAT_2ND
|
||||||
|
: <a class="el" href="repeat__2nd_8hpp.html#a1">repeat_2nd.hpp</a><li>BOOST_PREPROCESSOR_REPEAT_3RD
|
||||||
|
: <a class="el" href="repeat__3rd_8hpp.html#a1">repeat_3rd.hpp</a><li>BOOST_PREPROCESSOR_STRINGIZE
|
||||||
|
: <a class="el" href="stringize_8hpp.html#a1">stringize.hpp</a><li>BOOST_PREPROCESSOR_SUB
|
||||||
|
: <a class="el" href="sub_8hpp.html#a1">sub.hpp</a><li>BOOST_PREPROCESSOR_TUPLE_ELEM
|
||||||
|
: <a class="el" href="tuple_8hpp.html#a1">tuple.hpp</a><li>BOOST_PREPROCESSOR_XOR
|
||||||
|
: <a class="el" href="xor_8hpp.html#a1">xor.hpp</a></ul>
|
||||||
<hr>
|
<hr>
|
||||||
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
||||||
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>greater.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>greater.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="greater_8hpp.html#a0">BOOST_PREPROCESSOR_GREATER</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="greater_8hpp.html#a0">BOOST_PP_GREATER</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to 1 if X>Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to 1 if X>Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="greater_8hpp.html#a1">BOOST_PREPROCESSOR_GREATER</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="greater_8hpp.html#a0">BOOST_PP_GREATER</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/comparison/greater.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/greater.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="greater.hpp::BOOST_PREPROCESSOR_GREATER"></a><p>
|
<a name="a0" doxytag="greater.hpp::BOOST_PP_GREATER"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_GREATER</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to 1 if X>Y and 0 otherwise.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="greater.hpp::BOOST_PREPROCESSOR_GREATER"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to 1 if X>Y and 0 otherwise.
|
Obsolete. Use <a class="el" href="greater_8hpp.html#a0">BOOST_PP_GREATER</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>greater_equal.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>greater_equal.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="greater__equal_8hpp.html#a0">BOOST_PREPROCESSOR_GREATER_EQUAL</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="greater__equal_8hpp.html#a0">BOOST_PP_GREATER_EQUAL</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to 1 if X>=Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to 1 if X>=Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="greater__equal_8hpp.html#a1">BOOST_PREPROCESSOR_GREATER_EQUAL</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="greater__equal_8hpp.html#a0">BOOST_PP_GREATER_EQUAL</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/comparison/greater_equal.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/greater_equal.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="greater_equal.hpp::BOOST_PREPROCESSOR_GREATER_EQUAL"></a><p>
|
<a name="a0" doxytag="greater_equal.hpp::BOOST_PP_GREATER_EQUAL"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_GREATER_EQUAL</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to 1 if X>=Y and 0 otherwise.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="greater_equal.hpp::BOOST_PREPROCESSOR_GREATER_EQUAL"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to 1 if X>=Y and 0 otherwise.
|
Obsolete. Use <a class="el" href="greater__equal_8hpp.html#a0">BOOST_PP_GREATER_EQUAL</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,60 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>identity.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>identity.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="identity_8hpp.html#a0">BOOST_PREPROCESSOR_IDENTITY</a>(X)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="identity_8hpp.html#a0">BOOST_PP_IDENTITY</a>(X)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to X once invoked.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to X once invoked.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="identity_8hpp.html#a1">BOOST_PREPROCESSOR_IDENTITY</a>(X)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="identity_8hpp.html#a0">BOOST_PP_IDENTITY</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/identity.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/identity.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="identity.hpp::BOOST_PREPROCESSOR_IDENTITY"></a><p>
|
<a name="a0" doxytag="identity.hpp::BOOST_PP_IDENTITY"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_IDENTITY</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to X once invoked.
|
||||||
|
<p>
|
||||||
|
Designed to be used with <a class="el" href="if_8hpp.html#a0">BOOST_PP_IF</a>(), when one of the clauses need to be invoked.
|
||||||
|
<p>
|
||||||
|
Example:
|
||||||
|
<p>
|
||||||
|
<pre><div class="fragment"><pre>
|
||||||
|
BOOST_PP_IDENTITY(X)()
|
||||||
|
// ^^ NOTE!
|
||||||
|
</pre></div></pre>
|
||||||
|
<p>
|
||||||
|
The above expands to:
|
||||||
|
<p>
|
||||||
|
<pre><div class="fragment"><pre>
|
||||||
|
X
|
||||||
|
</pre></div></pre>
|
||||||
|
<p>
|
||||||
|
NOTE: If <a class="el" href="identity_8hpp.html#a0">BOOST_PP_IDENTITY</a>() is not invoked, the expansion will not be usable. </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="identity.hpp::BOOST_PREPROCESSOR_IDENTITY"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -39,24 +85,9 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to X once invoked.
|
Obsolete. Use <a class="el" href="identity_8hpp.html#a0">BOOST_PP_IDENTITY</a>().
|
||||||
<p>
|
<p>
|
||||||
Designed to be used with <a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>(), when one of the clauses need to be invoked.
|
</td>
|
||||||
<p>
|
|
||||||
Example:
|
|
||||||
<p>
|
|
||||||
<pre><div class="fragment"><pre>
|
|
||||||
BOOST_PREPROCESSOR_IDENTITY(X)()
|
|
||||||
// ^^ NOTE!
|
|
||||||
</pre></div></pre>
|
|
||||||
<p>
|
|
||||||
The above expands to:
|
|
||||||
<p>
|
|
||||||
<pre><div class="fragment"><pre>
|
|
||||||
X
|
|
||||||
</pre></div></pre>
|
|
||||||
<p>
|
|
||||||
NOTE: If <a class="el" href="identity_8hpp.html#a0">BOOST_PREPROCESSOR_IDENTITY</a>() is not invoked, the expansion will not be usable. </td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -8,14 +8,51 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>if.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>if.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>(C, T, E)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="if_8hpp.html#a0">BOOST_PP_IF</a>(C, T, E)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to T if C != 0 and E if C == 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to T if C != 0 and E if C == 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="if_8hpp.html#a1">BOOST_PREPROCESSOR_IF</a>(C, T, E)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="if_8hpp.html#a0">BOOST_PP_IF</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/if.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/if.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="if.hpp::BOOST_PREPROCESSOR_IF"></a><p>
|
<a name="a0" doxytag="if.hpp::BOOST_PP_IF"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_IF</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">C, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>T, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>E </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to T if C != 0 and E if C == 0.
|
||||||
|
<p>
|
||||||
|
<a class="el" href="if_8hpp.html#a0">BOOST_PP_IF</a>() enables convenient generation of lists using <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>(). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="if.hpp::BOOST_PREPROCESSOR_IF"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -45,9 +82,9 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to T if C != 0 and E if C == 0.
|
Obsolete. Use <a class="el" href="if_8hpp.html#a0">BOOST_PP_IF</a>().
|
||||||
<p>
|
<p>
|
||||||
<a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>() enables convenient generation of lists using <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(). </td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -8,14 +8,49 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>inc.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>inc.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="inc_8hpp.html#a0">BOOST_PREPROCESSOR_INC</a>(X)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="inc_8hpp.html#a0">BOOST_PP_INC</a>(X)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Increments X expanding to a single token.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Increments X expanding to a single token.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="inc_8hpp.html#a1">BOOST_PREPROCESSOR_INC</a>(X)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="inc_8hpp.html#a0">BOOST_PP_INC</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/inc.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/inc.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="inc.hpp::BOOST_PREPROCESSOR_INC"></a><p>
|
<a name="a0" doxytag="inc.hpp::BOOST_PP_INC"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_INC</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Increments X expanding to a single token.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="inc_8hpp.html#a0">BOOST_PP_INC</a>(3) expands to 4 (a single token).
|
||||||
|
<p>
|
||||||
|
<a class="el" href="inc_8hpp.html#a0">BOOST_PP_INC</a>() uses saturation arithmetic. Incrementing a BOOST_PP_LIMIT_MAG yields a BOOST_PP_LIMIT_MAG.
|
||||||
|
<p>
|
||||||
|
Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are supported. </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="inc.hpp::BOOST_PREPROCESSOR_INC"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -39,11 +74,9 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Increments X expanding to a single token.
|
Obsolete. Use <a class="el" href="inc_8hpp.html#a0">BOOST_PP_INC</a>().
|
||||||
<p>
|
<p>
|
||||||
<a class="el" href="inc_8hpp.html#a0">BOOST_PREPROCESSOR_INC</a>() uses saturation arithmetic. Incrementing a BOOST_PREPROCESSOR_LIMIT_MAG yields a BOOST_PREPROCESSOR_LIMIT_MAG.
|
</td>
|
||||||
<p>
|
|
||||||
Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG] are supported. </td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>less.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>less.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="less_8hpp.html#a0">BOOST_PREPROCESSOR_LESS</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="less_8hpp.html#a0">BOOST_PP_LESS</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to 1 if X<Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to 1 if X<Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="less_8hpp.html#a1">BOOST_PREPROCESSOR_LESS</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="less_8hpp.html#a0">BOOST_PP_LESS</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/comparison/less.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/less.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="less.hpp::BOOST_PREPROCESSOR_LESS"></a><p>
|
<a name="a0" doxytag="less.hpp::BOOST_PP_LESS"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_LESS</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to 1 if X<Y and 0 otherwise.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="less.hpp::BOOST_PREPROCESSOR_LESS"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to 1 if X<Y and 0 otherwise.
|
Obsolete. Use <a class="el" href="less_8hpp.html#a0">BOOST_PP_LESS</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>less_equal.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>less_equal.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="less__equal_8hpp.html#a0">BOOST_PREPROCESSOR_LESS_EQUAL</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="less__equal_8hpp.html#a0">BOOST_PP_LESS_EQUAL</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to 1 if X<=Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to 1 if X<=Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="less__equal_8hpp.html#a1">BOOST_PREPROCESSOR_LESS_EQUAL</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="less__equal_8hpp.html#a0">BOOST_PP_LESS_EQUAL</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/comparison/less_equal.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/less_equal.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="less_equal.hpp::BOOST_PREPROCESSOR_LESS_EQUAL"></a><p>
|
<a name="a0" doxytag="less_equal.hpp::BOOST_PP_LESS_EQUAL"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_LESS_EQUAL</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to 1 if X<=Y and 0 otherwise.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="less_equal.hpp::BOOST_PREPROCESSOR_LESS_EQUAL"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to 1 if X<=Y and 0 otherwise.
|
Obsolete. Use <a class="el" href="less__equal_8hpp.html#a0">BOOST_PP_LESS_EQUAL</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,18 +8,100 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>limits.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>limits.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="limits_8hpp.html#a0">BOOST_PREPROCESSOR_LIMIT_DIM</a></td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="limits_8hpp.html#a0">BOOST_PP_LIMIT_DIM</a></td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the number of dimensions of repeat supported by the library.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the number of dimensions of repeat supported by the library.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="limits_8hpp.html#a1">BOOST_PREPROCESSOR_LIMIT_MAG</a></td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="limits_8hpp.html#a1">BOOST_PP_LIMIT_MAG</a></td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the maximum straight numeric literal supported by the library.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the maximum straight numeric literal supported by the library.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="limits_8hpp.html#a2">BOOST_PREPROCESSOR_LIMIT_TUPLE</a></td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="limits_8hpp.html#a2">BOOST_PP_LIMIT_TUPLE</a></td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the maximum tuple length supported by the library.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the maximum tuple length supported by the library.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="limits_8hpp.html#a3">BOOST_PREPROCESSOR_LIMIT_DIM</a></td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use BOOST_PP_LIMIT_DIM.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="limits_8hpp.html#a4">BOOST_PREPROCESSOR_LIMIT_MAG</a></td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use BOOST_PP_LIMIT_MAG.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="limits_8hpp.html#a5">BOOST_PREPROCESSOR_LIMIT_TUPLE</a></td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use BOOST_PP_LIMIT_TUPLE.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/limits.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/limits.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="limits.hpp::BOOST_PREPROCESSOR_LIMIT_DIM"></a><p>
|
<a name="a0" doxytag="limits.hpp::BOOST_PP_LIMIT_DIM"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_LIMIT_DIM
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the number of dimensions of repeat supported by the library.
|
||||||
|
<p>
|
||||||
|
The repeat macros are named <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>(), <a class="el" href="repeat__2nd_8hpp.html#a0">BOOST_PP_REPEAT_2ND</a>(), <a class="el" href="repeat__3rd_8hpp.html#a0">BOOST_PP_REPEAT_3RD</a>(), ... </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="limits.hpp::BOOST_PP_LIMIT_MAG"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_LIMIT_MAG
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the maximum straight numeric literal supported by the library.
|
||||||
|
<p>
|
||||||
|
This is also the limit of the repetition primitives (BOOST_PP_ENUM family and BOOST_PP_REPEAT family).
|
||||||
|
<p>
|
||||||
|
NOTES:<ul>
|
||||||
|
<li>Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are supported.<li>All arithmetic operations (ADD,SUB,MUL,DIV) use saturation arithmetic.<li>The maximum repetition count supported by the library may not be reached due to compiler limitations. </ul>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a2" doxytag="limits.hpp::BOOST_PP_LIMIT_TUPLE"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_LIMIT_TUPLE
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the maximum tuple length supported by the library.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a3" doxytag="limits.hpp::BOOST_PREPROCESSOR_LIMIT_DIM"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -38,12 +120,12 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the number of dimensions of repeat supported by the library.
|
Obsolete. Use BOOST_PP_LIMIT_DIM.
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<a name="a1" doxytag="limits.hpp::BOOST_PREPROCESSOR_LIMIT_MAG"></a><p>
|
<a name="a4" doxytag="limits.hpp::BOOST_PREPROCESSOR_LIMIT_MAG"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -62,14 +144,12 @@ Expands to the number of dimensions of repeat supported by the library.
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the maximum straight numeric literal supported by the library.
|
Obsolete. Use BOOST_PP_LIMIT_MAG.
|
||||||
<p>
|
<p>
|
||||||
NOTES:<ul>
|
|
||||||
<li>Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG] are supported.<li>All arithmetic operations (ADD,SUB,MUL,DIV) use saturation arithmetic.<li>The maximum repetition count supported by the library may not be reached due to compiler limitations. </ul>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<a name="a2" doxytag="limits.hpp::BOOST_PREPROCESSOR_LIMIT_TUPLE"></a><p>
|
<a name="a5" doxytag="limits.hpp::BOOST_PREPROCESSOR_LIMIT_TUPLE"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -88,7 +168,7 @@ NOTES:<ul>
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the maximum tuple length supported by the library.
|
Obsolete. Use BOOST_PP_LIMIT_TUPLE.
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -11,6 +11,8 @@
|
|||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/logical.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
|
Includes all logical headers.
|
||||||
|
<p>
|
||||||
<hr>
|
<hr>
|
||||||
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
||||||
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>max.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>max.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="max_8hpp.html#a0">BOOST_PREPROCESSOR_MAX</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="max_8hpp.html#a0">BOOST_PP_MAX</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the maximum of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the maximum of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="max_8hpp.html#a1">BOOST_PREPROCESSOR_MAX</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="max_8hpp.html#a0">BOOST_PP_MAX</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/max.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/max.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="max.hpp::BOOST_PREPROCESSOR_MAX"></a><p>
|
<a name="a0" doxytag="max.hpp::BOOST_PP_MAX"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_MAX</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the maximum of X and Y.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="max_8hpp.html#a0">BOOST_PP_MAX</a>(5,7) expands to 7 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="max.hpp::BOOST_PREPROCESSOR_MAX"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the maximum of X and Y.
|
Obsolete. Use <a class="el" href="max_8hpp.html#a0">BOOST_PP_MAX</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>min.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>min.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="min_8hpp.html#a0">BOOST_PREPROCESSOR_MIN</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="min_8hpp.html#a0">BOOST_PP_MIN</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the minimum of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the minimum of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="min_8hpp.html#a1">BOOST_PREPROCESSOR_MIN</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="min_8hpp.html#a0">BOOST_PP_MIN</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/min.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/min.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="min.hpp::BOOST_PREPROCESSOR_MIN"></a><p>
|
<a name="a0" doxytag="min.hpp::BOOST_PP_MIN"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_MIN</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the minimum of X and Y.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="min_8hpp.html#a0">BOOST_PP_MIN</a>(5,7) expands to 5 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="min.hpp::BOOST_PREPROCESSOR_MIN"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the minimum of X and Y.
|
Obsolete. Use <a class="el" href="min_8hpp.html#a0">BOOST_PP_MIN</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>mod.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>mod.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="mod_8hpp.html#a0">BOOST_PREPROCESSOR_MOD</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="mod_8hpp.html#a0">BOOST_PP_MOD</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the remainder of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the remainder of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="mod_8hpp.html#a1">BOOST_PREPROCESSOR_MOD</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="mod_8hpp.html#a0">BOOST_PP_MOD</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/arithmetic/mod.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic/mod.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="mod.hpp::BOOST_PREPROCESSOR_MOD"></a><p>
|
<a name="a0" doxytag="mod.hpp::BOOST_PP_MOD"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_MOD</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the remainder of X and Y.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="mod_8hpp.html#a0">BOOST_PP_MOD</a>(4,3) expands to 1 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="mod.hpp::BOOST_PREPROCESSOR_MOD"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the remainder of X and Y.
|
Obsolete. Use <a class="el" href="mod_8hpp.html#a0">BOOST_PP_MOD</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>mul.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>mul.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="mul_8hpp.html#a0">BOOST_PREPROCESSOR_MUL</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="mul_8hpp.html#a0">BOOST_PP_MUL</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the product of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the product of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="mul_8hpp.html#a1">BOOST_PREPROCESSOR_MUL</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="mul_8hpp.html#a0">BOOST_PP_MUL</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/arithmetic/mul.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic/mul.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="mul.hpp::BOOST_PREPROCESSOR_MUL"></a><p>
|
<a name="a0" doxytag="mul.hpp::BOOST_PP_MUL"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_MUL</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the product of X and Y.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="mul_8hpp.html#a0">BOOST_PP_MUL</a>(4,3) expands to 12 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="mul.hpp::BOOST_PREPROCESSOR_MUL"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the product of X and Y.
|
Obsolete. Use <a class="el" href="mul_8hpp.html#a0">BOOST_PP_MUL</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>nor.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>nor.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="nor_8hpp.html#a0">BOOST_PREPROCESSOR_NOR</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="nor_8hpp.html#a0">BOOST_PP_NOR</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the logical NEITHER OR of the operands.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the logical NEITHER OR of the operands.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="nor_8hpp.html#a1">BOOST_PREPROCESSOR_NOR</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="nor_8hpp.html#a0">BOOST_PP_NOR</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/logical/nor.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/nor.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="nor.hpp::BOOST_PREPROCESSOR_NOR"></a><p>
|
<a name="a0" doxytag="nor.hpp::BOOST_PP_NOR"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_NOR</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the logical NEITHER OR of the operands.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="nor_8hpp.html#a0">BOOST_PP_NOR</a>(0,5) expands to 0 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="nor.hpp::BOOST_PREPROCESSOR_NOR"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the logical NEITHER OR of the operands.
|
Obsolete. Use <a class="el" href="nor_8hpp.html#a0">BOOST_PP_NOR</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,45 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>not.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>not.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="not_8hpp.html#a0">BOOST_PREPROCESSOR_NOT</a>(X)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="not_8hpp.html#a0">BOOST_PP_NOT</a>(X)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the logical NOT of the operand.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the logical NOT of the operand.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="not_8hpp.html#a1">BOOST_PREPROCESSOR_NOT</a>(X)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="not_8hpp.html#a0">BOOST_PP_NOT</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/logical/not.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/not.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="not.hpp::BOOST_PREPROCESSOR_NOT"></a><p>
|
<a name="a0" doxytag="not.hpp::BOOST_PP_NOT"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_NOT</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the logical NOT of the operand.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="not_8hpp.html#a0">BOOST_PP_NOT</a>(0) expands to 1 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="not.hpp::BOOST_PREPROCESSOR_NOT"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -39,7 +70,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the logical NOT of the operand.
|
Obsolete. Use <a class="el" href="not_8hpp.html#a0">BOOST_PP_NOT</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>not_equal.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>not_equal.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="not__equal_8hpp.html#a0">BOOST_PREPROCESSOR_NOT_EQUAL</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="not__equal_8hpp.html#a0">BOOST_PP_NOT_EQUAL</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to 1 if X!=Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to 1 if X!=Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="not__equal_8hpp.html#a1">BOOST_PREPROCESSOR_NOT_EQUAL</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="not__equal_8hpp.html#a0">BOOST_PP_NOT_EQUAL</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/comparison/not_equal.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/not_equal.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="not_equal.hpp::BOOST_PREPROCESSOR_NOT_EQUAL"></a><p>
|
<a name="a0" doxytag="not_equal.hpp::BOOST_PP_NOT_EQUAL"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_NOT_EQUAL</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to 1 if X!=Y and 0 otherwise.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="not_equal.hpp::BOOST_PREPROCESSOR_NOT_EQUAL"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to 1 if X!=Y and 0 otherwise.
|
Obsolete. Use <a class="el" href="not__equal_8hpp.html#a0">BOOST_PP_NOT_EQUAL</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>or.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>or.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="or_8hpp.html#a0">BOOST_PREPROCESSOR_OR</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="or_8hpp.html#a0">BOOST_PP_OR</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the logical OR of the operands.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the logical OR of the operands.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="or_8hpp.html#a1">BOOST_PREPROCESSOR_OR</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="or_8hpp.html#a0">BOOST_PP_OR</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/logical/or.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/or.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="or.hpp::BOOST_PREPROCESSOR_OR"></a><p>
|
<a name="a0" doxytag="or.hpp::BOOST_PP_OR"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_OR</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the logical OR of the operands.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="or_8hpp.html#a0">BOOST_PP_OR</a>(0,2) expands to 1 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="or.hpp::BOOST_PREPROCESSOR_OR"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the logical OR of the operands.
|
Obsolete. Use <a class="el" href="or_8hpp.html#a0">BOOST_PP_OR</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,20 +8,22 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>repeat.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>repeat.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(N, M, P)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>(N, M, P)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Repeats the macro M(I,P) for I = 0 to N-1.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Repeats the macro M(I,P) for I = 0 to N-1.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="repeat_8hpp.html#a1">BOOST_PREPROCESSOR_REPEAT</a>(N, M, P)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/repeat.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/repeat.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="repeat.hpp::BOOST_PREPROCESSOR_REPEAT"></a><p>
|
<a name="a0" doxytag="repeat.hpp::BOOST_PP_REPEAT"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
<table cellpadding="0" cellspacing="0" border="0">
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_REPEAT</td>
|
<td class="md" nowrap valign="top"> #define BOOST_PP_REPEAT</td>
|
||||||
<td class="md" valign="top">( </td>
|
<td class="md" valign="top">( </td>
|
||||||
<td class="md" nowrap valign="top">N, <tr>
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
@ -53,7 +55,42 @@ In other words, expands to the sequence:
|
|||||||
M(0,P) M(1,P) ... M(N-1,P)
|
M(0,P) M(1,P) ... M(N-1,P)
|
||||||
</pre></div></pre>
|
</pre></div></pre>
|
||||||
<p>
|
<p>
|
||||||
See BOOST_PREPROCESSOR_LIMIT_MAG. </td>
|
See BOOST_PP_LIMIT_MAG. </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="repeat.hpp::BOOST_PREPROCESSOR_REPEAT"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_REPEAT</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>M, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>P </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Obsolete. Use <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>().
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -8,14 +8,51 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>repeat_2nd.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>repeat_2nd.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="repeat__2nd_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT_2ND</a>(N, M, P)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="repeat__2nd_8hpp.html#a0">BOOST_PP_REPEAT_2ND</a>(N, M, P)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Same as <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(), but implemented independently.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Same as <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>(), but implemented independently.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="repeat__2nd_8hpp.html#a1">BOOST_PREPROCESSOR_REPEAT_2ND</a>(N, M, P)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="repeat__2nd_8hpp.html#a0">BOOST_PP_REPEAT_2ND</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/repeat_2nd.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/repeat_2nd.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="repeat_2nd.hpp::BOOST_PREPROCESSOR_REPEAT_2ND"></a><p>
|
<a name="a0" doxytag="repeat_2nd.hpp::BOOST_PP_REPEAT_2ND"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_REPEAT_2ND</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>M, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>P </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Same as <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>(), but implemented independently.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="repeat_2nd.hpp::BOOST_PREPROCESSOR_REPEAT_2ND"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -45,7 +82,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Same as <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(), but implemented independently.
|
Obsolete. Use <a class="el" href="repeat__2nd_8hpp.html#a0">BOOST_PP_REPEAT_2ND</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,51 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>repeat_3rd.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>repeat_3rd.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="repeat__3rd_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT_3RD</a>(N, M, P)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="repeat__3rd_8hpp.html#a0">BOOST_PP_REPEAT_3RD</a>(N, M, P)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Same as <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(), but implemented independently.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Same as <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>(), but implemented independently.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="repeat__3rd_8hpp.html#a1">BOOST_PREPROCESSOR_REPEAT_3RD</a>(N, M, P)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="repeat__3rd_8hpp.html#a0">BOOST_PP_REPEAT_3RD</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/repeat_3rd.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/repeat_3rd.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="repeat_3rd.hpp::BOOST_PREPROCESSOR_REPEAT_3RD"></a><p>
|
<a name="a0" doxytag="repeat_3rd.hpp::BOOST_PP_REPEAT_3RD"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_REPEAT_3RD</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>M, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>P </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Same as <a class="el" href="repeat_8hpp.html#a0">BOOST_PP_REPEAT</a>(), but implemented independently.
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="repeat_3rd.hpp::BOOST_PREPROCESSOR_REPEAT_3RD"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -45,7 +82,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Same as <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(), but implemented independently.
|
Obsolete. Use <a class="el" href="repeat__3rd_8hpp.html#a0">BOOST_PP_REPEAT_3RD</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,20 +8,22 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>stringize.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>stringize.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="stringize_8hpp.html#a0">BOOST_PREPROCESSOR_STRINGIZE</a>(E)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="stringize_8hpp.html#a0">BOOST_PP_STRINGIZE</a>(E)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Delays the stringization of E.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Delays the stringization of E.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="stringize_8hpp.html#a1">BOOST_PREPROCESSOR_STRINGIZE</a>(E)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="stringize_8hpp.html#a0">BOOST_PP_STRINGIZE</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/stringize.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/stringize.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="stringize.hpp::BOOST_PREPROCESSOR_STRINGIZE"></a><p>
|
<a name="a0" doxytag="stringize.hpp::BOOST_PP_STRINGIZE"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
<table cellpadding="0" cellspacing="0" border="0">
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_STRINGIZE</td>
|
<td class="md" nowrap valign="top"> #define BOOST_PP_STRINGIZE</td>
|
||||||
<td class="md" valign="top">( </td>
|
<td class="md" valign="top">( </td>
|
||||||
<td class="md" nowrap valign="top">E </td>
|
<td class="md" nowrap valign="top">E </td>
|
||||||
<td class="mdname1" valign="top" nowrap> </td>
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
@ -45,7 +47,7 @@ Example:
|
|||||||
<p>
|
<p>
|
||||||
<pre><div class="fragment"><pre>
|
<pre><div class="fragment"><pre>
|
||||||
#define NOTE(STR)\
|
#define NOTE(STR)\
|
||||||
message(__FILE__ "(" BOOST_PREPROCESSOR_STRINGIZE(__LINE__) ") : " STR)
|
message(__FILE__ "(" BOOST_PP_STRINGIZE(__LINE__) ") : " STR)
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
@ -58,13 +60,42 @@ The above expands to:
|
|||||||
#pragma message("examples.cpp" "(" "20" ") : " "TBD!")
|
#pragma message("examples.cpp" "(" "20" ") : " "TBD!")
|
||||||
</pre></div></pre>
|
</pre></div></pre>
|
||||||
<p>
|
<p>
|
||||||
The use of <a class="el" href="stringize_8hpp.html#a0">BOOST_PREPROCESSOR_STRINGIZE</a>() above lets the preprocessor expand the __LINE__ before stringizing it. If # would be used directly, the code would expand to:
|
The use of <a class="el" href="stringize_8hpp.html#a0">BOOST_PP_STRINGIZE</a>() above lets the PP expand the __LINE__ before stringizing it. If # would be used directly, the code would expand to:
|
||||||
<p>
|
<p>
|
||||||
<pre><div class="fragment"><pre>
|
<pre><div class="fragment"><pre>
|
||||||
#pragma message("examples.cpp" "(" "__LINE__" ") : " "TBD!")
|
#pragma message("examples.cpp" "(" "__LINE__" ") : " "TBD!")
|
||||||
</pre></div></pre> </td>
|
</pre></div></pre> </td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
<a name="a1" doxytag="stringize.hpp::BOOST_PREPROCESSOR_STRINGIZE"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_STRINGIZE</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">E </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Obsolete. Use <a class="el" href="stringize_8hpp.html#a0">BOOST_PP_STRINGIZE</a>().
|
||||||
|
<p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
<p><EFBFBD> Copyright Housemarque Oy 2001</p>
|
||||||
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>sub.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>sub.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="sub_8hpp.html#a0">BOOST_PREPROCESSOR_SUB</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="sub_8hpp.html#a0">BOOST_PP_SUB</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the difference of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the difference of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="sub_8hpp.html#a1">BOOST_PREPROCESSOR_SUB</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="sub_8hpp.html#a0">BOOST_PP_SUB</a>(X,Y).</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/arithmetic/sub.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic/sub.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="sub.hpp::BOOST_PREPROCESSOR_SUB"></a><p>
|
<a name="a0" doxytag="sub.hpp::BOOST_PP_SUB"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_SUB</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the difference of X and Y.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="sub_8hpp.html#a0">BOOST_PP_SUB</a>(4,3) expands to 1 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="sub.hpp::BOOST_PREPROCESSOR_SUB"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the difference of X and Y.
|
Obsolete. Use <a class="el" href="sub_8hpp.html#a0">BOOST_PP_SUB</a>(X,Y).
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,14 +8,73 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>tuple.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>tuple.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tuple_8hpp.html#a0">BOOST_PREPROCESSOR_TUPLE_ELEM</a>(N, I, T)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tuple_8hpp.html#a0">BOOST_PP_TUPLE_ELEM</a>(N, I, T)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the I:th element of an N-tuple.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the I:th element of an N-tuple.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tuple_8hpp.html#a1">BOOST_PREPROCESSOR_TUPLE_ELEM</a>(N, I, T)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="tuple_8hpp.html#a0">BOOST_PP_TUPLE_ELEM</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/tuple.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/tuple.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="tuple.hpp::BOOST_PREPROCESSOR_TUPLE_ELEM"></a><p>
|
<a name="a0" doxytag="tuple.hpp::BOOST_PP_TUPLE_ELEM"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_TUPLE_ELEM</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">N, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>I, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>T </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the I:th element of an N-tuple.
|
||||||
|
<p>
|
||||||
|
Tuples can be used for representing structured data.
|
||||||
|
<p>
|
||||||
|
Examples of tuples:
|
||||||
|
<p>
|
||||||
|
<pre><div class="fragment"><pre>
|
||||||
|
2-tuple: (A, B)
|
||||||
|
3-tuple: (1, 2, 3)
|
||||||
|
4-tuple: (A B C, D, EF, 34)
|
||||||
|
</pre></div></pre>
|
||||||
|
<p>
|
||||||
|
Example:
|
||||||
|
<p>
|
||||||
|
<pre><div class="fragment"><pre>
|
||||||
|
BOOST_PP_TUPLE_ELEM(2,1,(A,B))
|
||||||
|
</pre></div></pre>
|
||||||
|
<p>
|
||||||
|
The above expands to:
|
||||||
|
<p>
|
||||||
|
<pre><div class="fragment"><pre>
|
||||||
|
B
|
||||||
|
</pre></div></pre>
|
||||||
|
<p>
|
||||||
|
See also BOOST_PP_LIMIT_TUPLE. </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="tuple.hpp::BOOST_PREPROCESSOR_TUPLE_ELEM"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -45,27 +104,9 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the I:th element of an N-tuple.
|
Obsolete. Use <a class="el" href="tuple_8hpp.html#a0">BOOST_PP_TUPLE_ELEM</a>().
|
||||||
<p>
|
<p>
|
||||||
Examples of tuples:
|
</td>
|
||||||
<p>
|
|
||||||
<pre><div class="fragment"><pre>
|
|
||||||
2-tuple: (A, B)
|
|
||||||
3-tuple: (1, 2, 3)
|
|
||||||
4-tuple: (A B C, D, EF, 34)
|
|
||||||
</pre></div></pre>
|
|
||||||
<p>
|
|
||||||
Example:
|
|
||||||
<p>
|
|
||||||
<pre><div class="fragment"><pre>
|
|
||||||
BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,(A,B))
|
|
||||||
</pre></div></pre>
|
|
||||||
<p>
|
|
||||||
The above expands to:
|
|
||||||
<p>
|
|
||||||
<pre><div class="fragment"><pre>
|
|
||||||
B
|
|
||||||
</pre></div></pre> </td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -8,20 +8,20 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>while.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>while.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="while_8hpp.html#a0">BOOST_PREPROCESSOR_WHILE</a>(C, F, X)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="while_8hpp.html#a0">BOOST_PP_WHILE</a>(C, F, X)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>CURRENTLY THIS FEATURE IS FOR INTERNAL USE ONLY!</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Iterates F(D,X) while C(D,X) is true.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/while.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/while.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="while.hpp::BOOST_PREPROCESSOR_WHILE"></a><p>
|
<a name="a0" doxytag="while.hpp::BOOST_PP_WHILE"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
<table cellpadding="0" cellspacing="0" border="0">
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_WHILE</td>
|
<td class="md" nowrap valign="top"> #define BOOST_PP_WHILE</td>
|
||||||
<td class="md" valign="top">( </td>
|
<td class="md" valign="top">( </td>
|
||||||
<td class="md" nowrap valign="top">C, <tr>
|
<td class="md" nowrap valign="top">C, <tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
@ -45,10 +45,84 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
CURRENTLY THIS FEATURE IS FOR INTERNAL USE ONLY!
|
Iterates F(D,X) while C(D,X) is true.
|
||||||
|
<p>
|
||||||
|
<h3>Legend</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>X</b> is the current state of iteration. The state is usually a tuple.
|
||||||
|
<p>
|
||||||
|
<b>C</b> is the condition for iteration. It must expand to a decimal integer literal.
|
||||||
|
<p>
|
||||||
|
<b>F</b> is the iterated function. Note that if the state is a tuple, then F(D,X) usually expands to a tuple of the same number of elements.
|
||||||
|
<p>
|
||||||
|
<b>D</b> is the recursion depth and should only be used as a parameter to other functions implemented using <a class="el" href="while_8hpp.html#a0">BOOST_PP_WHILE</a>(). Such functions include <a class="el" href="add_8hpp.html#a0">BOOST_PP_ADD</a>() and other arithmetic operations. For each function implemented using <a class="el" href="while_8hpp.html#a0">BOOST_PP_WHILE</a>(), there is a version of the function, distinguished by the _D suffix (e.g. BOOST_PP_ADD_D()), that accepts an additional recursion depth as the first parameter. This technique is necessary to avoid recursively expanding the same macro again, which is not permitted by the C/C++ preprocessor.
|
||||||
|
<p>
|
||||||
|
NOTE: The value of the D parameter may exceed BOOST_PP_LIMIT_MAG.
|
||||||
|
<p>
|
||||||
|
<h3>Usage</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Using <a class="el" href="while_8hpp.html#a0">BOOST_PP_WHILE</a>() is a bit tricky. This is due to the C/C++ preprocessor limitations. It is recommended to take a look at the implementations of the various PREPROCESSOR library primitives such as <a class="el" href="add_8hpp.html#a0">BOOST_PP_ADD</a>() for additional examples.
|
||||||
|
<p>
|
||||||
|
Here is a trivial example that simply counts down from N to 0 ultimately expanding to a 0:
|
||||||
|
<p>
|
||||||
|
<pre><div class="fragment"><pre>
|
||||||
|
#define COUNT_DOWN(N) BOOST_PP_WHILE(COUNT_DOWN_C,COUNT_DOWN_F,N)
|
||||||
|
// Above is the function we are implementing using BOOST_PP_WHILE().
|
||||||
|
|
||||||
|
#define COUNT_DOWN_C(D,N) N
|
||||||
|
// Above is the Condition. It expands to the current N.
|
||||||
|
|
||||||
|
#define COUNT_DOWN_F(D,N) BOOST_PP_DEC(N)
|
||||||
|
// Above is the iteration Function. It decrements N.
|
||||||
|
|
||||||
|
COUNT_DOWN(50)
|
||||||
|
// The above expands to 0.
|
||||||
|
</pre></div></pre>
|
||||||
|
<p>
|
||||||
|
For a more complex example, let's take a look at an implementation of <a class="el" href="mul_8hpp.html#a0">BOOST_PP_MUL</a>().
|
||||||
|
<p>
|
||||||
|
<pre><div class="fragment"><pre>
|
||||||
|
#define BOOST_PP_MUL(X,Y) BOOST_PP_MUL_D(0,X,Y)
|
||||||
|
// Since the function is implemented using WHILE, the actual implementation
|
||||||
|
// takes a depth as a parameter so that it can be called inside a WHILE.
|
||||||
|
// The above easy-to-use version simply uses 0 as the depth and can not be
|
||||||
|
// called inside a WHILE.
|
||||||
|
|
||||||
|
#define BOOST_PP_MUL_D(D,X,Y)\
|
||||||
|
BOOST_PP_TUPLE_ELEM(3,0,BOOST_PP_WHILE##D(BOOST_PP_MUL_C,BOOST_PP_MUL_F,(0,X,Y)))
|
||||||
|
// ^^^ ^^^ ^^ ^^ ^^^^^^^
|
||||||
|
// #1 #2 #3 #3 #1
|
||||||
|
//
|
||||||
|
// #1) The state is a 3-tuple. After the iteration is finished, the first
|
||||||
|
// element of the tuple is the result.
|
||||||
|
//
|
||||||
|
// #2) The WHILE primitive is "invoked" directly. BOOST_PP_WHILE(D,...) can't
|
||||||
|
// be used because it would not be expanded by the C/C++ preprocessor.
|
||||||
|
//
|
||||||
|
// #3) ???_C is the condition and ???_F is the iteration function.
|
||||||
|
|
||||||
|
#define BOOST_PP_MUL_C(D,P)\
|
||||||
|
BOOST_PP_TUPLE_ELEM(3,2,P)
|
||||||
|
// Iteration is finished when the counter reaches 0.
|
||||||
|
|
||||||
|
#define BOOST_PP_MUL_F(D,P)\
|
||||||
|
( BOOST_PP_ADD_D(D,BOOST_PP_TUPLE_ELEM(3,0,P),BOOST_PP_TUPLE_ELEM(3,1,P))\
|
||||||
|
, BOOST_PP_TUPLE_ELEM(3,1,P)\
|
||||||
|
, BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(3,2,P))\
|
||||||
|
)
|
||||||
|
// ( The result is increased by the multiplier.
|
||||||
|
// , The multiplier is retained without change.
|
||||||
|
// , The counter is decreased.
|
||||||
|
// )
|
||||||
|
</pre></div></pre>
|
||||||
|
<p>
|
||||||
|
<h3>Implementation</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
RATIONALE:<ul>
|
RATIONALE:<ul>
|
||||||
<li>The maximum iteration depth is 2*BOOST_PREPROCESSOR_LIMIT_MAG+1 to make it theoretically possible to compute BOOST_PREPROCESSOR_LIMIT_MAG^2. </ul>
|
<li>The maximum iteration depth is greater than 2*BOOST_PP_LIMIT_MAG to make it possible to compute N*N functions. </ul>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -8,14 +8,48 @@
|
|||||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="globals.html">File Members</a> </center>
|
||||||
<hr><h1>xor.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
<hr><h1>xor.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
|
||||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||||
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="xor_8hpp.html#a0">BOOST_PREPROCESSOR_XOR</a>(X, Y)</td></tr>
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="xor_8hpp.html#a0">BOOST_PP_XOR</a>(X, Y)</td></tr>
|
||||||
<tr><td> </td><td><font size=-1><em>Expands to the logical EXCLUSIVE OR of the operands.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
<tr><td> </td><td><font size=-1><em>Expands to the logical EXCLUSIVE OR of the operands.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
|
||||||
|
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="xor_8hpp.html#a1">BOOST_PREPROCESSOR_XOR</a>(X, Y)</td></tr>
|
||||||
|
<tr><td> </td><td><font size=-1><em>Obsolete. Use <a class="el" href="xor_8hpp.html#a0">BOOST_PP_XOR</a>().</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||||
<a href="../../../../boost/preprocessor/logical/xor.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/xor.hpp">Click here to see the header.</a>
|
||||||
<p>
|
<p>
|
||||||
<hr><h2>Define Documentation</h2>
|
<hr><h2>Define Documentation</h2>
|
||||||
<a name="a0" doxytag="xor.hpp::BOOST_PREPROCESSOR_XOR"></a><p>
|
<a name="a0" doxytag="xor.hpp::BOOST_PP_XOR"></a><p>
|
||||||
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td class="md" nowrap valign="top"> #define BOOST_PP_XOR</td>
|
||||||
|
<td class="md" valign="top">( </td>
|
||||||
|
<td class="md" nowrap valign="top">X, <tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="md" nowrap>Y </td>
|
||||||
|
<td class="mdname1" valign="top" nowrap> </td>
|
||||||
|
<td class="md" valign="top">) </td>
|
||||||
|
<td class="md" nowrap>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table cellspacing=5 cellpadding=0 border=0>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Expands to the logical EXCLUSIVE OR of the operands.
|
||||||
|
<p>
|
||||||
|
For example, <a class="el" href="xor_8hpp.html#a0">BOOST_PP_XOR</a>(1,2) expands to 0 (a single token). </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<a name="a1" doxytag="xor.hpp::BOOST_PREPROCESSOR_XOR"></a><p>
|
||||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="md">
|
<td class="md">
|
||||||
@ -42,7 +76,7 @@
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Expands to the logical EXCLUSIVE OR of the operands.
|
Obsolete. Use <a class="el" href="xor_8hpp.html#a0">BOOST_PP_XOR</a>().
|
||||||
<p>
|
<p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
215
doc/tutorial.htm
215
doc/tutorial.htm
@ -15,15 +15,15 @@
|
|||||||
<li><a href="#Techniques">Preprocessor Metaprogramming Techniques</a>
|
<li><a href="#Techniques">Preprocessor Metaprogramming Techniques</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#Local Macro">Use a Local Macro to avoid small scale repetition</a></li>
|
<li><a href="#Local Macro">Use a Local Macro to avoid small scale repetition</a></li>
|
||||||
<li><a href="#UNUSED">Use BOOST_PREPROCESSOR_EMPTY() as an unused parameter in Local Macro
|
<li><a href="#UNUSED">Use BOOST_PP_EMPTY() as an unused parameter in Local Macro
|
||||||
instantiations</a></li>
|
instantiations</a></li>
|
||||||
<li><a href="#CAT">Use BOOST_PREPROCESSOR_CAT instead of ## when necessary</a></li>
|
<li><a href="#CAT">Use BOOST_PP_CAT instead of ## when necessary</a></li>
|
||||||
<li><a href="#STRINGIZE">Use BOOST_PREPROCESSOR_STRINGIZE instead of # whenever necessary</a></li>
|
<li><a href="#STRINGIZE">Use BOOST_PP_STRINGIZE instead of # whenever necessary</a></li>
|
||||||
<li><a href="#ENUM_PARAMS">Avoid O(N) repetition on lists in general</a></li>
|
<li><a href="#ENUM_PARAMS">Avoid O(N) repetition on lists in general</a></li>
|
||||||
<li><a href="#Conditional Define">Use a Conditional Define to enable user configuration of code repetition</a></li>
|
<li><a href="#Conditional Define">Use a Conditional Define to enable user configuration of code repetition</a></li>
|
||||||
<li><a href="#Token Look-Up">Use Token Look-Up Function to eliminate categorical repetition</a></li>
|
<li><a href="#Token Look-Up">Use Token Look-Up Function to eliminate categorical repetition</a></li>
|
||||||
<li><a href="#2ND_REPEAT">Use BOOST_PREPROCESSOR_REPEAT_2ND to avoid O(N*N) repetition</a></li>
|
<li><a href="#2ND_REPEAT">Use BOOST_PP_REPEAT_2ND to avoid O(N*N) repetition</a></li>
|
||||||
<li><a href="#IF">Use BOOST_PREPROCESSOR_IF to implement special case for the first element</a>
|
<li><a href="#IF">Use BOOST_PP_IF to implement special case for the first element</a>
|
||||||
<li><a href="#Arithmetic">Use arithmetic, logical and comparison operations when necessary</a>
|
<li><a href="#Arithmetic">Use arithmetic, logical and comparison operations when necessary</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -99,10 +99,10 @@ yes_type is_function_tester(R (*)(A0, A1, A2));
|
|||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define IS_FUNCTION_TESTER(N,_)\
|
<pre>#define IS_FUNCTION_TESTER(N,_)\
|
||||||
template<class R BOOST_PREPROCESSOR_COMMA_IF(N) BOOST_PREPROCESSOR_ENUM_PARAMS(N, class A)>\
|
template<class R BOOST_PP_COMMA_IF(N) BOOST_PP_ENUM_PARAMS(N, class A)>\
|
||||||
yes_type is_function_tester(R (*)(BOOST_PREPROCESSOR_ENUM_PARAMS(N,A)));
|
yes_type is_function_tester(R (*)(BOOST_PP_ENUM_PARAMS(N,A)));
|
||||||
|
|
||||||
BOOST_PREPROCESSOR_REPEAT_2ND(BOOST_PREPROCESSOR_INC(MAX_IS_FUNCTION_TESTER_PARAMS),IS_FUNCTION_TESTER,_)
|
BOOST_PP_REPEAT_2ND(BOOST_PP_INC(MAX_IS_FUNCTION_TESTER_PARAMS),IS_FUNCTION_TESTER,_)
|
||||||
#undef IS_FUNCTION_TESTER
|
#undef IS_FUNCTION_TESTER
|
||||||
</pre>
|
</pre>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
@ -118,29 +118,29 @@ BOOST_PREPROCESSOR_REPEAT_2ND(BOOST_PREPROCESSOR_INC(MAX_IS_FUNCTION_TESTER_PARA
|
|||||||
Use a Local Macro to avoid small scale repetition</P>
|
Use a Local Macro to avoid small scale repetition</P>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define BOOST_PREPROCESSOR_DEF(OP)\
|
<pre>#define BOOST_PP_DEF(OP) \
|
||||||
template<class T, int n> \
|
template<class T, int n> \
|
||||||
vec<T,n>& \
|
vec<T,n>& \
|
||||||
operator OP##= \
|
operator OP##= \
|
||||||
( vec<T,n>& \
|
( vec<T,n>& \
|
||||||
lhs \
|
lhs \
|
||||||
, const vec<T,n>& \
|
, const vec<T,n>& \
|
||||||
rhs \
|
rhs \
|
||||||
) \
|
) \
|
||||||
{ for (int i=0; i<n; ++i) \
|
{ for (int i=0; i<n; ++i)\
|
||||||
lhs(i) OP##= rhs(i); \
|
lhs(i) OP##= rhs(i); \
|
||||||
return lhs; \
|
return lhs; \
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_PREPROCESSOR_DEF(+)
|
BOOST_PP_DEF(+)
|
||||||
BOOST_PREPROCESSOR_DEF(-)
|
BOOST_PP_DEF(-)
|
||||||
BOOST_PREPROCESSOR_DEF(*)
|
BOOST_PP_DEF(*)
|
||||||
BOOST_PREPROCESSOR_DEF(/)
|
BOOST_PP_DEF(/)
|
||||||
#undef BOOST_PREPROCESSOR_DEF
|
#undef BOOST_PP_DEF
|
||||||
</pre>
|
</pre>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<P><B>TIP:</B> It is usually okay to use a standard macro name like BOOST_PREPROCESSOR_DEF
|
<P><B>TIP:</B> It is usually okay to use a standard macro name like BOOST_PP_DEF
|
||||||
for this kind of code, because the macro is both defined and undefined in the
|
for this kind of code, because the macro is both defined and undefined in the
|
||||||
immediate site of its use.</P>
|
immediate site of its use.</P>
|
||||||
<P><B>TIP:</B> It is easier to verify proper use of
|
<P><B>TIP:</B> It is easier to verify proper use of
|
||||||
@ -154,55 +154,55 @@ the line continuation operator when they are aligned.</P>
|
|||||||
metaprogramming.</P>
|
metaprogramming.</P>
|
||||||
<HR>
|
<HR>
|
||||||
<P><B><a name="UNUSED"></a><a href="examples_preprocessed.htm#UNUSED">EXAMPLE</a>:</B>
|
<P><B><a name="UNUSED"></a><a href="examples_preprocessed.htm#UNUSED">EXAMPLE</a>:</B>
|
||||||
Use BOOST_PREPROCESSOR_EMPTY() as an unused parameter in Local Macro instantiations</P>
|
Use BOOST_PP_EMPTY() as an unused parameter in Local Macro instantiations</P>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define BOOST_PREPROCESSOR_DEF(CV)\
|
<pre>#define BOOST_PP_DEF(CV) \
|
||||||
template<class base> \
|
template<class base> \
|
||||||
CV typename implement_subscript_using_begin_subscript<base>::value_type&\
|
CV typename implement_subscript_using_begin_subscript<base>::value_type&\
|
||||||
implement_subscript_using_begin_subscript<base>::operator[]\
|
implement_subscript_using_begin_subscript<base>::operator[]\
|
||||||
( index_type \
|
( index_type \
|
||||||
i \
|
i \
|
||||||
) CV \
|
) CV \
|
||||||
{ return base::begin()[i]; \
|
{ return base::begin()[i];\
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_PREPROCESSOR_DEF(BOOST_PREPROCESSOR_EMPTY())
|
BOOST_PP_DEF(BOOST_PP_EMPTY())
|
||||||
BOOST_PREPROCESSOR_DEF(const)
|
BOOST_PP_DEF(const)
|
||||||
#undef BOOST_PREPROCESSOR_DEF
|
#undef BOOST_PP_DEF
|
||||||
</pre>
|
</pre>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<P><B>HOW:</B> BOOST_PREPROCESSOR_EMPTY() expands to nothing and can be used as
|
<P><B>HOW:</B> BOOST_PP_EMPTY() expands to nothing and can be used as
|
||||||
an unused parameter.</P>
|
an unused parameter.</P>
|
||||||
<P><b>NOTE:</b> BOOST_PREPROCESSOR_EMPTY without the () never gets expanded. The
|
<P><b>NOTE:</b> BOOST_PP_EMPTY without the () never gets expanded. The
|
||||||
() is necessary to invoke a function-like macro.</P>
|
() is necessary to invoke a function-like macro.</P>
|
||||||
<B>CAVEAT:</B> You can not safely use concatenation while using BOOST_PREPROCESSOR_EMPTY().
|
<B>CAVEAT:</B> You can not safely use concatenation while using BOOST_PP_EMPTY().
|
||||||
<P><B>TIP:</B> Occasionally one or two lines are
|
<P><B>TIP:</B> Occasionally one or two lines are
|
||||||
considerably longer than the rest. It can often save some work to not align all
|
considerably longer than the rest. It can often save some work to not align all
|
||||||
of the line continuation operators without making the code too unreadable.</P>
|
of the line continuation operators without making the code too unreadable.</P>
|
||||||
<P><B>TIP:</B> Use syntax highlighting on preprocessor metaprogramming macro and
|
<P><B>TIP:</B> Use syntax highlighting on preprocessor metaprogramming macro and
|
||||||
parameter identifiers such as</P>
|
parameter identifiers such as</P>
|
||||||
<ul>
|
<ul>
|
||||||
<li> BOOST_PREPROCESSOR_DEF,</li>
|
<li> BOOST_PP_DEF,</li>
|
||||||
<li>BOOST_PREPROCESSOR_EMPTY,</li>
|
<li>BOOST_PP_EMPTY,</li>
|
||||||
<li> BOOST_PREPROCESSOR_REPEAT,</li>
|
<li> BOOST_PP_REPEAT,</li>
|
||||||
<li> OP,</li>
|
<li> OP,</li>
|
||||||
<li> CV,</li>
|
<li> CV,</li>
|
||||||
<li> ...</li>
|
<li> ...</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>It can greatly improve readability.</p>
|
<p>It can greatly improve readability.</p>
|
||||||
<HR>
|
<HR>
|
||||||
<P><a name="CAT"></a><a href="examples_preprocessed.htm#CAT"><B>EXAMPLE:</B></a> Use BOOST_PREPROCESSOR_CAT instead of ## when necessary</P>
|
<P><a name="CAT"></a><a href="examples_preprocessed.htm#CAT"><B>EXAMPLE:</B></a> Use BOOST_PP_CAT instead of ## when necessary</P>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define STATIC_ASSERT(EXPR)\
|
<pre>#define STATIC_ASSERT(EXPR)\
|
||||||
enum\
|
enum\
|
||||||
{ BOOST_PREPROCESSOR_CAT(static_check_,__LINE__) = (EXPR) ? 1 : -1\
|
{ BOOST_PP_CAT(static_check_,__LINE__) = (EXPR) ? 1 : -1\
|
||||||
};\
|
};\
|
||||||
typedef char\
|
typedef char\
|
||||||
BOOST_PREPROCESSOR_CAT(static_assert_,__LINE__)\
|
BOOST_PP_CAT(static_assert_,__LINE__)\
|
||||||
[ BOOST_PREPROCESSOR_CAT(static_check_,__LINE__)\
|
[ BOOST_PP_CAT(static_check_,__LINE__)\
|
||||||
]
|
]
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
@ -215,10 +215,10 @@ STATIC_ASSERT(sizeof(int) <= sizeof(long));
|
|||||||
prevents the preprocessor from performing macro expansion, therefore it
|
prevents the preprocessor from performing macro expansion, therefore it
|
||||||
is often necessary to delay token concatenation.</P>
|
is often necessary to delay token concatenation.</P>
|
||||||
<hr>
|
<hr>
|
||||||
<p><a name="STRINGIZE"></a><a href="examples_preprocessed.htm#STRINGIZE"><B>EXAMPLE:</B></a> Use BOOST_PREPROCESSOR_STRINGIZE instead of # whenever necessary</p>
|
<p><a name="STRINGIZE"></a><a href="examples_preprocessed.htm#STRINGIZE"><B>EXAMPLE:</B></a> Use BOOST_PP_STRINGIZE instead of # whenever necessary</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define NOTE(STR)\
|
<pre>#define NOTE(STR)\
|
||||||
message(__FILE__ "(" BOOST_PREPROCESSOR_STRINGIZE(__LINE__) ") : " STR)
|
message(__FILE__ "(" BOOST_PP_STRINGIZE(__LINE__) ") : " STR)
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
@ -232,19 +232,19 @@ STATIC_ASSERT(sizeof(int) <= sizeof(long));
|
|||||||
<P><B><a name="ENUM_PARAMS"></a><a href="examples_preprocessed.htm#ENUM_PARAMS">EXAMPLE</a>:</B>
|
<P><B><a name="ENUM_PARAMS"></a><a href="examples_preprocessed.htm#ENUM_PARAMS">EXAMPLE</a>:</B>
|
||||||
Use:</P>
|
Use:</P>
|
||||||
<ul>
|
<ul>
|
||||||
<li> BOOST_PREPROCESSOR_ENUM_PARAMS,</li>
|
<li> BOOST_PP_ENUM_PARAMS,</li>
|
||||||
<li> BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT,</li>
|
<li> BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT,</li>
|
||||||
<li> BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS,</li>
|
<li> BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS,</li>
|
||||||
<li> BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS, or</li>
|
<li> BOOST_PP_ENUM_SHIFTED_PARAMS, or</li>
|
||||||
<li>BOOST_PREPROCESSOR_REPEAT, and</li>
|
<li>BOOST_PP_REPEAT, and</li>
|
||||||
<li> BOOST_PREPROCESSOR_COMMA_IF</li>
|
<li> BOOST_PP_COMMA_IF</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>to avoid O(N) repetition on lists in general</p>
|
<p>to avoid O(N) repetition on lists in general</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>struct make_type_list_end;
|
<pre>struct make_type_list_end;
|
||||||
|
|
||||||
template
|
template
|
||||||
< BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT
|
< BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT
|
||||||
( MAKE_TYPE_LIST_MAX_LENGTH
|
( MAKE_TYPE_LIST_MAX_LENGTH
|
||||||
, class T
|
, class T
|
||||||
, make_type_list_end
|
, make_type_list_end
|
||||||
@ -269,7 +269,7 @@ public:
|
|||||||
< end
|
< end
|
||||||
, type_identity<end>
|
, type_identity<end>
|
||||||
, make_type_list
|
, make_type_list
|
||||||
< BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS
|
< BOOST_PP_ENUM_SHIFTED_PARAMS
|
||||||
( MAKE_TYPE_LIST_MAX_LENGTH
|
( MAKE_TYPE_LIST_MAX_LENGTH
|
||||||
, T
|
, T
|
||||||
)
|
)
|
||||||
@ -281,24 +281,24 @@ public:
|
|||||||
</pre>
|
</pre>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<P><B>HOW:</B> BOOST_PREPROCESSOR_REPEAT uses simulated recursion (pseudo code):</P>
|
<P><B>HOW:</B> BOOST_PP_REPEAT uses simulated recursion (pseudo code):</P>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define BOOST_PREPROCESSOR_REPEAT(N,M,P) BOOST_PREPROCESSOR_REPEAT##N(M,P)
|
<pre>#define BOOST_PP_REPEAT(N,M,P) BOOST_PP_REPEAT##N(M,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT0(M,P)
|
#define BOOST_PP_REPEAT0(M,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT1(M,P) M(0,P)
|
#define BOOST_PP_REPEAT1(M,P) M(0,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT2(M,P) M(0,P) M(1,P)
|
#define BOOST_PP_REPEAT2(M,P) M(0,P) M(1,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT3(M,P) BOOST_PREPROCESSOR_REPEAT2(M,P) M(2,P)
|
#define BOOST_PP_REPEAT3(M,P) BOOST_PP_REPEAT2(M,P) M(2,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT4(M,P) BOOST_PREPROCESSOR_REPEAT3(M,P) M(3,P)
|
#define BOOST_PP_REPEAT4(M,P) BOOST_PP_REPEAT3(M,P) M(3,P)
|
||||||
// ...
|
// ...
|
||||||
</pre>
|
</pre>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<P>BOOST_PREPROCESSOR_ENUM_PARAMS variations use BOOST_PREPROCESSOR_REPEAT</P>
|
<P>BOOST_PP_ENUM_PARAMS variations use BOOST_PP_REPEAT</P>
|
||||||
|
|
||||||
<P>BOOST_PREPROCESSOR_COMMA_IF(I) expands to a comma if I != 0.</P>
|
<P>BOOST_PP_COMMA_IF(I) expands to a comma if I != 0.</P>
|
||||||
|
|
||||||
<P>BOOST_PREPROCESSOR_INC(I) expands essentially to "I+1" and BOOST_PREPROCESSOR_DEC(I)
|
<P>BOOST_PP_INC(I) expands essentially to "I+1" and BOOST_PP_DEC(I)
|
||||||
expands essentially to "I-1".</P>
|
expands essentially to "I-1".</P>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
@ -318,7 +318,7 @@ enable user configuration of code repetition based on need rather than some
|
|||||||
code.</P>
|
code.</P>
|
||||||
<HR>
|
<HR>
|
||||||
<P><B><a name="Token Look-Up"></a><a href="examples_preprocessed.htm#Token Look-Up">EXAMPLE</a>:</B>
|
<P><B><a name="Token Look-Up"></a><a href="examples_preprocessed.htm#Token Look-Up">EXAMPLE</a>:</B>
|
||||||
Use BOOST_PREPROCESSOR_REPEAT and a Token Look-Up Function to eliminate categorical
|
Use BOOST_PP_REPEAT and a Token Look-Up Function to eliminate categorical
|
||||||
repetition</P>
|
repetition</P>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
@ -341,17 +341,17 @@ enable user configuration of code repetition based on need rather than some
|
|||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
#define BOOST_PREPROCESSOR_DEF(I,_)\
|
#define BOOST_PP_DEF(I,_)\
|
||||||
catch (ARITHMETIC_TYPE(I) t)\
|
catch (ARITHMETIC_TYPE(I) t)\
|
||||||
{ report_typeid(t);\
|
{ report_typeid(t);\
|
||||||
report_value(t);\
|
report_value(t);\
|
||||||
}
|
}
|
||||||
BOOST_PREPROCESSOR_REPEAT
|
BOOST_PP_REPEAT
|
||||||
( ARITHMETIC_TYPE_CNT
|
( ARITHMETIC_TYPE_CNT
|
||||||
, BOOST_PREPROCESSOR_DEF
|
, BOOST_PP_DEF
|
||||||
, _
|
, _
|
||||||
)
|
)
|
||||||
#undef BOOST_PREPROCESSOR_DEF
|
#undef BOOST_PP_DEF
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
</pre>
|
</pre>
|
||||||
@ -363,7 +363,7 @@ categorical repetition of operator tokens can not be completely eliminated by
|
|||||||
using template metaprogramming.</P>
|
using template metaprogramming.</P>
|
||||||
<HR>
|
<HR>
|
||||||
<P><B><a name="2ND_REPEAT"></a><a href="examples_preprocessed.htm#2ND_REPEAT">EXAMPLE</a>:</B>
|
<P><B><a name="2ND_REPEAT"></a><a href="examples_preprocessed.htm#2ND_REPEAT">EXAMPLE</a>:</B>
|
||||||
Use BOOST_PREPROCESSOR_REPEAT_2ND to avoid O(N*N) repetition</P>
|
Use BOOST_PP_REPEAT_2ND to avoid O(N*N) repetition</P>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#ifndef MAX_VEC_ARG_CNT
|
<pre>#ifndef MAX_VEC_ARG_CNT
|
||||||
@ -372,16 +372,16 @@ using template metaprogramming.</P>
|
|||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
#define ARG_FUN(I,_) BOOST_PREPROCESSOR_COMMA_IF(I) T a##I
|
#define ARG_FUN(I,_) BOOST_PP_COMMA_IF(I) T a##I
|
||||||
#define ASSIGN_FUN(I,_) (*this)[I] = a##I;
|
#define ASSIGN_FUN(I,_) (*this)[I] = a##I;
|
||||||
|
|
||||||
#define DEF_VEC_CTOR_FUN(I,_)\
|
#define DEF_VEC_CTOR_FUN(I,_)\
|
||||||
vec( BOOST_PREPROCESSOR_REPEAT(I,ARG_FUN,_) )\
|
vec( BOOST_PP_REPEAT(I,ARG_FUN,_) )\
|
||||||
{ BOOST_PREPROCESSOR_REPEAT(I,ASSIGN_FUN,_)\
|
{ BOOST_PP_REPEAT(I,ASSIGN_FUN,_)\
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_PREPROCESSOR_REPEAT_2ND
|
BOOST_PP_REPEAT_2ND
|
||||||
( BOOST_PREPROCESSOR_INC(MAX_VEC_ARG_CNT)
|
( BOOST_PP_INC(MAX_VEC_ARG_CNT)
|
||||||
, DEF_VEC_CTOR_FUN
|
, DEF_VEC_CTOR_FUN
|
||||||
, _
|
, _
|
||||||
)
|
)
|
||||||
@ -395,46 +395,47 @@ BOOST_PREPROCESSOR_REPEAT_2ND
|
|||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
|
|
||||||
<P><B>HOW:</B> BOOST_PREPROCESSOR_REPEAT_2ND is implemented separately, so it
|
<P><B>HOW:</B> BOOST_PP_REPEAT_2ND is implemented separately, so it
|
||||||
is possible to combine BOOST_PREPROCESSOR_REPEAT and BOOST_PREPROCESSOR_REPEAT_2ND.</P>
|
is possible to combine BOOST_PP_REPEAT and BOOST_PP_REPEAT_2ND.</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<P><a name="IF"></a><a href="examples_preprocessed.htm#IF"><B>EXAMPLE:</B></a> Use BOOST_PREPROCESSOR_IF to implement special case for the first element</P>
|
<P><a name="IF"></a><a href="examples_preprocessed.htm#IF"><B>EXAMPLE:</B></a> Use BOOST_PP_IF to implement special case for the first element</P>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define BOOST_PREPROCESSOR_COMMA_IF(C)\
|
<pre>#define BOOST_PP_COMMA_IF(C)\
|
||||||
BOOST_PREPROCESSOR_IF(C,BOOST_PREPROCESSOR_COMMA,BOOST_PREPROCESSOR_EMPTY)()
|
BOOST_PP_IF(C,BOOST_PP_COMMA,BOOST_PP_EMPTY)()
|
||||||
|
|
||||||
BOOST_PREPROCESSOR_IF(0,true,false) == false;
|
BOOST_PP_IF(0,true,false) == false;
|
||||||
BOOST_PREPROCESSOR_IF(1,true,false) == true;
|
BOOST_PP_IF(1,true,false) == true;
|
||||||
</pre>
|
</pre>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<P>BOOST_PREPROCESSOR_IF enables convenient generation of lists using BOOST_PREPROCESSOR_REPEAT.</P>
|
<P>BOOST_PP_IF enables convenient generation of lists using BOOST_PP_REPEAT.</P>
|
||||||
|
|
||||||
<P><B>NOTE:</B> THEN and ELSE don't have to be macros. However, if at least one
|
<P><B>NOTE:</B> THEN and ELSE don't have to be macros. However, if at least one
|
||||||
of them is a function-like macro and you want it to be expanded conditionally,
|
of them is a function-like macro and you want it to be expanded conditionally,
|
||||||
you have to make the other parameter a function-like macro, too. This can often
|
you have to make the other parameter a function-like macro, too. This can often
|
||||||
be done using BOOST_PREPROCESSOR_IDENTITY. Consider the following example (by
|
be done using BOOST_PP_IDENTITY. Consider the following example (by
|
||||||
Aleksey Gurtovoy):</P>
|
Aleksey Gurtovoy):</P>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define NUMBERED_EXPRESSION(I,X) \
|
<pre>#define NUMBERED_EXPRESSION(I,X)\
|
||||||
BOOST_PREPROCESSOR_IF \
|
BOOST_PP_IF \
|
||||||
( I \
|
( I \
|
||||||
, BOOST_PREPROCESSOR_IDENTITY(X##I)\
|
, BOOST_PP_IDENTITY(X##I) \
|
||||||
, BOOST_PREPROCESSOR_EMPTY \
|
, BOOST_PP_EMPTY \
|
||||||
)()</pre></blockquote>
|
)()</pre>
|
||||||
|
</blockquote>
|
||||||
<P><b>NOTE:</b> Like in the above implementation of COMMA_IF, the result of IF
|
<P><b>NOTE:</b> Like in the above implementation of COMMA_IF, the result of IF
|
||||||
is often invoked and not the THEN and ELSE parameters. If the parameters were
|
is often invoked and not the THEN and ELSE parameters. If the parameters were
|
||||||
invoked, the code would not expand correctly, because the EMPTY parameter would
|
invoked, the code would not expand correctly, because the EMPTY parameter would
|
||||||
get expanded to nothing before the IF would be properly expanded.</P>
|
get expanded to nothing before the IF would be properly expanded.</P>
|
||||||
<P><b>HOW:</b> BOOST_PREPROCESSOR_IF is defined for the entire repeat range (pseudo
|
<P><b>HOW:</b> BOOST_PP_IF is defined for the entire repeat range (pseudo
|
||||||
code):</P>
|
code):</P>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define BOOST_PREPROCESSOR_IF(C,THEN,ELSE) BOOST_PREPROCESSOR_IF##C(THEN,ELSE)
|
<pre>#define BOOST_PP_IF(C,THEN,ELSE) BOOST_PP_IF##C(THEN,ELSE)
|
||||||
#define BOOST_PREPROCESSOR_IF0(THEN,ELSE) ELSE
|
#define BOOST_PP_IF0(THEN,ELSE) ELSE
|
||||||
#define BOOST_PREPROCESSOR_IF1(THEN,ELSE) THEN
|
#define BOOST_PP_IF1(THEN,ELSE) THEN
|
||||||
#define BOOST_PREPROCESSOR_IF2(THEN,ELSE) THEN
|
#define BOOST_PP_IF2(THEN,ELSE) THEN
|
||||||
// ...
|
// ...
|
||||||
</pre>
|
</pre>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
@ -444,25 +445,25 @@ BOOST_PREPROCESSOR_IF(1,true,false) == true;
|
|||||||
<p><a name="Arithmetic"></a><a href="examples_preprocessed.htm#Arithmetic"><B>EXAMPLE:</B></a> Use arithmetic, logical and comparison operations when necessary</p>
|
<p><a name="Arithmetic"></a><a href="examples_preprocessed.htm#Arithmetic"><B>EXAMPLE:</B></a> Use arithmetic, logical and comparison operations when necessary</p>
|
||||||
|
|
||||||
<P>The PREPROCESSOR library supports saturated arithmetic, logical and
|
<P>The PREPROCESSOR library supports saturated arithmetic, logical and
|
||||||
comparison operations on decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG].</p>
|
comparison operations on decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG].</p>
|
||||||
|
|
||||||
<p>Suppose that you want to generate a numbered lists with a special element inserted
|
<p>Suppose that you want to generate a numbered lists with a special element inserted
|
||||||
at a desired position. For example: E0, E1, S, E2. Consider the following example:</p>
|
at a desired position. For example: E0, E1, S, E2. Consider the following example:</p>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define SPECIAL_NUMBERED_LIST(N,I,ELEM,SPECIAL)\
|
<pre>#define SPECIAL_NUMBERED_LIST(N,I,ELEM,SPECIAL)\
|
||||||
BOOST_PREPROCESSOR_ASSERT_MSG(BOOST_PREPROCESSOR_LESS(I,N),BAD PARAMS FOR SPECIAL_NUMBERED_LIST!)\
|
BOOST_PP_ASSERT_MSG(BOOST_PP_LESS(I,N),BAD PARAMS FOR SPECIAL_NUMBERED_LIST!)\
|
||||||
BOOST_PREPROCESSOR_ENUM_PARAMS(I,ELEM)\
|
BOOST_PP_ENUM_PARAMS(I,ELEM)\
|
||||||
BOOST_PREPROCESSOR_COMMA_IF(I) SPECIAL\
|
BOOST_PP_COMMA_IF(I) SPECIAL\
|
||||||
BOOST_PREPROCESSOR_REPEAT(BOOST_PREPROCESSOR_SUB(\
|
BOOST_PP_REPEAT(BOOST_PP_SUB(\
|
||||||
BOOST_PREPROCESSOR_DEC(N),I),SPECIAL_NUMBERED_LIST_HELPER,(ELEM,I))
|
BOOST_PP_DEC(N),I),SPECIAL_NUMBERED_LIST_HELPER,(ELEM,I))
|
||||||
#define SPECIAL_NUMBERED_LIST_HELPER(I,ELEM_BASE)\
|
#define SPECIAL_NUMBERED_LIST_HELPER(I,ELEM_BASE)\
|
||||||
,\
|
,\
|
||||||
BOOST_PREPROCESSOR_CAT\
|
BOOST_PP_CAT\
|
||||||
( BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,ELEM_BASE)\
|
( BOOST_PP_TUPLE_ELEM(2,0,ELEM_BASE)\
|
||||||
, BOOST_PREPROCESSOR_ADD\
|
, BOOST_PP_ADD\
|
||||||
( I\
|
( I\
|
||||||
, BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,ELEM_BASE)\
|
, BOOST_PP_TUPLE_ELEM(2,1,ELEM_BASE)\
|
||||||
)\
|
)\
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -15,21 +15,11 @@
|
|||||||
/*! \file
|
/*! \file
|
||||||
|
|
||||||
<a href="../../../../boost/preprocessor/arithmetic.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic.hpp">Click here to see the header.</a>
|
||||||
|
|
||||||
|
Includes all arithmetic headers.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
|
#include <boost/preprocessor/arithmetic/div.hpp>
|
||||||
# include <boost/preprocessor/arithmetic/add.hpp>
|
#include <boost/preprocessor/arithmetic/mod.hpp>
|
||||||
#endif
|
#include <boost/preprocessor/arithmetic/mul.hpp>
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
|
|
||||||
# include <boost/preprocessor/arithmetic/div.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
|
|
||||||
# include <boost/preprocessor/arithmetic/mod.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
|
|
||||||
# include <boost/preprocessor/arithmetic/mul.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
|
|
||||||
# include <boost/preprocessor/arithmetic/sub.hpp>
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,22 +17,23 @@
|
|||||||
<a href="../../../../boost/preprocessor/arithmetic/add.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic/add.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_INC_HPP
|
#include <boost/preprocessor/dec.hpp>
|
||||||
# include <boost/preprocessor/inc.hpp>
|
#include <boost/preprocessor/inc.hpp>
|
||||||
#endif
|
#include <boost/preprocessor/tuple.hpp>
|
||||||
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
|
#include <boost/preprocessor/while.hpp>
|
||||||
# include <boost/preprocessor/tuple.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
|
|
||||||
# include <boost/preprocessor/while.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the sum of X and Y.
|
//! Expands to the sum of X and Y.
|
||||||
#define BOOST_PREPROCESSOR_ADD(X,Y) BOOST_PREPROCESSOR_ADD_I(0,X,Y)
|
/*!
|
||||||
|
For example, BOOST_PP_ADD(4,3) expands to 7 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_ADD(X,Y) BOOST_PP_ADD_D(0,X,Y)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_ADD_I(I,X,Y) BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,BOOST_PREPROCESSOR_WHILE##I(BOOST_PREPROCESSOR_ADD_C,BOOST_PREPROCESSOR_ADD_F,(X,Y)))
|
#define BOOST_PP_ADD_D(D,X,Y) BOOST_PP_TUPLE_ELEM(2,0,BOOST_PP_WHILE##D(BOOST_PP_ADD_C,BOOST_PP_ADD_F,(X,Y)))
|
||||||
#define BOOST_PREPROCESSOR_ADD_C(I,P) BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P)
|
#define BOOST_PP_ADD_C(D,P) BOOST_PP_TUPLE_ELEM(2,1,P)
|
||||||
#define BOOST_PREPROCESSOR_ADD_F(I,P) (BOOST_PREPROCESSOR_INC(BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,P)),BOOST_PREPROCESSOR_DEC(BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P)))
|
#define BOOST_PP_ADD_F(D,P) (BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(2,0,P)),BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(2,1,P)))
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_ADD().
|
||||||
|
#define BOOST_PREPROCESSOR_ADD(X,Y) BOOST_PP_ADD(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,28 +17,21 @@
|
|||||||
<a href="../../../../boost/preprocessor/arithmetic/div.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic/div.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
|
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||||
# include <boost/preprocessor/arithmetic/sub.hpp>
|
#include <boost/preprocessor/inc.hpp>
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
|
|
||||||
# include <boost/preprocessor/comparison/less_equal.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_INC_HPP
|
|
||||||
# include <boost/preprocessor/inc.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
|
|
||||||
# include <boost/preprocessor/tuple.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
|
|
||||||
# include <boost/preprocessor/while.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the quotient of X and Y.
|
//! Expands to the quotient of X and Y.
|
||||||
#define BOOST_PREPROCESSOR_DIV(X,Y) BOOST_PREPROCESSOR_DIV_I(0,X,Y)
|
/*!
|
||||||
|
For example, BOOST_PP_DIV(4,3) expands to 1 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_DIV(X,Y) BOOST_PP_DIV_D(0,X,Y)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_DIV_I(I,X,Y) BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,BOOST_PREPROCESSOR_WHILE##I(BOOST_PREPROCESSOR_DIV_C,BOOST_PREPROCESSOR_DIV_F,(0,X,Y)))
|
#define BOOST_PP_DIV_D(D,X,Y) BOOST_PP_TUPLE_ELEM(3,0,BOOST_PP_WHILE##D(BOOST_PP_DIV_C,BOOST_PP_DIV_F,(0,X,Y)))
|
||||||
#define BOOST_PREPROCESSOR_DIV_C(I,P) BOOST_PREPROCESSOR_LESS_EQUAL_I(I,BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P),BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P))
|
#define BOOST_PP_DIV_C(D,P) BOOST_PP_LESS_EQUAL_D(D,BOOST_PP_TUPLE_ELEM(3,2,P),BOOST_PP_TUPLE_ELEM(3,1,P))
|
||||||
#define BOOST_PREPROCESSOR_DIV_F(I,P) (BOOST_PREPROCESSOR_INC(BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,P)),BOOST_PREPROCESSOR_SUB_I(I,BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P),BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P)),BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P))
|
#define BOOST_PP_DIV_F(D,P) (BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3,0,P)),BOOST_PP_SUB_D(D,BOOST_PP_TUPLE_ELEM(3,1,P),BOOST_PP_TUPLE_ELEM(3,2,P)),BOOST_PP_TUPLE_ELEM(3,2,P))
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_DIV().
|
||||||
|
#define BOOST_PREPROCESSOR_DIV(X,Y) BOOST_PP_DIV(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,25 +17,20 @@
|
|||||||
<a href="../../../../boost/preprocessor/arithmetic/mod.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic/mod.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
|
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||||
# include <boost/preprocessor/arithmetic/sub.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
|
|
||||||
# include <boost/preprocessor/comparison/less_equal.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
|
|
||||||
# include <boost/preprocessor/tuple.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
|
|
||||||
# include <boost/preprocessor/while.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the remainder of X and Y.
|
//! Expands to the remainder of X and Y.
|
||||||
#define BOOST_PREPROCESSOR_MOD(X,Y) BOOST_PREPROCESSOR_MOD_I(0,X,Y)
|
/*!
|
||||||
|
For example, BOOST_PP_MOD(4,3) expands to 1 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_MOD(X,Y) BOOST_PP_MOD_D(0,X,Y)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_MOD_I(I,X,Y) BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,BOOST_PREPROCESSOR_WHILE##I(BOOST_PREPROCESSOR_MOD_C,BOOST_PREPROCESSOR_MOD_F,(X,Y)))
|
#define BOOST_PP_MOD_D(D,X,Y) BOOST_PP_TUPLE_ELEM(2,0,BOOST_PP_WHILE##D(BOOST_PP_MOD_C,BOOST_PP_MOD_F,(X,Y)))
|
||||||
#define BOOST_PREPROCESSOR_MOD_C(I,P) BOOST_PREPROCESSOR_LESS_EQUAL_I(I,BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P),BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,P))
|
#define BOOST_PP_MOD_C(D,P) BOOST_PP_LESS_EQUAL_D(D,BOOST_PP_TUPLE_ELEM(2,1,P),BOOST_PP_TUPLE_ELEM(2,0,P))
|
||||||
#define BOOST_PREPROCESSOR_MOD_F(I,P) (BOOST_PREPROCESSOR_SUB_I(I,BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,P),BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P)),BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P))
|
#define BOOST_PP_MOD_F(D,P) (BOOST_PP_SUB_D(D,BOOST_PP_TUPLE_ELEM(2,0,P),BOOST_PP_TUPLE_ELEM(2,1,P)),BOOST_PP_TUPLE_ELEM(2,1,P))
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_MOD().
|
||||||
|
#define BOOST_PREPROCESSOR_MOD(X,Y) BOOST_PP_MOD(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,22 +17,20 @@
|
|||||||
<a href="../../../../boost/preprocessor/arithmetic/mul.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic/mul.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
|
#include <boost/preprocessor/arithmetic/add.hpp>
|
||||||
# include <boost/preprocessor/arithmetic/add.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
|
|
||||||
# include <boost/preprocessor/tuple.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
|
|
||||||
# include <boost/preprocessor/while.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the product of X and Y.
|
//! Expands to the product of X and Y.
|
||||||
#define BOOST_PREPROCESSOR_MUL(X,Y) BOOST_PREPROCESSOR_MUL_I(0,X,Y)
|
/*!
|
||||||
|
For example, BOOST_PP_MUL(4,3) expands to 12 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_MUL(X,Y) BOOST_PP_MUL_D(0,X,Y)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_MUL_I(I,X,Y) BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,BOOST_PREPROCESSOR_WHILE##I(BOOST_PREPROCESSOR_MUL_C,BOOST_PREPROCESSOR_MUL_F,(0,X,Y)))
|
#define BOOST_PP_MUL_D(D,X,Y) BOOST_PP_TUPLE_ELEM(3,0,BOOST_PP_WHILE##D(BOOST_PP_MUL_C,BOOST_PP_MUL_F,(0,X,Y)))
|
||||||
#define BOOST_PREPROCESSOR_MUL_C(I,P) BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P)
|
#define BOOST_PP_MUL_C(D,P) BOOST_PP_TUPLE_ELEM(3,2,P)
|
||||||
#define BOOST_PREPROCESSOR_MUL_F(I,P) (BOOST_PREPROCESSOR_ADD_I(I,BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,P),BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P)),BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P),BOOST_PREPROCESSOR_DEC(BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P)))
|
#define BOOST_PP_MUL_F(D,P) (BOOST_PP_ADD_D(D,BOOST_PP_TUPLE_ELEM(3,0,P),BOOST_PP_TUPLE_ELEM(3,1,P)),BOOST_PP_TUPLE_ELEM(3,1,P),BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(3,2,P)))
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_MUL().
|
||||||
|
#define BOOST_PREPROCESSOR_MUL(X,Y) BOOST_PP_MUL(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,22 +17,22 @@
|
|||||||
<a href="../../../../boost/preprocessor/arithmetic/sub.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/arithmetic/sub.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_DEC_HPP
|
#include <boost/preprocessor/dec.hpp>
|
||||||
# include <boost/preprocessor/dec.hpp>
|
#include <boost/preprocessor/tuple.hpp>
|
||||||
#endif
|
#include <boost/preprocessor/while.hpp>
|
||||||
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
|
|
||||||
# include <boost/preprocessor/tuple.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
|
|
||||||
# include <boost/preprocessor/while.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the difference of X and Y.
|
//! Expands to the difference of X and Y.
|
||||||
#define BOOST_PREPROCESSOR_SUB(X,Y) BOOST_PREPROCESSOR_SUB_I(0,X,Y)
|
/*!
|
||||||
|
For example, BOOST_PP_SUB(4,3) expands to 1 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_SUB(X,Y) BOOST_PP_SUB_D(0,X,Y)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_SUB_I(I,X,Y) BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,BOOST_PREPROCESSOR_WHILE##I(BOOST_PREPROCESSOR_SUB_C,BOOST_PREPROCESSOR_SUB_F,(X,Y)))
|
#define BOOST_PP_SUB_D(D,X,Y) BOOST_PP_TUPLE_ELEM(2,0,BOOST_PP_WHILE##D(BOOST_PP_SUB_C,BOOST_PP_SUB_F,(X,Y)))
|
||||||
#define BOOST_PREPROCESSOR_SUB_C(I,P) BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P)
|
#define BOOST_PP_SUB_C(D,P) BOOST_PP_TUPLE_ELEM(2,1,P)
|
||||||
#define BOOST_PREPROCESSOR_SUB_F(I,P) (BOOST_PREPROCESSOR_DEC(BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,P)),BOOST_PREPROCESSOR_DEC(BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P)))
|
#define BOOST_PP_SUB_F(D,P) (BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(2,0,P)),BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(2,1,P)))
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_SUB(X,Y).
|
||||||
|
#define BOOST_PREPROCESSOR_SUB(X,Y) BOOST_PP_SUB(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,16 +17,12 @@
|
|||||||
<a href="../../../../boost/preprocessor/assert_msg.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/assert_msg.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_EMPTY_HPP
|
#include <boost/preprocessor/identity.hpp>
|
||||||
# include <boost/preprocessor/empty.hpp>
|
#include <boost/preprocessor/if.hpp>
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
|
|
||||||
# include <boost/preprocessor/identity.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_IF_HPP
|
|
||||||
# include <boost/preprocessor/if.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to nothing if C != 0 and to MSG if C == 0.
|
//! Expands to nothing if C != 0 and to MSG if C == 0.
|
||||||
#define BOOST_PREPROCESSOR_ASSERT_MSG(C,MSG) BOOST_PREPROCESSOR_IF(C,BOOST_PREPROCESSOR_EMPTY,BOOST_PREPROCESSOR_IDENTITY(MSG))()
|
#define BOOST_PP_ASSERT_MSG(C,MSG) BOOST_PP_IF(C,BOOST_PP_EMPTY,BOOST_PP_IDENTITY(MSG))()
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_ASSERT_MSG().
|
||||||
|
#define BOOST_PREPROCESSOR_ASSERT_MSG(C,MSG) BOOST_PP_ASSERT_MSG(C,MSG)
|
||||||
#endif
|
#endif
|
||||||
|
@ -24,11 +24,11 @@ Example:
|
|||||||
<PRE>\verbatim
|
<PRE>\verbatim
|
||||||
#define STATIC_ASSERT(EXPR)\
|
#define STATIC_ASSERT(EXPR)\
|
||||||
enum\
|
enum\
|
||||||
{ BOOST_PREPROCESSOR_CAT(static_check_,__LINE__) = (EXPR) ? 1 : -1\
|
{ BOOST_PP_CAT(static_check_,__LINE__) = (EXPR) ? 1 : -1\
|
||||||
};\
|
};\
|
||||||
typedef char\
|
typedef char\
|
||||||
BOOST_PREPROCESSOR_CAT(static_assert_,__LINE__)\
|
BOOST_PP_CAT(static_assert_,__LINE__)\
|
||||||
[ BOOST_PREPROCESSOR_CAT(static_check_,__LINE__)\
|
[ BOOST_PP_CAT(static_check_,__LINE__)\
|
||||||
]
|
]
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
@ -48,7 +48,7 @@ The above expands to:
|
|||||||
];
|
];
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
Using BOOST_PREPROCESSOR_CAT() above lets the preprocessor expand the __LINE__.
|
Using BOOST_PP_CAT() above lets the PP expand the __LINE__.
|
||||||
If the above code would use the ## operator directly then __LINE__ would not be
|
If the above code would use the ## operator directly then __LINE__ would not be
|
||||||
expanded and the above would expand to:
|
expanded and the above would expand to:
|
||||||
|
|
||||||
@ -62,9 +62,12 @@ expanded and the above would expand to:
|
|||||||
];
|
];
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_CAT(L,R) BOOST_PREPROCESSOR_CAT_DELAY(L,R)
|
#define BOOST_PP_CAT(L,R) BOOST_PP_CAT_DELAY(L,R)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_CAT_DELAY(L,R) L##R
|
#define BOOST_PP_CAT_DELAY(L,R) L##R
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_CAT().
|
||||||
|
#define BOOST_PREPROCESSOR_CAT(L,R) BOOST_PP_CAT(L,R)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,9 +17,12 @@
|
|||||||
<a href="../../../../boost/preprocessor/comma.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comma.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! Expands to a comma. Can be used with BOOST_PREPROCESSOR_IF().
|
//! Expands to a comma. Can be used with BOOST_PP_IF().
|
||||||
/*!
|
/*!
|
||||||
See BOOST_PREPROCESSOR_COMMA_IF().
|
See BOOST_PP_COMMA_IF().
|
||||||
*/
|
*/
|
||||||
|
#define BOOST_PP_COMMA() ,
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_COMMA().
|
||||||
#define BOOST_PREPROCESSOR_COMMA() ,
|
#define BOOST_PREPROCESSOR_COMMA() ,
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,16 +17,13 @@
|
|||||||
<a href="../../../../boost/preprocessor/comma_if.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comma_if.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMMA_HPP
|
#include <boost/preprocessor/comma.hpp>
|
||||||
# include <boost/preprocessor/comma.hpp>
|
#include <boost/preprocessor/empty.hpp>
|
||||||
#endif
|
#include <boost/preprocessor/if.hpp>
|
||||||
#ifndef BOOST_PREPROCESSOR_EMPTY_HPP
|
|
||||||
# include <boost/preprocessor/empty.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_IF_HPP
|
|
||||||
# include <boost/preprocessor/if.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to a comma if C != 0 and nothing if C == 0.
|
//! Expands to a comma if C != 0 and nothing if C == 0.
|
||||||
#define BOOST_PREPROCESSOR_COMMA_IF(C) BOOST_PREPROCESSOR_IF(C,BOOST_PREPROCESSOR_COMMA,BOOST_PREPROCESSOR_EMPTY)()
|
#define BOOST_PP_COMMA_IF(C) BOOST_PP_IF(C,BOOST_PP_COMMA,BOOST_PP_EMPTY)()
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_COMMA_IF().
|
||||||
|
#define BOOST_PREPROCESSOR_COMMA_IF(C) BOOST_PP_COMMA_IF(C)
|
||||||
#endif
|
#endif
|
||||||
|
@ -15,24 +15,11 @@
|
|||||||
/*! \file
|
/*! \file
|
||||||
|
|
||||||
<a href="../../../../boost/preprocessor/comparison.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison.hpp">Click here to see the header.</a>
|
||||||
|
|
||||||
|
Includes all comparison headers.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
|
#include <boost/preprocessor/comparison/equal.hpp>
|
||||||
# include <boost/preprocessor/comparison/equal.hpp>
|
#include <boost/preprocessor/comparison/greater.hpp>
|
||||||
#endif
|
#include <boost/preprocessor/comparison/greater_equal.hpp>
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
|
|
||||||
# include <boost/preprocessor/comparison/greater.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
|
|
||||||
# include <boost/preprocessor/comparison/greater_equal.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
|
|
||||||
# include <boost/preprocessor/comparison/less.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
|
|
||||||
# include <boost/preprocessor/comparison/less_equal.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
|
|
||||||
# include <boost/preprocessor/comparison/not_equal.hpp>
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,16 +17,16 @@
|
|||||||
<a href="../../../../boost/preprocessor/comparison/equal.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/equal.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
|
#include <boost/preprocessor/comparison/not_equal.hpp>
|
||||||
# include <boost/preprocessor/arithmetic/add.hpp>
|
#include <boost/preprocessor/logical/not.hpp>
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
|
|
||||||
# include <boost/preprocessor/arithmetic/sub.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
|
|
||||||
# include <boost/preprocessor/logical/not.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to 1 if X==Y and 0 otherwise.
|
//! Expands to 1 if X==Y and 0 otherwise.
|
||||||
#define BOOST_PREPROCESSOR_EQUAL(X,Y) BOOST_PREPROCESSOR_NOT(BOOST_PREPROCESSOR_ADD(BOOST_PREPROCESSOR_SUB(X,Y),BOOST_PREPROCESSOR_SUB(Y,X)))
|
#define BOOST_PP_EQUAL(X,Y) BOOST_PP_EQUAL_D(0,X,Y)
|
||||||
|
|
||||||
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
|
#define BOOST_PP_EQUAL_D(D,X,Y) BOOST_PP_NOT(BOOST_PP_NOT_EQUAL_D(D,X,Y))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_EQUAL().
|
||||||
|
#define BOOST_PREPROCESSOR_EQUAL(X,Y) BOOST_PP_EQUAL(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,10 +17,15 @@
|
|||||||
<a href="../../../../boost/preprocessor/comparison/greater.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/greater.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
|
#include <boost/preprocessor/comparison/less.hpp>
|
||||||
# include <boost/preprocessor/comparison/less.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to 1 if X>Y and 0 otherwise.
|
//! Expands to 1 if X>Y and 0 otherwise.
|
||||||
#define BOOST_PREPROCESSOR_GREATER(X,Y) BOOST_PREPROCESSOR_LESS(Y,X)
|
#define BOOST_PP_GREATER(X,Y) BOOST_PP_GREATER_D(0,X,Y)
|
||||||
|
|
||||||
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
|
#define BOOST_PP_GREATER_D(D,X,Y) BOOST_PP_LESS_D(D,Y,X)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_GREATER().
|
||||||
|
#define BOOST_PREPROCESSOR_GREATER(X,Y) BOOST_PP_GREATER(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,10 +17,15 @@
|
|||||||
<a href="../../../../boost/preprocessor/comparison/greater_equal.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/greater_equal.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
|
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||||
# include <boost/preprocessor/comparison/less_equal.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to 1 if X>=Y and 0 otherwise.
|
//! Expands to 1 if X>=Y and 0 otherwise.
|
||||||
#define BOOST_PREPROCESSOR_GREATER_EQUAL(X,Y) BOOST_PREPROCESSOR_LESS_EQUAL(Y,X)
|
#define BOOST_PP_GREATER_EQUAL(X,Y) BOOST_PP_GREATER_EQUAL_D(0,X,Y)
|
||||||
|
|
||||||
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
|
#define BOOST_PP_GREATER_EQUAL_D(D,X,Y) BOOST_PP_LESS_EQUAL_D(D,Y,X)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_GREATER_EQUAL().
|
||||||
|
#define BOOST_PREPROCESSOR_GREATER_EQUAL(X,Y) BOOST_PP_GREATER_EQUAL(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,16 +17,17 @@
|
|||||||
<a href="../../../../boost/preprocessor/comparison/less.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/less.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
|
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||||
# include <boost/preprocessor/comparison/equal.hpp>
|
#include <boost/preprocessor/comparison/not_equal.hpp>
|
||||||
#endif
|
#include <boost/preprocessor/logical/and.hpp>
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
|
|
||||||
# include <boost/preprocessor/comparison/less_equal.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_IF_HPP
|
|
||||||
# include <boost/preprocessor/if.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to 1 if X<Y and 0 otherwise.
|
//! Expands to 1 if X<Y and 0 otherwise.
|
||||||
#define BOOST_PREPROCESSOR_LESS(X,Y) BOOST_PREPROCESSOR_IF(BOOST_PREPROCESSOR_EQUAL(X,Y),0,BOOST_PREPROCESSOR_LESS_EQUAL(X,Y))
|
#define BOOST_PP_LESS(X,Y) BOOST_PP_LESS_D(0,X,Y)
|
||||||
|
|
||||||
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
|
#define BOOST_PP_LESS_D(D,X,Y) BOOST_PP_AND(BOOST_PP_NOT_EQUAL_D(D,X,Y),BOOST_PP_LESS_EQUAL_D(D,X,Y))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_LESS().
|
||||||
|
#define BOOST_PREPROCESSOR_LESS(X,Y) BOOST_PP_LESS(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,17 +17,16 @@
|
|||||||
<a href="../../../../boost/preprocessor/comparison/less_equal.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/less_equal.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
|
#include <boost/preprocessor/arithmetic/sub.hpp>
|
||||||
# include <boost/preprocessor/arithmetic/sub.hpp>
|
#include <boost/preprocessor/logical/not.hpp>
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
|
|
||||||
# include <boost/preprocessor/logical/not.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to 1 if X<=Y and 0 otherwise.
|
//! Expands to 1 if X<=Y and 0 otherwise.
|
||||||
#define BOOST_PREPROCESSOR_LESS_EQUAL(X,Y) BOOST_PREPROCESSOR_LESS_EQUAL_I(0,X,Y)
|
#define BOOST_PP_LESS_EQUAL(X,Y) BOOST_PP_LESS_EQUAL_D(0,X,Y)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_LESS_EQUAL_I(I,X,Y) BOOST_PREPROCESSOR_NOT(BOOST_PREPROCESSOR_SUB_I(I,X,Y))
|
#define BOOST_PP_LESS_EQUAL_D(D,X,Y) BOOST_PP_NOT(BOOST_PP_SUB_D(D,X,Y))
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_LESS_EQUAL().
|
||||||
|
#define BOOST_PREPROCESSOR_LESS_EQUAL(X,Y) BOOST_PP_LESS_EQUAL(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,16 +17,17 @@
|
|||||||
<a href="../../../../boost/preprocessor/comparison/not_equal.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/comparison/not_equal.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
|
#include <boost/preprocessor/arithmetic/add.hpp>
|
||||||
# include <boost/preprocessor/arithmetic/add.hpp>
|
#include <boost/preprocessor/arithmetic/sub.hpp>
|
||||||
#endif
|
#include <boost/preprocessor/logical/bool.hpp>
|
||||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
|
|
||||||
# include <boost/preprocessor/arithmetic/sub.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
|
|
||||||
# include <boost/preprocessor/logical/bool.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to 1 if X!=Y and 0 otherwise.
|
//! Expands to 1 if X!=Y and 0 otherwise.
|
||||||
#define BOOST_PREPROCESSOR_NOT_EQUAL(X,Y) BOOST_PREPROCESSOR_BOOL(BOOST_PREPROCESSOR_ADD(BOOST_PREPROCESSOR_SUB(X,Y),BOOST_PREPROCESSOR_SUB(Y,X)))
|
#define BOOST_PP_NOT_EQUAL(X,Y) BOOST_PP_NOT_EQUAL_D(0,X,Y)
|
||||||
|
|
||||||
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
|
#define BOOST_PP_NOT_EQUAL_D(D,X,Y) BOOST_PP_BOOL(BOOST_PP_ADD_D(D,BOOST_PP_SUB_D(D,X,Y),BOOST_PP_SUB_D(D,Y,X)))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_NOT_EQUAL().
|
||||||
|
#define BOOST_PREPROCESSOR_NOT_EQUAL(X,Y) BOOST_PP_NOT_EQUAL(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -19,143 +19,148 @@
|
|||||||
|
|
||||||
//! Decrements X expanding to a single token.
|
//! Decrements X expanding to a single token.
|
||||||
/*!
|
/*!
|
||||||
BOOST_PREPROCESSOR_DEC() uses saturation arithmetic. Decrementing 0 yeilds a 0.
|
For example, BOOST_PP_DEC(3) expands to 2 (a single token).
|
||||||
|
|
||||||
Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG] are
|
BOOST_PP_DEC() uses saturation arithmetic. Decrementing 0 yeilds a 0.
|
||||||
|
|
||||||
|
Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are
|
||||||
supported.
|
supported.
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_DEC(X) BOOST_PREPROCESSOR_DEC_DELAY(X)
|
#define BOOST_PP_DEC(X) BOOST_PP_DEC_DELAY(X)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_DEC_DELAY(X) BOOST_PREPROCESSOR_DEC##X
|
#define BOOST_PP_DEC_DELAY(X) BOOST_PP_DEC##X
|
||||||
#define BOOST_PREPROCESSOR_DEC0 0
|
#define BOOST_PP_DEC0 0
|
||||||
#define BOOST_PREPROCESSOR_DEC1 0
|
#define BOOST_PP_DEC1 0
|
||||||
#define BOOST_PREPROCESSOR_DEC2 1
|
#define BOOST_PP_DEC2 1
|
||||||
#define BOOST_PREPROCESSOR_DEC3 2
|
#define BOOST_PP_DEC3 2
|
||||||
#define BOOST_PREPROCESSOR_DEC4 3
|
#define BOOST_PP_DEC4 3
|
||||||
#define BOOST_PREPROCESSOR_DEC5 4
|
#define BOOST_PP_DEC5 4
|
||||||
#define BOOST_PREPROCESSOR_DEC6 5
|
#define BOOST_PP_DEC6 5
|
||||||
#define BOOST_PREPROCESSOR_DEC7 6
|
#define BOOST_PP_DEC7 6
|
||||||
#define BOOST_PREPROCESSOR_DEC8 7
|
#define BOOST_PP_DEC8 7
|
||||||
#define BOOST_PREPROCESSOR_DEC9 8
|
#define BOOST_PP_DEC9 8
|
||||||
#define BOOST_PREPROCESSOR_DEC10 9
|
#define BOOST_PP_DEC10 9
|
||||||
#define BOOST_PREPROCESSOR_DEC11 10
|
#define BOOST_PP_DEC11 10
|
||||||
#define BOOST_PREPROCESSOR_DEC12 11
|
#define BOOST_PP_DEC12 11
|
||||||
#define BOOST_PREPROCESSOR_DEC13 12
|
#define BOOST_PP_DEC13 12
|
||||||
#define BOOST_PREPROCESSOR_DEC14 13
|
#define BOOST_PP_DEC14 13
|
||||||
#define BOOST_PREPROCESSOR_DEC15 14
|
#define BOOST_PP_DEC15 14
|
||||||
#define BOOST_PREPROCESSOR_DEC16 15
|
#define BOOST_PP_DEC16 15
|
||||||
#define BOOST_PREPROCESSOR_DEC17 16
|
#define BOOST_PP_DEC17 16
|
||||||
#define BOOST_PREPROCESSOR_DEC18 17
|
#define BOOST_PP_DEC18 17
|
||||||
#define BOOST_PREPROCESSOR_DEC19 18
|
#define BOOST_PP_DEC19 18
|
||||||
#define BOOST_PREPROCESSOR_DEC20 19
|
#define BOOST_PP_DEC20 19
|
||||||
#define BOOST_PREPROCESSOR_DEC21 20
|
#define BOOST_PP_DEC21 20
|
||||||
#define BOOST_PREPROCESSOR_DEC22 21
|
#define BOOST_PP_DEC22 21
|
||||||
#define BOOST_PREPROCESSOR_DEC23 22
|
#define BOOST_PP_DEC23 22
|
||||||
#define BOOST_PREPROCESSOR_DEC24 23
|
#define BOOST_PP_DEC24 23
|
||||||
#define BOOST_PREPROCESSOR_DEC25 24
|
#define BOOST_PP_DEC25 24
|
||||||
#define BOOST_PREPROCESSOR_DEC26 25
|
#define BOOST_PP_DEC26 25
|
||||||
#define BOOST_PREPROCESSOR_DEC27 26
|
#define BOOST_PP_DEC27 26
|
||||||
#define BOOST_PREPROCESSOR_DEC28 27
|
#define BOOST_PP_DEC28 27
|
||||||
#define BOOST_PREPROCESSOR_DEC29 28
|
#define BOOST_PP_DEC29 28
|
||||||
#define BOOST_PREPROCESSOR_DEC30 29
|
#define BOOST_PP_DEC30 29
|
||||||
#define BOOST_PREPROCESSOR_DEC31 30
|
#define BOOST_PP_DEC31 30
|
||||||
#define BOOST_PREPROCESSOR_DEC32 31
|
#define BOOST_PP_DEC32 31
|
||||||
#define BOOST_PREPROCESSOR_DEC33 32
|
#define BOOST_PP_DEC33 32
|
||||||
#define BOOST_PREPROCESSOR_DEC34 33
|
#define BOOST_PP_DEC34 33
|
||||||
#define BOOST_PREPROCESSOR_DEC35 34
|
#define BOOST_PP_DEC35 34
|
||||||
#define BOOST_PREPROCESSOR_DEC36 35
|
#define BOOST_PP_DEC36 35
|
||||||
#define BOOST_PREPROCESSOR_DEC37 36
|
#define BOOST_PP_DEC37 36
|
||||||
#define BOOST_PREPROCESSOR_DEC38 37
|
#define BOOST_PP_DEC38 37
|
||||||
#define BOOST_PREPROCESSOR_DEC39 38
|
#define BOOST_PP_DEC39 38
|
||||||
#define BOOST_PREPROCESSOR_DEC40 39
|
#define BOOST_PP_DEC40 39
|
||||||
#define BOOST_PREPROCESSOR_DEC41 40
|
#define BOOST_PP_DEC41 40
|
||||||
#define BOOST_PREPROCESSOR_DEC42 41
|
#define BOOST_PP_DEC42 41
|
||||||
#define BOOST_PREPROCESSOR_DEC43 42
|
#define BOOST_PP_DEC43 42
|
||||||
#define BOOST_PREPROCESSOR_DEC44 43
|
#define BOOST_PP_DEC44 43
|
||||||
#define BOOST_PREPROCESSOR_DEC45 44
|
#define BOOST_PP_DEC45 44
|
||||||
#define BOOST_PREPROCESSOR_DEC46 45
|
#define BOOST_PP_DEC46 45
|
||||||
#define BOOST_PREPROCESSOR_DEC47 46
|
#define BOOST_PP_DEC47 46
|
||||||
#define BOOST_PREPROCESSOR_DEC48 47
|
#define BOOST_PP_DEC48 47
|
||||||
#define BOOST_PREPROCESSOR_DEC49 48
|
#define BOOST_PP_DEC49 48
|
||||||
#define BOOST_PREPROCESSOR_DEC50 49
|
#define BOOST_PP_DEC50 49
|
||||||
#define BOOST_PREPROCESSOR_DEC51 50
|
#define BOOST_PP_DEC51 50
|
||||||
#define BOOST_PREPROCESSOR_DEC52 51
|
#define BOOST_PP_DEC52 51
|
||||||
#define BOOST_PREPROCESSOR_DEC53 52
|
#define BOOST_PP_DEC53 52
|
||||||
#define BOOST_PREPROCESSOR_DEC54 53
|
#define BOOST_PP_DEC54 53
|
||||||
#define BOOST_PREPROCESSOR_DEC55 54
|
#define BOOST_PP_DEC55 54
|
||||||
#define BOOST_PREPROCESSOR_DEC56 55
|
#define BOOST_PP_DEC56 55
|
||||||
#define BOOST_PREPROCESSOR_DEC57 56
|
#define BOOST_PP_DEC57 56
|
||||||
#define BOOST_PREPROCESSOR_DEC58 57
|
#define BOOST_PP_DEC58 57
|
||||||
#define BOOST_PREPROCESSOR_DEC59 58
|
#define BOOST_PP_DEC59 58
|
||||||
#define BOOST_PREPROCESSOR_DEC60 59
|
#define BOOST_PP_DEC60 59
|
||||||
#define BOOST_PREPROCESSOR_DEC61 60
|
#define BOOST_PP_DEC61 60
|
||||||
#define BOOST_PREPROCESSOR_DEC62 61
|
#define BOOST_PP_DEC62 61
|
||||||
#define BOOST_PREPROCESSOR_DEC63 62
|
#define BOOST_PP_DEC63 62
|
||||||
#define BOOST_PREPROCESSOR_DEC64 63
|
#define BOOST_PP_DEC64 63
|
||||||
#define BOOST_PREPROCESSOR_DEC65 64
|
#define BOOST_PP_DEC65 64
|
||||||
#define BOOST_PREPROCESSOR_DEC66 65
|
#define BOOST_PP_DEC66 65
|
||||||
#define BOOST_PREPROCESSOR_DEC67 66
|
#define BOOST_PP_DEC67 66
|
||||||
#define BOOST_PREPROCESSOR_DEC68 67
|
#define BOOST_PP_DEC68 67
|
||||||
#define BOOST_PREPROCESSOR_DEC69 68
|
#define BOOST_PP_DEC69 68
|
||||||
#define BOOST_PREPROCESSOR_DEC70 69
|
#define BOOST_PP_DEC70 69
|
||||||
#define BOOST_PREPROCESSOR_DEC71 70
|
#define BOOST_PP_DEC71 70
|
||||||
#define BOOST_PREPROCESSOR_DEC72 71
|
#define BOOST_PP_DEC72 71
|
||||||
#define BOOST_PREPROCESSOR_DEC73 72
|
#define BOOST_PP_DEC73 72
|
||||||
#define BOOST_PREPROCESSOR_DEC74 73
|
#define BOOST_PP_DEC74 73
|
||||||
#define BOOST_PREPROCESSOR_DEC75 74
|
#define BOOST_PP_DEC75 74
|
||||||
#define BOOST_PREPROCESSOR_DEC76 75
|
#define BOOST_PP_DEC76 75
|
||||||
#define BOOST_PREPROCESSOR_DEC77 76
|
#define BOOST_PP_DEC77 76
|
||||||
#define BOOST_PREPROCESSOR_DEC78 77
|
#define BOOST_PP_DEC78 77
|
||||||
#define BOOST_PREPROCESSOR_DEC79 78
|
#define BOOST_PP_DEC79 78
|
||||||
#define BOOST_PREPROCESSOR_DEC80 79
|
#define BOOST_PP_DEC80 79
|
||||||
#define BOOST_PREPROCESSOR_DEC81 80
|
#define BOOST_PP_DEC81 80
|
||||||
#define BOOST_PREPROCESSOR_DEC82 81
|
#define BOOST_PP_DEC82 81
|
||||||
#define BOOST_PREPROCESSOR_DEC83 82
|
#define BOOST_PP_DEC83 82
|
||||||
#define BOOST_PREPROCESSOR_DEC84 83
|
#define BOOST_PP_DEC84 83
|
||||||
#define BOOST_PREPROCESSOR_DEC85 84
|
#define BOOST_PP_DEC85 84
|
||||||
#define BOOST_PREPROCESSOR_DEC86 85
|
#define BOOST_PP_DEC86 85
|
||||||
#define BOOST_PREPROCESSOR_DEC87 86
|
#define BOOST_PP_DEC87 86
|
||||||
#define BOOST_PREPROCESSOR_DEC88 87
|
#define BOOST_PP_DEC88 87
|
||||||
#define BOOST_PREPROCESSOR_DEC89 88
|
#define BOOST_PP_DEC89 88
|
||||||
#define BOOST_PREPROCESSOR_DEC90 89
|
#define BOOST_PP_DEC90 89
|
||||||
#define BOOST_PREPROCESSOR_DEC91 90
|
#define BOOST_PP_DEC91 90
|
||||||
#define BOOST_PREPROCESSOR_DEC92 91
|
#define BOOST_PP_DEC92 91
|
||||||
#define BOOST_PREPROCESSOR_DEC93 92
|
#define BOOST_PP_DEC93 92
|
||||||
#define BOOST_PREPROCESSOR_DEC94 93
|
#define BOOST_PP_DEC94 93
|
||||||
#define BOOST_PREPROCESSOR_DEC95 94
|
#define BOOST_PP_DEC95 94
|
||||||
#define BOOST_PREPROCESSOR_DEC96 95
|
#define BOOST_PP_DEC96 95
|
||||||
#define BOOST_PREPROCESSOR_DEC97 96
|
#define BOOST_PP_DEC97 96
|
||||||
#define BOOST_PREPROCESSOR_DEC98 97
|
#define BOOST_PP_DEC98 97
|
||||||
#define BOOST_PREPROCESSOR_DEC99 98
|
#define BOOST_PP_DEC99 98
|
||||||
#define BOOST_PREPROCESSOR_DEC100 99
|
#define BOOST_PP_DEC100 99
|
||||||
#define BOOST_PREPROCESSOR_DEC101 100
|
#define BOOST_PP_DEC101 100
|
||||||
#define BOOST_PREPROCESSOR_DEC102 101
|
#define BOOST_PP_DEC102 101
|
||||||
#define BOOST_PREPROCESSOR_DEC103 102
|
#define BOOST_PP_DEC103 102
|
||||||
#define BOOST_PREPROCESSOR_DEC104 103
|
#define BOOST_PP_DEC104 103
|
||||||
#define BOOST_PREPROCESSOR_DEC105 104
|
#define BOOST_PP_DEC105 104
|
||||||
#define BOOST_PREPROCESSOR_DEC106 105
|
#define BOOST_PP_DEC106 105
|
||||||
#define BOOST_PREPROCESSOR_DEC107 106
|
#define BOOST_PP_DEC107 106
|
||||||
#define BOOST_PREPROCESSOR_DEC108 107
|
#define BOOST_PP_DEC108 107
|
||||||
#define BOOST_PREPROCESSOR_DEC109 108
|
#define BOOST_PP_DEC109 108
|
||||||
#define BOOST_PREPROCESSOR_DEC110 109
|
#define BOOST_PP_DEC110 109
|
||||||
#define BOOST_PREPROCESSOR_DEC111 110
|
#define BOOST_PP_DEC111 110
|
||||||
#define BOOST_PREPROCESSOR_DEC112 111
|
#define BOOST_PP_DEC112 111
|
||||||
#define BOOST_PREPROCESSOR_DEC113 112
|
#define BOOST_PP_DEC113 112
|
||||||
#define BOOST_PREPROCESSOR_DEC114 113
|
#define BOOST_PP_DEC114 113
|
||||||
#define BOOST_PREPROCESSOR_DEC115 114
|
#define BOOST_PP_DEC115 114
|
||||||
#define BOOST_PREPROCESSOR_DEC116 115
|
#define BOOST_PP_DEC116 115
|
||||||
#define BOOST_PREPROCESSOR_DEC117 116
|
#define BOOST_PP_DEC117 116
|
||||||
#define BOOST_PREPROCESSOR_DEC118 117
|
#define BOOST_PP_DEC118 117
|
||||||
#define BOOST_PREPROCESSOR_DEC119 118
|
#define BOOST_PP_DEC119 118
|
||||||
#define BOOST_PREPROCESSOR_DEC120 119
|
#define BOOST_PP_DEC120 119
|
||||||
#define BOOST_PREPROCESSOR_DEC121 120
|
#define BOOST_PP_DEC121 120
|
||||||
#define BOOST_PREPROCESSOR_DEC122 121
|
#define BOOST_PP_DEC122 121
|
||||||
#define BOOST_PREPROCESSOR_DEC123 122
|
#define BOOST_PP_DEC123 122
|
||||||
#define BOOST_PREPROCESSOR_DEC124 123
|
#define BOOST_PP_DEC124 123
|
||||||
#define BOOST_PREPROCESSOR_DEC125 124
|
#define BOOST_PP_DEC125 124
|
||||||
#define BOOST_PREPROCESSOR_DEC126 125
|
#define BOOST_PP_DEC126 125
|
||||||
#define BOOST_PREPROCESSOR_DEC127 126
|
#define BOOST_PP_DEC127 126
|
||||||
#define BOOST_PREPROCESSOR_DEC128 127
|
#define BOOST_PP_DEC128 127
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_DEC().
|
||||||
|
#define BOOST_PREPROCESSOR_DEC(X) BOOST_PP_DEC(X)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,19 +17,19 @@
|
|||||||
<a href="../../../../boost/preprocessor/empty.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/empty.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! Expands to nothing. Used with BOOST_PREPROCESSOR_IF() and as an unused parameter.
|
//! Expands to nothing. Used with BOOST_PP_IF() and as an unused parameter.
|
||||||
/*!
|
/*!
|
||||||
Example usage as the implementation of BOOST_PREPROCESSOR_COMMA_IF(C):
|
Example usage as the implementation of BOOST_PP_COMMA_IF(C):
|
||||||
|
|
||||||
<PRE>\verbatim
|
<PRE>\verbatim
|
||||||
#define BOOST_PREPROCESSOR_COMMA_IF(C)\
|
#define BOOST_PP_COMMA_IF(C)\
|
||||||
BOOST_PREPROCESSOR_IF(C,BOOST_PREPROCESSOR_COMMA,BOOST_PREPROCESSOR_EMPTY)()
|
BOOST_PP_IF(C,BOOST_PP_COMMA,BOOST_PP_EMPTY)()
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
Example usage as an unused macro parameter:
|
Example usage as an unused macro parameter:
|
||||||
|
|
||||||
<PRE>\verbatim
|
<PRE>\verbatim
|
||||||
#define BOOST_PREPROCESSOR_DEF(CV)\
|
#define BOOST_PP_DEF(CV)\
|
||||||
template<class base> \
|
template<class base> \
|
||||||
CV typename implement_subscript_using_begin_subscript<base>::value_type&\
|
CV typename implement_subscript_using_begin_subscript<base>::value_type&\
|
||||||
implement_subscript_using_begin_subscript<base>::operator[]\
|
implement_subscript_using_begin_subscript<base>::operator[]\
|
||||||
@ -39,9 +39,9 @@ Example usage as an unused macro parameter:
|
|||||||
{ return base::begin()[i]; \
|
{ return base::begin()[i]; \
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_PREPROCESSOR_DEF(BOOST_PREPROCESSOR_EMPTY())
|
BOOST_PP_DEF(BOOST_PP_EMPTY())
|
||||||
BOOST_PREPROCESSOR_DEF(const)
|
BOOST_PP_DEF(const)
|
||||||
#undef BOOST_PREPROCESSOR_DEF
|
#undef BOOST_PP_DEF
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
The above expands to:
|
The above expands to:
|
||||||
@ -69,5 +69,8 @@ The above expands to:
|
|||||||
In case you wonder, the above code is part of a generalized layer for
|
In case you wonder, the above code is part of a generalized layer for
|
||||||
implementing the subscripting operators of a random access container.
|
implementing the subscripting operators of a random access container.
|
||||||
*/
|
*/
|
||||||
|
#define BOOST_PP_EMPTY()
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_EMPTY().
|
||||||
#define BOOST_PREPROCESSOR_EMPTY()
|
#define BOOST_PREPROCESSOR_EMPTY()
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,12 +17,8 @@
|
|||||||
<a href="../../../../boost/preprocessor/enum_params.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/enum_params.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
|
#include <boost/preprocessor/comma_if.hpp>
|
||||||
# include <boost/preprocessor/comma_if.hpp>
|
#include <boost/preprocessor/repeat.hpp>
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_REPEAT_HPP
|
|
||||||
# include <boost/preprocessor/repeat.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Generates a comma separated list of parameters.
|
//! Generates a comma separated list of parameters.
|
||||||
/*!
|
/*!
|
||||||
@ -32,11 +28,14 @@ In other words, expands to the sequence:
|
|||||||
P##0, P##1, ..., P##N-1
|
P##0, P##1, ..., P##N-1
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
NOTE: The implementation uses BOOST_PREPROCESSOR_REPEAT().
|
NOTE: The implementation uses BOOST_PP_REPEAT().
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_ENUM_PARAMS(N,P) BOOST_PREPROCESSOR_REPEAT(N,BOOST_PREPROCESSOR_PARAM,P)
|
#define BOOST_PP_ENUM_PARAMS(N,P) BOOST_PP_REPEAT(N,BOOST_PP_ENUM_PARAMS_F,P)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_PARAM(I,P) BOOST_PREPROCESSOR_COMMA_IF(I) P##I
|
#define BOOST_PP_ENUM_PARAMS_F(I,P) BOOST_PP_COMMA_IF(I) P##I
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_ENUM_PARAMS().
|
||||||
|
#define BOOST_PREPROCESSOR_ENUM_PARAMS(N,P) BOOST_PP_ENUM_PARAMS(N,P)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,18 +17,10 @@
|
|||||||
<a href="../../../../boost/preprocessor/enum_params_with_a_default.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/enum_params_with_a_default.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_CAT_HPP
|
#include <boost/preprocessor/cat.hpp>
|
||||||
# include <boost/preprocessor/cat.hpp>
|
#include <boost/preprocessor/comma_if.hpp>
|
||||||
#endif
|
#include <boost/preprocessor/repeat.hpp>
|
||||||
#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
|
#include <boost/preprocessor/tuple.hpp>
|
||||||
# include <boost/preprocessor/comma_if.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_REPEAT_HPP
|
|
||||||
# include <boost/preprocessor/repeat.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
|
|
||||||
# include <boost/preprocessor/tuple.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Generates a comma separated list of parameters with a default.
|
//! Generates a comma separated list of parameters with a default.
|
||||||
/*!
|
/*!
|
||||||
@ -38,11 +30,14 @@ In other words, expands to the sequence:
|
|||||||
P##0 = D, P##1 = D, ..., P##N-1 = D
|
P##0 = D, P##1 = D, ..., P##N-1 = D
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
NOTE: The implementation uses BOOST_PREPROCESSOR_REPEAT().
|
NOTE: The implementation uses BOOST_PP_REPEAT().
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D) BOOST_PREPROCESSOR_REPEAT(N,BOOST_PREPROCESSOR_PARAM_WITH_A_DEFAULT,(P,D))
|
#define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D) BOOST_PP_REPEAT(N,BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT_F,(P,D))
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_PARAM_WITH_A_DEFAULT(I,PD) BOOST_PREPROCESSOR_COMMA_IF(I) BOOST_PREPROCESSOR_CAT(BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,PD),I)=BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,PD)
|
#define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT_F(I,PD) BOOST_PP_COMMA_IF(I) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2,0,PD),I)=BOOST_PP_TUPLE_ELEM(2,1,PD)
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT().
|
||||||
|
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D) BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,18 +17,10 @@
|
|||||||
<a href="../../../../boost/preprocessor/enum_params_with_defaults.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/enum_params_with_defaults.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_CAT_HPP
|
#include <boost/preprocessor/cat.hpp>
|
||||||
# include <boost/preprocessor/cat.hpp>
|
#include <boost/preprocessor/comma_if.hpp>
|
||||||
#endif
|
#include <boost/preprocessor/repeat.hpp>
|
||||||
#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
|
#include <boost/preprocessor/tuple.hpp>
|
||||||
# include <boost/preprocessor/comma_if.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_REPEAT_HPP
|
|
||||||
# include <boost/preprocessor/repeat.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
|
|
||||||
# include <boost/preprocessor/tuple.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Generates a comma separated list of parameters with defaults.
|
//! Generates a comma separated list of parameters with defaults.
|
||||||
/*!
|
/*!
|
||||||
@ -38,11 +30,14 @@ In other words, expands to the sequence:
|
|||||||
P##0 = D##0, P##1 = D##1, ..., P##N-1 = D##N-1
|
P##0 = D##0, P##1 = D##1, ..., P##N-1 = D##N-1
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
NOTE: The implementation uses BOOST_PREPROCESSOR_REPEAT().
|
NOTE: The implementation uses BOOST_PP_REPEAT().
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS(N,P,D) BOOST_PREPROCESSOR_REPEAT(N,BOOST_PREPROCESSOR_PARAM_WITH_DEFAULT,(P,D))
|
#define BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(N,P,D) BOOST_PP_REPEAT(N,BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS_F,(P,D))
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_PARAM_WITH_DEFAULT(I,PD) BOOST_PREPROCESSOR_COMMA_IF(I) BOOST_PREPROCESSOR_CAT(BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,PD),I)=BOOST_PREPROCESSOR_CAT(BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,PD),I)
|
#define BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS_F(I,PD) BOOST_PP_COMMA_IF(I) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2,0,PD),I)=BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2,1,PD),I)
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS().
|
||||||
|
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS(N,P,D) BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(N,P,D)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,21 +17,11 @@
|
|||||||
<a href="../../../../boost/preprocessor/enum_shifted_params.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/enum_shifted_params.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_CAT_HPP
|
#include <boost/preprocessor/cat.hpp>
|
||||||
# include <boost/preprocessor/cat.hpp>
|
#include <boost/preprocessor/comma_if.hpp>
|
||||||
#endif
|
#include <boost/preprocessor/dec.hpp>
|
||||||
#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
|
#include <boost/preprocessor/inc.hpp>
|
||||||
# include <boost/preprocessor/comma_if.hpp>
|
#include <boost/preprocessor/repeat.hpp>
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_DEC_HPP
|
|
||||||
# include <boost/preprocessor/dec.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_INC_HPP
|
|
||||||
# include <boost/preprocessor/inc.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_REPEAT_HPP
|
|
||||||
# include <boost/preprocessor/repeat.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Generates a comma separated list of shifted actual parameters.
|
//! Generates a comma separated list of shifted actual parameters.
|
||||||
/*!
|
/*!
|
||||||
@ -41,15 +31,18 @@ In other words, expands to the sequence:
|
|||||||
P##1, P##2, ..., P##N-1
|
P##1, P##2, ..., P##N-1
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
NOTE: The implementation uses BOOST_PREPROCESSOR_REPEAT().
|
NOTE: The implementation uses BOOST_PP_REPEAT().
|
||||||
|
|
||||||
RATIONALE:
|
RATIONALE:
|
||||||
- This macro facilitates a typical usage of the library. Shifted parameter
|
- This macro facilitates a typical usage of the library. Shifted parameter
|
||||||
lists are common in template metaprograms.
|
lists are common in template metaprograms.
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS(N,P) BOOST_PREPROCESSOR_REPEAT(BOOST_PREPROCESSOR_DEC(N),BOOST_PREPROCESSOR_SHIFTED_PARAM,P)
|
#define BOOST_PP_ENUM_SHIFTED_PARAMS(N,P) BOOST_PP_REPEAT(BOOST_PP_DEC(N),BOOST_PP_SHIFTED_PARAM,P)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_SHIFTED_PARAM(I,P) BOOST_PREPROCESSOR_COMMA_IF(I) BOOST_PREPROCESSOR_CAT(P,BOOST_PREPROCESSOR_INC(I))
|
#define BOOST_PP_SHIFTED_PARAM(I,P) BOOST_PP_COMMA_IF(I) BOOST_PP_CAT(P,BOOST_PP_INC(I))
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_ENUM_SHIFTED_PARAMS().
|
||||||
|
#define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS(N,P) BOOST_PP_ENUM_SHIFTED_PARAMS(N,P)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,19 +17,17 @@
|
|||||||
<a href="../../../../boost/preprocessor/identity.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/identity.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_EMPTY_HPP
|
#include <boost/preprocessor/empty.hpp>
|
||||||
# include <boost/preprocessor/empty.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to X once invoked.
|
//! Expands to X once invoked.
|
||||||
/*!
|
/*!
|
||||||
Designed to be used with BOOST_PREPROCESSOR_IF(), when one of the clauses need to be invoked.
|
Designed to be used with BOOST_PP_IF(), when one of the clauses need to be invoked.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
<PRE>\verbatim
|
<PRE>\verbatim
|
||||||
BOOST_PREPROCESSOR_IDENTITY(X)()
|
BOOST_PP_IDENTITY(X)()
|
||||||
// ^^ NOTE!
|
// ^^ NOTE!
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
The above expands to:
|
The above expands to:
|
||||||
@ -38,7 +36,10 @@ The above expands to:
|
|||||||
X
|
X
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
NOTE: If BOOST_PREPROCESSOR_IDENTITY() is not invoked, the expansion will not be usable.
|
NOTE: If BOOST_PP_IDENTITY() is not invoked, the expansion will not be usable.
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_IDENTITY(X) X BOOST_PREPROCESSOR_EMPTY
|
#define BOOST_PP_IDENTITY(X) X BOOST_PP_EMPTY
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_IDENTITY().
|
||||||
|
#define BOOST_PREPROCESSOR_IDENTITY(X) BOOST_PP_IDENTITY(X)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,21 +17,22 @@
|
|||||||
<a href="../../../../boost/preprocessor/if.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/if.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
|
#include <boost/preprocessor/logical/bool.hpp>
|
||||||
# include <boost/preprocessor/logical/bool.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to T if C != 0 and E if C == 0.
|
//! Expands to T if C != 0 and E if C == 0.
|
||||||
/*!
|
/*!
|
||||||
BOOST_PREPROCESSOR_IF() enables convenient generation of lists using
|
BOOST_PP_IF() enables convenient generation of lists using
|
||||||
BOOST_PREPROCESSOR_REPEAT().
|
BOOST_PP_REPEAT().
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_IF(C,T,E) BOOST_PREPROCESSOR_IF_BOOL(BOOST_PREPROCESSOR_BOOL(C),T,E)
|
#define BOOST_PP_IF(C,T,E) BOOST_PP_IF_BOOL(BOOST_PP_BOOL(C),T,E)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_IF_BOOL(C,T,E) BOOST_PREPROCESSOR_IF_BOOL_DELAY(C,T,E)
|
#define BOOST_PP_IF_BOOL(C,T,E) BOOST_PP_IF_BOOL_DELAY(C,T,E)
|
||||||
#define BOOST_PREPROCESSOR_IF_BOOL_DELAY(C,T,E) BOOST_PREPROCESSOR_IF_BOOL##C(T,E)
|
#define BOOST_PP_IF_BOOL_DELAY(C,T,E) BOOST_PP_IF_BOOL##C(T,E)
|
||||||
#define BOOST_PREPROCESSOR_IF_BOOL0(T,E) E
|
#define BOOST_PP_IF_BOOL0(T,E) E
|
||||||
#define BOOST_PREPROCESSOR_IF_BOOL1(T,E) T
|
#define BOOST_PP_IF_BOOL1(T,E) T
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_IF().
|
||||||
|
#define BOOST_PREPROCESSOR_IF(C,T,E) BOOST_PP_IF(C,T,E)
|
||||||
#endif
|
#endif
|
||||||
|
@ -19,144 +19,149 @@
|
|||||||
|
|
||||||
//! Increments X expanding to a single token.
|
//! Increments X expanding to a single token.
|
||||||
/*!
|
/*!
|
||||||
BOOST_PREPROCESSOR_INC() uses saturation arithmetic. Incrementing a
|
For example, BOOST_PP_INC(3) expands to 4 (a single token).
|
||||||
BOOST_PREPROCESSOR_LIMIT_MAG yields a BOOST_PREPROCESSOR_LIMIT_MAG.
|
|
||||||
|
|
||||||
Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG] are
|
BOOST_PP_INC() uses saturation arithmetic. Incrementing a
|
||||||
|
BOOST_PP_LIMIT_MAG yields a BOOST_PP_LIMIT_MAG.
|
||||||
|
|
||||||
|
Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are
|
||||||
supported.
|
supported.
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_INC(X) BOOST_PREPROCESSOR_INC_DELAY(X)
|
#define BOOST_PP_INC(X) BOOST_PP_INC_DELAY(X)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_INC_DELAY(X) BOOST_PREPROCESSOR_INC##X
|
#define BOOST_PP_INC_DELAY(X) BOOST_PP_INC##X
|
||||||
#define BOOST_PREPROCESSOR_INC0 1
|
#define BOOST_PP_INC0 1
|
||||||
#define BOOST_PREPROCESSOR_INC1 2
|
#define BOOST_PP_INC1 2
|
||||||
#define BOOST_PREPROCESSOR_INC2 3
|
#define BOOST_PP_INC2 3
|
||||||
#define BOOST_PREPROCESSOR_INC3 4
|
#define BOOST_PP_INC3 4
|
||||||
#define BOOST_PREPROCESSOR_INC4 5
|
#define BOOST_PP_INC4 5
|
||||||
#define BOOST_PREPROCESSOR_INC5 6
|
#define BOOST_PP_INC5 6
|
||||||
#define BOOST_PREPROCESSOR_INC6 7
|
#define BOOST_PP_INC6 7
|
||||||
#define BOOST_PREPROCESSOR_INC7 8
|
#define BOOST_PP_INC7 8
|
||||||
#define BOOST_PREPROCESSOR_INC8 9
|
#define BOOST_PP_INC8 9
|
||||||
#define BOOST_PREPROCESSOR_INC9 10
|
#define BOOST_PP_INC9 10
|
||||||
#define BOOST_PREPROCESSOR_INC10 11
|
#define BOOST_PP_INC10 11
|
||||||
#define BOOST_PREPROCESSOR_INC11 12
|
#define BOOST_PP_INC11 12
|
||||||
#define BOOST_PREPROCESSOR_INC12 13
|
#define BOOST_PP_INC12 13
|
||||||
#define BOOST_PREPROCESSOR_INC13 14
|
#define BOOST_PP_INC13 14
|
||||||
#define BOOST_PREPROCESSOR_INC14 15
|
#define BOOST_PP_INC14 15
|
||||||
#define BOOST_PREPROCESSOR_INC15 16
|
#define BOOST_PP_INC15 16
|
||||||
#define BOOST_PREPROCESSOR_INC16 17
|
#define BOOST_PP_INC16 17
|
||||||
#define BOOST_PREPROCESSOR_INC17 18
|
#define BOOST_PP_INC17 18
|
||||||
#define BOOST_PREPROCESSOR_INC18 19
|
#define BOOST_PP_INC18 19
|
||||||
#define BOOST_PREPROCESSOR_INC19 20
|
#define BOOST_PP_INC19 20
|
||||||
#define BOOST_PREPROCESSOR_INC20 21
|
#define BOOST_PP_INC20 21
|
||||||
#define BOOST_PREPROCESSOR_INC21 22
|
#define BOOST_PP_INC21 22
|
||||||
#define BOOST_PREPROCESSOR_INC22 23
|
#define BOOST_PP_INC22 23
|
||||||
#define BOOST_PREPROCESSOR_INC23 24
|
#define BOOST_PP_INC23 24
|
||||||
#define BOOST_PREPROCESSOR_INC24 25
|
#define BOOST_PP_INC24 25
|
||||||
#define BOOST_PREPROCESSOR_INC25 26
|
#define BOOST_PP_INC25 26
|
||||||
#define BOOST_PREPROCESSOR_INC26 27
|
#define BOOST_PP_INC26 27
|
||||||
#define BOOST_PREPROCESSOR_INC27 28
|
#define BOOST_PP_INC27 28
|
||||||
#define BOOST_PREPROCESSOR_INC28 29
|
#define BOOST_PP_INC28 29
|
||||||
#define BOOST_PREPROCESSOR_INC29 30
|
#define BOOST_PP_INC29 30
|
||||||
#define BOOST_PREPROCESSOR_INC30 31
|
#define BOOST_PP_INC30 31
|
||||||
#define BOOST_PREPROCESSOR_INC31 32
|
#define BOOST_PP_INC31 32
|
||||||
#define BOOST_PREPROCESSOR_INC32 33
|
#define BOOST_PP_INC32 33
|
||||||
#define BOOST_PREPROCESSOR_INC33 34
|
#define BOOST_PP_INC33 34
|
||||||
#define BOOST_PREPROCESSOR_INC34 35
|
#define BOOST_PP_INC34 35
|
||||||
#define BOOST_PREPROCESSOR_INC35 36
|
#define BOOST_PP_INC35 36
|
||||||
#define BOOST_PREPROCESSOR_INC36 37
|
#define BOOST_PP_INC36 37
|
||||||
#define BOOST_PREPROCESSOR_INC37 38
|
#define BOOST_PP_INC37 38
|
||||||
#define BOOST_PREPROCESSOR_INC38 39
|
#define BOOST_PP_INC38 39
|
||||||
#define BOOST_PREPROCESSOR_INC39 40
|
#define BOOST_PP_INC39 40
|
||||||
#define BOOST_PREPROCESSOR_INC40 41
|
#define BOOST_PP_INC40 41
|
||||||
#define BOOST_PREPROCESSOR_INC41 42
|
#define BOOST_PP_INC41 42
|
||||||
#define BOOST_PREPROCESSOR_INC42 43
|
#define BOOST_PP_INC42 43
|
||||||
#define BOOST_PREPROCESSOR_INC43 44
|
#define BOOST_PP_INC43 44
|
||||||
#define BOOST_PREPROCESSOR_INC44 45
|
#define BOOST_PP_INC44 45
|
||||||
#define BOOST_PREPROCESSOR_INC45 46
|
#define BOOST_PP_INC45 46
|
||||||
#define BOOST_PREPROCESSOR_INC46 47
|
#define BOOST_PP_INC46 47
|
||||||
#define BOOST_PREPROCESSOR_INC47 48
|
#define BOOST_PP_INC47 48
|
||||||
#define BOOST_PREPROCESSOR_INC48 49
|
#define BOOST_PP_INC48 49
|
||||||
#define BOOST_PREPROCESSOR_INC49 50
|
#define BOOST_PP_INC49 50
|
||||||
#define BOOST_PREPROCESSOR_INC50 51
|
#define BOOST_PP_INC50 51
|
||||||
#define BOOST_PREPROCESSOR_INC51 52
|
#define BOOST_PP_INC51 52
|
||||||
#define BOOST_PREPROCESSOR_INC52 53
|
#define BOOST_PP_INC52 53
|
||||||
#define BOOST_PREPROCESSOR_INC53 54
|
#define BOOST_PP_INC53 54
|
||||||
#define BOOST_PREPROCESSOR_INC54 55
|
#define BOOST_PP_INC54 55
|
||||||
#define BOOST_PREPROCESSOR_INC55 56
|
#define BOOST_PP_INC55 56
|
||||||
#define BOOST_PREPROCESSOR_INC56 57
|
#define BOOST_PP_INC56 57
|
||||||
#define BOOST_PREPROCESSOR_INC57 58
|
#define BOOST_PP_INC57 58
|
||||||
#define BOOST_PREPROCESSOR_INC58 59
|
#define BOOST_PP_INC58 59
|
||||||
#define BOOST_PREPROCESSOR_INC59 60
|
#define BOOST_PP_INC59 60
|
||||||
#define BOOST_PREPROCESSOR_INC60 61
|
#define BOOST_PP_INC60 61
|
||||||
#define BOOST_PREPROCESSOR_INC61 62
|
#define BOOST_PP_INC61 62
|
||||||
#define BOOST_PREPROCESSOR_INC62 63
|
#define BOOST_PP_INC62 63
|
||||||
#define BOOST_PREPROCESSOR_INC63 64
|
#define BOOST_PP_INC63 64
|
||||||
#define BOOST_PREPROCESSOR_INC64 65
|
#define BOOST_PP_INC64 65
|
||||||
#define BOOST_PREPROCESSOR_INC65 66
|
#define BOOST_PP_INC65 66
|
||||||
#define BOOST_PREPROCESSOR_INC66 67
|
#define BOOST_PP_INC66 67
|
||||||
#define BOOST_PREPROCESSOR_INC67 68
|
#define BOOST_PP_INC67 68
|
||||||
#define BOOST_PREPROCESSOR_INC68 69
|
#define BOOST_PP_INC68 69
|
||||||
#define BOOST_PREPROCESSOR_INC69 70
|
#define BOOST_PP_INC69 70
|
||||||
#define BOOST_PREPROCESSOR_INC70 71
|
#define BOOST_PP_INC70 71
|
||||||
#define BOOST_PREPROCESSOR_INC71 72
|
#define BOOST_PP_INC71 72
|
||||||
#define BOOST_PREPROCESSOR_INC72 73
|
#define BOOST_PP_INC72 73
|
||||||
#define BOOST_PREPROCESSOR_INC73 74
|
#define BOOST_PP_INC73 74
|
||||||
#define BOOST_PREPROCESSOR_INC74 75
|
#define BOOST_PP_INC74 75
|
||||||
#define BOOST_PREPROCESSOR_INC75 76
|
#define BOOST_PP_INC75 76
|
||||||
#define BOOST_PREPROCESSOR_INC76 77
|
#define BOOST_PP_INC76 77
|
||||||
#define BOOST_PREPROCESSOR_INC77 78
|
#define BOOST_PP_INC77 78
|
||||||
#define BOOST_PREPROCESSOR_INC78 79
|
#define BOOST_PP_INC78 79
|
||||||
#define BOOST_PREPROCESSOR_INC79 80
|
#define BOOST_PP_INC79 80
|
||||||
#define BOOST_PREPROCESSOR_INC80 81
|
#define BOOST_PP_INC80 81
|
||||||
#define BOOST_PREPROCESSOR_INC81 82
|
#define BOOST_PP_INC81 82
|
||||||
#define BOOST_PREPROCESSOR_INC82 83
|
#define BOOST_PP_INC82 83
|
||||||
#define BOOST_PREPROCESSOR_INC83 84
|
#define BOOST_PP_INC83 84
|
||||||
#define BOOST_PREPROCESSOR_INC84 85
|
#define BOOST_PP_INC84 85
|
||||||
#define BOOST_PREPROCESSOR_INC85 86
|
#define BOOST_PP_INC85 86
|
||||||
#define BOOST_PREPROCESSOR_INC86 87
|
#define BOOST_PP_INC86 87
|
||||||
#define BOOST_PREPROCESSOR_INC87 88
|
#define BOOST_PP_INC87 88
|
||||||
#define BOOST_PREPROCESSOR_INC88 89
|
#define BOOST_PP_INC88 89
|
||||||
#define BOOST_PREPROCESSOR_INC89 90
|
#define BOOST_PP_INC89 90
|
||||||
#define BOOST_PREPROCESSOR_INC90 91
|
#define BOOST_PP_INC90 91
|
||||||
#define BOOST_PREPROCESSOR_INC91 92
|
#define BOOST_PP_INC91 92
|
||||||
#define BOOST_PREPROCESSOR_INC92 93
|
#define BOOST_PP_INC92 93
|
||||||
#define BOOST_PREPROCESSOR_INC93 94
|
#define BOOST_PP_INC93 94
|
||||||
#define BOOST_PREPROCESSOR_INC94 95
|
#define BOOST_PP_INC94 95
|
||||||
#define BOOST_PREPROCESSOR_INC95 96
|
#define BOOST_PP_INC95 96
|
||||||
#define BOOST_PREPROCESSOR_INC96 97
|
#define BOOST_PP_INC96 97
|
||||||
#define BOOST_PREPROCESSOR_INC97 98
|
#define BOOST_PP_INC97 98
|
||||||
#define BOOST_PREPROCESSOR_INC98 99
|
#define BOOST_PP_INC98 99
|
||||||
#define BOOST_PREPROCESSOR_INC99 100
|
#define BOOST_PP_INC99 100
|
||||||
#define BOOST_PREPROCESSOR_INC100 101
|
#define BOOST_PP_INC100 101
|
||||||
#define BOOST_PREPROCESSOR_INC101 102
|
#define BOOST_PP_INC101 102
|
||||||
#define BOOST_PREPROCESSOR_INC102 103
|
#define BOOST_PP_INC102 103
|
||||||
#define BOOST_PREPROCESSOR_INC103 104
|
#define BOOST_PP_INC103 104
|
||||||
#define BOOST_PREPROCESSOR_INC104 105
|
#define BOOST_PP_INC104 105
|
||||||
#define BOOST_PREPROCESSOR_INC105 106
|
#define BOOST_PP_INC105 106
|
||||||
#define BOOST_PREPROCESSOR_INC106 107
|
#define BOOST_PP_INC106 107
|
||||||
#define BOOST_PREPROCESSOR_INC107 108
|
#define BOOST_PP_INC107 108
|
||||||
#define BOOST_PREPROCESSOR_INC108 109
|
#define BOOST_PP_INC108 109
|
||||||
#define BOOST_PREPROCESSOR_INC109 110
|
#define BOOST_PP_INC109 110
|
||||||
#define BOOST_PREPROCESSOR_INC110 111
|
#define BOOST_PP_INC110 111
|
||||||
#define BOOST_PREPROCESSOR_INC111 112
|
#define BOOST_PP_INC111 112
|
||||||
#define BOOST_PREPROCESSOR_INC112 113
|
#define BOOST_PP_INC112 113
|
||||||
#define BOOST_PREPROCESSOR_INC113 114
|
#define BOOST_PP_INC113 114
|
||||||
#define BOOST_PREPROCESSOR_INC114 115
|
#define BOOST_PP_INC114 115
|
||||||
#define BOOST_PREPROCESSOR_INC115 116
|
#define BOOST_PP_INC115 116
|
||||||
#define BOOST_PREPROCESSOR_INC116 117
|
#define BOOST_PP_INC116 117
|
||||||
#define BOOST_PREPROCESSOR_INC117 118
|
#define BOOST_PP_INC117 118
|
||||||
#define BOOST_PREPROCESSOR_INC118 119
|
#define BOOST_PP_INC118 119
|
||||||
#define BOOST_PREPROCESSOR_INC119 120
|
#define BOOST_PP_INC119 120
|
||||||
#define BOOST_PREPROCESSOR_INC120 121
|
#define BOOST_PP_INC120 121
|
||||||
#define BOOST_PREPROCESSOR_INC121 122
|
#define BOOST_PP_INC121 122
|
||||||
#define BOOST_PREPROCESSOR_INC122 123
|
#define BOOST_PP_INC122 123
|
||||||
#define BOOST_PREPROCESSOR_INC123 124
|
#define BOOST_PP_INC123 124
|
||||||
#define BOOST_PREPROCESSOR_INC124 125
|
#define BOOST_PP_INC124 125
|
||||||
#define BOOST_PREPROCESSOR_INC125 126
|
#define BOOST_PP_INC125 126
|
||||||
#define BOOST_PREPROCESSOR_INC126 127
|
#define BOOST_PP_INC126 127
|
||||||
#define BOOST_PREPROCESSOR_INC127 128
|
#define BOOST_PP_INC127 128
|
||||||
#define BOOST_PREPROCESSOR_INC128 128
|
#define BOOST_PP_INC128 128
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_INC().
|
||||||
|
#define BOOST_PREPROCESSOR_INC(X) BOOST_PP_INC(X)
|
||||||
#endif
|
#endif
|
||||||
|
@ -18,19 +18,35 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
//! Expands to the number of dimensions of repeat supported by the library.
|
//! Expands to the number of dimensions of repeat supported by the library.
|
||||||
#define BOOST_PREPROCESSOR_LIMIT_DIM 3
|
/*!
|
||||||
|
The repeat macros are named BOOST_PP_REPEAT(), BOOST_PP_REPEAT_2ND(),
|
||||||
|
BOOST_PP_REPEAT_3RD(), ...
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_LIMIT_DIM 3
|
||||||
|
|
||||||
//! Expands to the maximum straight numeric literal supported by the library.
|
//! Expands to the maximum straight numeric literal supported by the library.
|
||||||
/*!
|
/*!
|
||||||
|
This is also the limit of the repetition primitives (BOOST_PP_ENUM family and
|
||||||
|
BOOST_PP_REPEAT family).
|
||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
- Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG]
|
- Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG]
|
||||||
are supported.
|
are supported.
|
||||||
- All arithmetic operations (ADD,SUB,MUL,DIV) use saturation arithmetic.
|
- All arithmetic operations (ADD,SUB,MUL,DIV) use saturation arithmetic.
|
||||||
- The maximum repetition count supported by the library may not be reached
|
- The maximum repetition count supported by the library may not be reached
|
||||||
due to compiler limitations.
|
due to compiler limitations.
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_LIMIT_MAG 128
|
#define BOOST_PP_LIMIT_MAG 128
|
||||||
|
|
||||||
//! Expands to the maximum tuple length supported by the library.
|
//! Expands to the maximum tuple length supported by the library.
|
||||||
#define BOOST_PREPROCESSOR_LIMIT_TUPLE 8
|
#define BOOST_PP_LIMIT_TUPLE 8
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_LIMIT_DIM.
|
||||||
|
#define BOOST_PREPROCESSOR_LIMIT_DIM BOOST_PP_LIMIT_DIM
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_LIMIT_MAG.
|
||||||
|
#define BOOST_PREPROCESSOR_LIMIT_MAG BOOST_PP_LIMIT_MAG
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_LIMIT_TUPLE.
|
||||||
|
#define BOOST_PREPROCESSOR_LIMIT_TUPLE BOOST_PP_LIMIT_TUPLE
|
||||||
#endif
|
#endif
|
||||||
|
@ -15,24 +15,10 @@
|
|||||||
/*! \file
|
/*! \file
|
||||||
|
|
||||||
<a href="../../../../boost/preprocessor/logical.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical.hpp">Click here to see the header.</a>
|
||||||
|
|
||||||
|
Includes all logical headers.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP
|
#include <boost/preprocessor/logical/or.hpp>
|
||||||
# include <boost/preprocessor/logical/and.hpp>
|
#include <boost/preprocessor/logical/xor.hpp>
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
|
|
||||||
# include <boost/preprocessor/logical/bool.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
|
|
||||||
# include <boost/preprocessor/logical/nor.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
|
|
||||||
# include <boost/preprocessor/logical/not.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_OR_HPP
|
|
||||||
# include <boost/preprocessor/logical/or.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_XOR_HPP
|
|
||||||
# include <boost/preprocessor/logical/xor.hpp>
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,13 +17,14 @@
|
|||||||
<a href="../../../../boost/preprocessor/logical/and.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/and.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
|
#include <boost/preprocessor/logical/not.hpp>
|
||||||
# include <boost/preprocessor/logical/nor.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
|
|
||||||
# include <boost/preprocessor/logical/not.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the logical AND of the operands.
|
//! Expands to the logical AND of the operands.
|
||||||
#define BOOST_PREPROCESSOR_AND(X,Y) BOOST_PREPROCESSOR_NOR(BOOST_PREPROCESSOR_NOT(X),BOOST_PREPROCESSOR_NOT(Y))
|
/*!
|
||||||
|
For example, BOOST_PP_AND(0,5) expands to 0 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_AND(X,Y) BOOST_PP_NOR(BOOST_PP_NOT(X),BOOST_PP_NOT(Y))
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_AND().
|
||||||
|
#define BOOST_PREPROCESSOR_AND(X,Y) BOOST_PP_AND(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,141 +17,144 @@
|
|||||||
<a href="../../../../boost/preprocessor/logical/bool.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/bool.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! Expands to 0 if X == 0 and 1 if X != 0.
|
//! Expands to 0 if X == 0 and 1 if X != 0.
|
||||||
#define BOOST_PREPROCESSOR_BOOL(X) BOOST_PREPROCESSOR_BOOL_DELAY(X)
|
#define BOOST_PP_BOOL(X) BOOST_PP_BOOL_DELAY(X)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
// BOOL can be implemented in O(1) tokens using saturated ADD & SUB.
|
// BOOL can be implemented in O(1) tokens using saturated ADD & SUB.
|
||||||
// Unfortunately, it would result in significantly slower preprocessing.
|
// Unfortunately, it would result in significantly slower preprocessing.
|
||||||
#define BOOST_PREPROCESSOR_BOOL_DELAY(X) BOOST_PREPROCESSOR_BOOL##X
|
#define BOOST_PP_BOOL_DELAY(X) BOOST_PP_BOOL##X
|
||||||
#define BOOST_PREPROCESSOR_BOOL0 0
|
#define BOOST_PP_BOOL0 0
|
||||||
#define BOOST_PREPROCESSOR_BOOL1 1
|
#define BOOST_PP_BOOL1 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL2 1
|
#define BOOST_PP_BOOL2 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL3 1
|
#define BOOST_PP_BOOL3 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL4 1
|
#define BOOST_PP_BOOL4 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL5 1
|
#define BOOST_PP_BOOL5 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL6 1
|
#define BOOST_PP_BOOL6 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL7 1
|
#define BOOST_PP_BOOL7 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL8 1
|
#define BOOST_PP_BOOL8 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL9 1
|
#define BOOST_PP_BOOL9 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL10 1
|
#define BOOST_PP_BOOL10 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL11 1
|
#define BOOST_PP_BOOL11 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL12 1
|
#define BOOST_PP_BOOL12 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL13 1
|
#define BOOST_PP_BOOL13 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL14 1
|
#define BOOST_PP_BOOL14 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL15 1
|
#define BOOST_PP_BOOL15 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL16 1
|
#define BOOST_PP_BOOL16 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL17 1
|
#define BOOST_PP_BOOL17 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL18 1
|
#define BOOST_PP_BOOL18 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL19 1
|
#define BOOST_PP_BOOL19 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL20 1
|
#define BOOST_PP_BOOL20 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL21 1
|
#define BOOST_PP_BOOL21 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL22 1
|
#define BOOST_PP_BOOL22 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL23 1
|
#define BOOST_PP_BOOL23 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL24 1
|
#define BOOST_PP_BOOL24 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL25 1
|
#define BOOST_PP_BOOL25 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL26 1
|
#define BOOST_PP_BOOL26 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL27 1
|
#define BOOST_PP_BOOL27 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL28 1
|
#define BOOST_PP_BOOL28 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL29 1
|
#define BOOST_PP_BOOL29 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL30 1
|
#define BOOST_PP_BOOL30 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL31 1
|
#define BOOST_PP_BOOL31 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL32 1
|
#define BOOST_PP_BOOL32 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL33 1
|
#define BOOST_PP_BOOL33 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL34 1
|
#define BOOST_PP_BOOL34 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL35 1
|
#define BOOST_PP_BOOL35 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL36 1
|
#define BOOST_PP_BOOL36 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL37 1
|
#define BOOST_PP_BOOL37 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL38 1
|
#define BOOST_PP_BOOL38 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL39 1
|
#define BOOST_PP_BOOL39 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL40 1
|
#define BOOST_PP_BOOL40 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL41 1
|
#define BOOST_PP_BOOL41 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL42 1
|
#define BOOST_PP_BOOL42 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL43 1
|
#define BOOST_PP_BOOL43 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL44 1
|
#define BOOST_PP_BOOL44 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL45 1
|
#define BOOST_PP_BOOL45 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL46 1
|
#define BOOST_PP_BOOL46 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL47 1
|
#define BOOST_PP_BOOL47 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL48 1
|
#define BOOST_PP_BOOL48 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL49 1
|
#define BOOST_PP_BOOL49 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL50 1
|
#define BOOST_PP_BOOL50 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL51 1
|
#define BOOST_PP_BOOL51 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL52 1
|
#define BOOST_PP_BOOL52 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL53 1
|
#define BOOST_PP_BOOL53 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL54 1
|
#define BOOST_PP_BOOL54 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL55 1
|
#define BOOST_PP_BOOL55 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL56 1
|
#define BOOST_PP_BOOL56 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL57 1
|
#define BOOST_PP_BOOL57 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL58 1
|
#define BOOST_PP_BOOL58 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL59 1
|
#define BOOST_PP_BOOL59 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL60 1
|
#define BOOST_PP_BOOL60 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL61 1
|
#define BOOST_PP_BOOL61 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL62 1
|
#define BOOST_PP_BOOL62 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL63 1
|
#define BOOST_PP_BOOL63 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL64 1
|
#define BOOST_PP_BOOL64 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL65 1
|
#define BOOST_PP_BOOL65 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL66 1
|
#define BOOST_PP_BOOL66 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL67 1
|
#define BOOST_PP_BOOL67 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL68 1
|
#define BOOST_PP_BOOL68 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL69 1
|
#define BOOST_PP_BOOL69 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL70 1
|
#define BOOST_PP_BOOL70 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL71 1
|
#define BOOST_PP_BOOL71 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL72 1
|
#define BOOST_PP_BOOL72 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL73 1
|
#define BOOST_PP_BOOL73 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL74 1
|
#define BOOST_PP_BOOL74 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL75 1
|
#define BOOST_PP_BOOL75 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL76 1
|
#define BOOST_PP_BOOL76 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL77 1
|
#define BOOST_PP_BOOL77 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL78 1
|
#define BOOST_PP_BOOL78 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL79 1
|
#define BOOST_PP_BOOL79 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL80 1
|
#define BOOST_PP_BOOL80 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL81 1
|
#define BOOST_PP_BOOL81 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL82 1
|
#define BOOST_PP_BOOL82 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL83 1
|
#define BOOST_PP_BOOL83 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL84 1
|
#define BOOST_PP_BOOL84 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL85 1
|
#define BOOST_PP_BOOL85 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL86 1
|
#define BOOST_PP_BOOL86 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL87 1
|
#define BOOST_PP_BOOL87 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL88 1
|
#define BOOST_PP_BOOL88 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL89 1
|
#define BOOST_PP_BOOL89 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL90 1
|
#define BOOST_PP_BOOL90 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL91 1
|
#define BOOST_PP_BOOL91 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL92 1
|
#define BOOST_PP_BOOL92 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL93 1
|
#define BOOST_PP_BOOL93 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL94 1
|
#define BOOST_PP_BOOL94 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL95 1
|
#define BOOST_PP_BOOL95 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL96 1
|
#define BOOST_PP_BOOL96 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL97 1
|
#define BOOST_PP_BOOL97 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL98 1
|
#define BOOST_PP_BOOL98 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL99 1
|
#define BOOST_PP_BOOL99 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL100 1
|
#define BOOST_PP_BOOL100 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL101 1
|
#define BOOST_PP_BOOL101 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL102 1
|
#define BOOST_PP_BOOL102 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL103 1
|
#define BOOST_PP_BOOL103 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL104 1
|
#define BOOST_PP_BOOL104 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL105 1
|
#define BOOST_PP_BOOL105 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL106 1
|
#define BOOST_PP_BOOL106 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL107 1
|
#define BOOST_PP_BOOL107 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL108 1
|
#define BOOST_PP_BOOL108 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL109 1
|
#define BOOST_PP_BOOL109 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL110 1
|
#define BOOST_PP_BOOL110 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL111 1
|
#define BOOST_PP_BOOL111 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL112 1
|
#define BOOST_PP_BOOL112 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL113 1
|
#define BOOST_PP_BOOL113 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL114 1
|
#define BOOST_PP_BOOL114 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL115 1
|
#define BOOST_PP_BOOL115 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL116 1
|
#define BOOST_PP_BOOL116 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL117 1
|
#define BOOST_PP_BOOL117 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL118 1
|
#define BOOST_PP_BOOL118 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL119 1
|
#define BOOST_PP_BOOL119 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL120 1
|
#define BOOST_PP_BOOL120 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL121 1
|
#define BOOST_PP_BOOL121 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL122 1
|
#define BOOST_PP_BOOL122 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL123 1
|
#define BOOST_PP_BOOL123 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL124 1
|
#define BOOST_PP_BOOL124 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL125 1
|
#define BOOST_PP_BOOL125 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL126 1
|
#define BOOST_PP_BOOL126 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL127 1
|
#define BOOST_PP_BOOL127 1
|
||||||
#define BOOST_PREPROCESSOR_BOOL128 1
|
#define BOOST_PP_BOOL128 1
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_BOOL().
|
||||||
|
#define BOOST_PREPROCESSOR_BOOL(X) BOOST_PP_BOOL(X)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,19 +17,23 @@
|
|||||||
<a href="../../../../boost/preprocessor/logical/nor.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/nor.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
|
#include <boost/preprocessor/logical/bool.hpp>
|
||||||
# include <boost/preprocessor/logical/bool.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the logical NEITHER OR of the operands.
|
//! Expands to the logical NEITHER OR of the operands.
|
||||||
#define BOOST_PREPROCESSOR_NOR(X,Y) BOOST_PREPROCESSOR_NOR_BOOL(BOOST_PREPROCESSOR_BOOL(X),BOOST_PREPROCESSOR_BOOL(Y))
|
/*!
|
||||||
|
For example, BOOST_PP_NOR(0,5) expands to 0 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_NOR(X,Y) BOOST_PP_NOR_BOOL(BOOST_PP_BOOL(X),BOOST_PP_BOOL(Y))
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_NOR_BOOL(X,Y) BOOST_PREPROCESSOR_NOR_BOOL_DELAY(X,Y)
|
#define BOOST_PP_NOR_BOOL(X,Y) BOOST_PP_NOR_BOOL_DELAY(X,Y)
|
||||||
#define BOOST_PREPROCESSOR_NOR_BOOL_DELAY(X,Y) BOOST_PREPROCESSOR_NOR_BOOL##X##Y
|
#define BOOST_PP_NOR_BOOL_DELAY(X,Y) BOOST_PP_NOR_BOOL##X##Y
|
||||||
#define BOOST_PREPROCESSOR_NOR_BOOL00 1
|
#define BOOST_PP_NOR_BOOL00 1
|
||||||
#define BOOST_PREPROCESSOR_NOR_BOOL01 0
|
#define BOOST_PP_NOR_BOOL01 0
|
||||||
#define BOOST_PREPROCESSOR_NOR_BOOL10 0
|
#define BOOST_PP_NOR_BOOL10 0
|
||||||
#define BOOST_PREPROCESSOR_NOR_BOOL11 0
|
#define BOOST_PP_NOR_BOOL11 0
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_NOR().
|
||||||
|
#define BOOST_PREPROCESSOR_NOR(X,Y) BOOST_PP_NOR(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,10 +17,14 @@
|
|||||||
<a href="../../../../boost/preprocessor/logical/not.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/not.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
|
#include <boost/preprocessor/logical/nor.hpp>
|
||||||
# include <boost/preprocessor/logical/nor.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the logical NOT of the operand.
|
//! Expands to the logical NOT of the operand.
|
||||||
#define BOOST_PREPROCESSOR_NOT(X) BOOST_PREPROCESSOR_NOR(X,X)
|
/*!
|
||||||
|
For example, BOOST_PP_NOT(0) expands to 1 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_NOT(X) BOOST_PP_NOR(X,X)
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_NOT().
|
||||||
|
#define BOOST_PREPROCESSOR_NOT(X) BOOST_PP_NOT(X)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,13 +17,14 @@
|
|||||||
<a href="../../../../boost/preprocessor/logical/or.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/or.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
|
#include <boost/preprocessor/logical/not.hpp>
|
||||||
# include <boost/preprocessor/logical/nor.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
|
|
||||||
# include <boost/preprocessor/logical/not.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the logical OR of the operands.
|
//! Expands to the logical OR of the operands.
|
||||||
#define BOOST_PREPROCESSOR_OR(X,Y) BOOST_PREPROCESSOR_NOT(BOOST_PREPROCESSOR_NOR(X,Y))
|
/*!
|
||||||
|
For example, BOOST_PP_OR(0,2) expands to 1 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_OR(X,Y) BOOST_PP_NOT(BOOST_PP_NOR(X,Y))
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_OR().
|
||||||
|
#define BOOST_PREPROCESSOR_OR(X,Y) BOOST_PP_OR(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,13 +17,14 @@
|
|||||||
<a href="../../../../boost/preprocessor/logical/xor.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/logical/xor.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP
|
#include <boost/preprocessor/logical/and.hpp>
|
||||||
# include <boost/preprocessor/logical/and.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
|
|
||||||
# include <boost/preprocessor/logical/nor.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the logical EXCLUSIVE OR of the operands.
|
//! Expands to the logical EXCLUSIVE OR of the operands.
|
||||||
#define BOOST_PREPROCESSOR_XOR(X,Y) BOOST_PREPROCESSOR_NOR(BOOST_PREPROCESSOR_NOR(X,Y),BOOST_PREPROCESSOR_AND(X,Y))
|
/*!
|
||||||
|
For example, BOOST_PP_XOR(1,2) expands to 0 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_XOR(X,Y) BOOST_PP_NOR(BOOST_PP_NOR(X,Y),BOOST_PP_AND(X,Y))
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_XOR().
|
||||||
|
#define BOOST_PREPROCESSOR_XOR(X,Y) BOOST_PP_XOR(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,13 +17,19 @@
|
|||||||
<a href="../../../../boost/preprocessor/max.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/max.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
|
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||||
# include <boost/preprocessor/comparison/less.hpp>
|
#include <boost/preprocessor/if.hpp>
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_IF_HPP
|
|
||||||
# include <boost/preprocessor/if.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the maximum of X and Y.
|
//! Expands to the maximum of X and Y.
|
||||||
#define BOOST_PREPROCESSOR_MAX(X,Y) BOOST_PREPROCESSOR_IF(BOOST_PREPROCESSOR_LESS(X,Y),Y,X)
|
/*!
|
||||||
|
For example, BOOST_PP_MAX(5,7) expands to 7 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_MAX(X,Y) BOOST_PP_MAX_D(0,X,Y)
|
||||||
|
|
||||||
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
|
#define BOOST_PP_MAX_D(D,X,Y) BOOST_PP_IF(BOOST_PP_LESS_EQUAL_D(D,X,Y),Y,X)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_MAX().
|
||||||
|
#define BOOST_PREPROCESSOR_MAX(X,Y) BOOST_PP_MAX(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,13 +17,19 @@
|
|||||||
<a href="../../../../boost/preprocessor/min.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/min.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
|
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||||
# include <boost/preprocessor/comparison/less.hpp>
|
#include <boost/preprocessor/if.hpp>
|
||||||
#endif
|
|
||||||
#ifndef BOOST_PREPROCESSOR_IF_HPP
|
|
||||||
# include <boost/preprocessor/if.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the minimum of X and Y.
|
//! Expands to the minimum of X and Y.
|
||||||
#define BOOST_PREPROCESSOR_MIN(X,Y) BOOST_PREPROCESSOR_IF(BOOST_PREPROCESSOR_LESS(Y,X),Y,X)
|
/*!
|
||||||
|
For example, BOOST_PP_MIN(5,7) expands to 5 (a single token).
|
||||||
|
*/
|
||||||
|
#define BOOST_PP_MIN(X,Y) BOOST_PP_MIN_D(0,X,Y)
|
||||||
|
|
||||||
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
|
#define BOOST_PP_MIN_D(D,X,Y) BOOST_PP_IF(BOOST_PP_LESS_EQUAL_D(D,Y,X),Y,X)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_MIN().
|
||||||
|
#define BOOST_PREPROCESSOR_MIN(X,Y) BOOST_PP_MIN(X,Y)
|
||||||
#endif
|
#endif
|
||||||
|
@ -25,140 +25,143 @@ In other words, expands to the sequence:
|
|||||||
M(0,P) M(1,P) ... M(N-1,P)
|
M(0,P) M(1,P) ... M(N-1,P)
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
See BOOST_PREPROCESSOR_LIMIT_MAG.
|
See BOOST_PP_LIMIT_MAG.
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_REPEAT(N,M,P) BOOST_PREPROCESSOR_REPEAT_DELAY(N,M,P)
|
#define BOOST_PP_REPEAT(N,M,P) BOOST_PP_REPEAT_DELAY(N,M,P)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_DELAY(N,M,P) BOOST_PREPROCESSOR_REPEAT##N(M,P)
|
#define BOOST_PP_REPEAT_DELAY(N,M,P) BOOST_PP_REPEAT##N(M,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT0(M,P)
|
#define BOOST_PP_REPEAT0(M,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT1(M,P) M(0,P)
|
#define BOOST_PP_REPEAT1(M,P) M(0,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT2(M,P) M(0,P) M(1,P)
|
#define BOOST_PP_REPEAT2(M,P) M(0,P) M(1,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT3(M,P) BOOST_PREPROCESSOR_REPEAT2(M,P) M(2,P)
|
#define BOOST_PP_REPEAT3(M,P) BOOST_PP_REPEAT2(M,P) M(2,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT4(M,P) BOOST_PREPROCESSOR_REPEAT3(M,P) M(3,P)
|
#define BOOST_PP_REPEAT4(M,P) BOOST_PP_REPEAT3(M,P) M(3,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT5(M,P) BOOST_PREPROCESSOR_REPEAT4(M,P) M(4,P)
|
#define BOOST_PP_REPEAT5(M,P) BOOST_PP_REPEAT4(M,P) M(4,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT6(M,P) BOOST_PREPROCESSOR_REPEAT5(M,P) M(5,P)
|
#define BOOST_PP_REPEAT6(M,P) BOOST_PP_REPEAT5(M,P) M(5,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT7(M,P) BOOST_PREPROCESSOR_REPEAT6(M,P) M(6,P)
|
#define BOOST_PP_REPEAT7(M,P) BOOST_PP_REPEAT6(M,P) M(6,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT8(M,P) BOOST_PREPROCESSOR_REPEAT7(M,P) M(7,P)
|
#define BOOST_PP_REPEAT8(M,P) BOOST_PP_REPEAT7(M,P) M(7,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT9(M,P) BOOST_PREPROCESSOR_REPEAT8(M,P) M(8,P)
|
#define BOOST_PP_REPEAT9(M,P) BOOST_PP_REPEAT8(M,P) M(8,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT10(M,P) BOOST_PREPROCESSOR_REPEAT9(M,P) M(9,P)
|
#define BOOST_PP_REPEAT10(M,P) BOOST_PP_REPEAT9(M,P) M(9,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT11(M,P) BOOST_PREPROCESSOR_REPEAT10(M,P) M(10,P)
|
#define BOOST_PP_REPEAT11(M,P) BOOST_PP_REPEAT10(M,P) M(10,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT12(M,P) BOOST_PREPROCESSOR_REPEAT11(M,P) M(11,P)
|
#define BOOST_PP_REPEAT12(M,P) BOOST_PP_REPEAT11(M,P) M(11,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT13(M,P) BOOST_PREPROCESSOR_REPEAT12(M,P) M(12,P)
|
#define BOOST_PP_REPEAT13(M,P) BOOST_PP_REPEAT12(M,P) M(12,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT14(M,P) BOOST_PREPROCESSOR_REPEAT13(M,P) M(13,P)
|
#define BOOST_PP_REPEAT14(M,P) BOOST_PP_REPEAT13(M,P) M(13,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT15(M,P) BOOST_PREPROCESSOR_REPEAT14(M,P) M(14,P)
|
#define BOOST_PP_REPEAT15(M,P) BOOST_PP_REPEAT14(M,P) M(14,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT16(M,P) BOOST_PREPROCESSOR_REPEAT15(M,P) M(15,P)
|
#define BOOST_PP_REPEAT16(M,P) BOOST_PP_REPEAT15(M,P) M(15,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT17(M,P) BOOST_PREPROCESSOR_REPEAT16(M,P) M(16,P)
|
#define BOOST_PP_REPEAT17(M,P) BOOST_PP_REPEAT16(M,P) M(16,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT18(M,P) BOOST_PREPROCESSOR_REPEAT17(M,P) M(17,P)
|
#define BOOST_PP_REPEAT18(M,P) BOOST_PP_REPEAT17(M,P) M(17,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT19(M,P) BOOST_PREPROCESSOR_REPEAT18(M,P) M(18,P)
|
#define BOOST_PP_REPEAT19(M,P) BOOST_PP_REPEAT18(M,P) M(18,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT20(M,P) BOOST_PREPROCESSOR_REPEAT19(M,P) M(19,P)
|
#define BOOST_PP_REPEAT20(M,P) BOOST_PP_REPEAT19(M,P) M(19,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT21(M,P) BOOST_PREPROCESSOR_REPEAT20(M,P) M(20,P)
|
#define BOOST_PP_REPEAT21(M,P) BOOST_PP_REPEAT20(M,P) M(20,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT22(M,P) BOOST_PREPROCESSOR_REPEAT21(M,P) M(21,P)
|
#define BOOST_PP_REPEAT22(M,P) BOOST_PP_REPEAT21(M,P) M(21,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT23(M,P) BOOST_PREPROCESSOR_REPEAT22(M,P) M(22,P)
|
#define BOOST_PP_REPEAT23(M,P) BOOST_PP_REPEAT22(M,P) M(22,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT24(M,P) BOOST_PREPROCESSOR_REPEAT23(M,P) M(23,P)
|
#define BOOST_PP_REPEAT24(M,P) BOOST_PP_REPEAT23(M,P) M(23,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT25(M,P) BOOST_PREPROCESSOR_REPEAT24(M,P) M(24,P)
|
#define BOOST_PP_REPEAT25(M,P) BOOST_PP_REPEAT24(M,P) M(24,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT26(M,P) BOOST_PREPROCESSOR_REPEAT25(M,P) M(25,P)
|
#define BOOST_PP_REPEAT26(M,P) BOOST_PP_REPEAT25(M,P) M(25,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT27(M,P) BOOST_PREPROCESSOR_REPEAT26(M,P) M(26,P)
|
#define BOOST_PP_REPEAT27(M,P) BOOST_PP_REPEAT26(M,P) M(26,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT28(M,P) BOOST_PREPROCESSOR_REPEAT27(M,P) M(27,P)
|
#define BOOST_PP_REPEAT28(M,P) BOOST_PP_REPEAT27(M,P) M(27,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT29(M,P) BOOST_PREPROCESSOR_REPEAT28(M,P) M(28,P)
|
#define BOOST_PP_REPEAT29(M,P) BOOST_PP_REPEAT28(M,P) M(28,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT30(M,P) BOOST_PREPROCESSOR_REPEAT29(M,P) M(29,P)
|
#define BOOST_PP_REPEAT30(M,P) BOOST_PP_REPEAT29(M,P) M(29,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT31(M,P) BOOST_PREPROCESSOR_REPEAT30(M,P) M(30,P)
|
#define BOOST_PP_REPEAT31(M,P) BOOST_PP_REPEAT30(M,P) M(30,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT32(M,P) BOOST_PREPROCESSOR_REPEAT31(M,P) M(31,P)
|
#define BOOST_PP_REPEAT32(M,P) BOOST_PP_REPEAT31(M,P) M(31,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT33(M,P) BOOST_PREPROCESSOR_REPEAT32(M,P) M(32,P)
|
#define BOOST_PP_REPEAT33(M,P) BOOST_PP_REPEAT32(M,P) M(32,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT34(M,P) BOOST_PREPROCESSOR_REPEAT33(M,P) M(33,P)
|
#define BOOST_PP_REPEAT34(M,P) BOOST_PP_REPEAT33(M,P) M(33,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT35(M,P) BOOST_PREPROCESSOR_REPEAT34(M,P) M(34,P)
|
#define BOOST_PP_REPEAT35(M,P) BOOST_PP_REPEAT34(M,P) M(34,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT36(M,P) BOOST_PREPROCESSOR_REPEAT35(M,P) M(35,P)
|
#define BOOST_PP_REPEAT36(M,P) BOOST_PP_REPEAT35(M,P) M(35,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT37(M,P) BOOST_PREPROCESSOR_REPEAT36(M,P) M(36,P)
|
#define BOOST_PP_REPEAT37(M,P) BOOST_PP_REPEAT36(M,P) M(36,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT38(M,P) BOOST_PREPROCESSOR_REPEAT37(M,P) M(37,P)
|
#define BOOST_PP_REPEAT38(M,P) BOOST_PP_REPEAT37(M,P) M(37,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT39(M,P) BOOST_PREPROCESSOR_REPEAT38(M,P) M(38,P)
|
#define BOOST_PP_REPEAT39(M,P) BOOST_PP_REPEAT38(M,P) M(38,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT40(M,P) BOOST_PREPROCESSOR_REPEAT39(M,P) M(39,P)
|
#define BOOST_PP_REPEAT40(M,P) BOOST_PP_REPEAT39(M,P) M(39,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT41(M,P) BOOST_PREPROCESSOR_REPEAT40(M,P) M(40,P)
|
#define BOOST_PP_REPEAT41(M,P) BOOST_PP_REPEAT40(M,P) M(40,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT42(M,P) BOOST_PREPROCESSOR_REPEAT41(M,P) M(41,P)
|
#define BOOST_PP_REPEAT42(M,P) BOOST_PP_REPEAT41(M,P) M(41,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT43(M,P) BOOST_PREPROCESSOR_REPEAT42(M,P) M(42,P)
|
#define BOOST_PP_REPEAT43(M,P) BOOST_PP_REPEAT42(M,P) M(42,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT44(M,P) BOOST_PREPROCESSOR_REPEAT43(M,P) M(43,P)
|
#define BOOST_PP_REPEAT44(M,P) BOOST_PP_REPEAT43(M,P) M(43,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT45(M,P) BOOST_PREPROCESSOR_REPEAT44(M,P) M(44,P)
|
#define BOOST_PP_REPEAT45(M,P) BOOST_PP_REPEAT44(M,P) M(44,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT46(M,P) BOOST_PREPROCESSOR_REPEAT45(M,P) M(45,P)
|
#define BOOST_PP_REPEAT46(M,P) BOOST_PP_REPEAT45(M,P) M(45,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT47(M,P) BOOST_PREPROCESSOR_REPEAT46(M,P) M(46,P)
|
#define BOOST_PP_REPEAT47(M,P) BOOST_PP_REPEAT46(M,P) M(46,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT48(M,P) BOOST_PREPROCESSOR_REPEAT47(M,P) M(47,P)
|
#define BOOST_PP_REPEAT48(M,P) BOOST_PP_REPEAT47(M,P) M(47,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT49(M,P) BOOST_PREPROCESSOR_REPEAT48(M,P) M(48,P)
|
#define BOOST_PP_REPEAT49(M,P) BOOST_PP_REPEAT48(M,P) M(48,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT50(M,P) BOOST_PREPROCESSOR_REPEAT49(M,P) M(49,P)
|
#define BOOST_PP_REPEAT50(M,P) BOOST_PP_REPEAT49(M,P) M(49,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT51(M,P) BOOST_PREPROCESSOR_REPEAT50(M,P) M(50,P)
|
#define BOOST_PP_REPEAT51(M,P) BOOST_PP_REPEAT50(M,P) M(50,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT52(M,P) BOOST_PREPROCESSOR_REPEAT51(M,P) M(51,P)
|
#define BOOST_PP_REPEAT52(M,P) BOOST_PP_REPEAT51(M,P) M(51,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT53(M,P) BOOST_PREPROCESSOR_REPEAT52(M,P) M(52,P)
|
#define BOOST_PP_REPEAT53(M,P) BOOST_PP_REPEAT52(M,P) M(52,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT54(M,P) BOOST_PREPROCESSOR_REPEAT53(M,P) M(53,P)
|
#define BOOST_PP_REPEAT54(M,P) BOOST_PP_REPEAT53(M,P) M(53,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT55(M,P) BOOST_PREPROCESSOR_REPEAT54(M,P) M(54,P)
|
#define BOOST_PP_REPEAT55(M,P) BOOST_PP_REPEAT54(M,P) M(54,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT56(M,P) BOOST_PREPROCESSOR_REPEAT55(M,P) M(55,P)
|
#define BOOST_PP_REPEAT56(M,P) BOOST_PP_REPEAT55(M,P) M(55,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT57(M,P) BOOST_PREPROCESSOR_REPEAT56(M,P) M(56,P)
|
#define BOOST_PP_REPEAT57(M,P) BOOST_PP_REPEAT56(M,P) M(56,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT58(M,P) BOOST_PREPROCESSOR_REPEAT57(M,P) M(57,P)
|
#define BOOST_PP_REPEAT58(M,P) BOOST_PP_REPEAT57(M,P) M(57,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT59(M,P) BOOST_PREPROCESSOR_REPEAT58(M,P) M(58,P)
|
#define BOOST_PP_REPEAT59(M,P) BOOST_PP_REPEAT58(M,P) M(58,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT60(M,P) BOOST_PREPROCESSOR_REPEAT59(M,P) M(59,P)
|
#define BOOST_PP_REPEAT60(M,P) BOOST_PP_REPEAT59(M,P) M(59,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT61(M,P) BOOST_PREPROCESSOR_REPEAT60(M,P) M(60,P)
|
#define BOOST_PP_REPEAT61(M,P) BOOST_PP_REPEAT60(M,P) M(60,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT62(M,P) BOOST_PREPROCESSOR_REPEAT61(M,P) M(61,P)
|
#define BOOST_PP_REPEAT62(M,P) BOOST_PP_REPEAT61(M,P) M(61,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT63(M,P) BOOST_PREPROCESSOR_REPEAT62(M,P) M(62,P)
|
#define BOOST_PP_REPEAT63(M,P) BOOST_PP_REPEAT62(M,P) M(62,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT64(M,P) BOOST_PREPROCESSOR_REPEAT63(M,P) M(63,P)
|
#define BOOST_PP_REPEAT64(M,P) BOOST_PP_REPEAT63(M,P) M(63,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT65(M,P) BOOST_PREPROCESSOR_REPEAT64(M,P) M(64,P)
|
#define BOOST_PP_REPEAT65(M,P) BOOST_PP_REPEAT64(M,P) M(64,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT66(M,P) BOOST_PREPROCESSOR_REPEAT65(M,P) M(65,P)
|
#define BOOST_PP_REPEAT66(M,P) BOOST_PP_REPEAT65(M,P) M(65,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT67(M,P) BOOST_PREPROCESSOR_REPEAT66(M,P) M(66,P)
|
#define BOOST_PP_REPEAT67(M,P) BOOST_PP_REPEAT66(M,P) M(66,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT68(M,P) BOOST_PREPROCESSOR_REPEAT67(M,P) M(67,P)
|
#define BOOST_PP_REPEAT68(M,P) BOOST_PP_REPEAT67(M,P) M(67,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT69(M,P) BOOST_PREPROCESSOR_REPEAT68(M,P) M(68,P)
|
#define BOOST_PP_REPEAT69(M,P) BOOST_PP_REPEAT68(M,P) M(68,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT70(M,P) BOOST_PREPROCESSOR_REPEAT69(M,P) M(69,P)
|
#define BOOST_PP_REPEAT70(M,P) BOOST_PP_REPEAT69(M,P) M(69,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT71(M,P) BOOST_PREPROCESSOR_REPEAT70(M,P) M(70,P)
|
#define BOOST_PP_REPEAT71(M,P) BOOST_PP_REPEAT70(M,P) M(70,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT72(M,P) BOOST_PREPROCESSOR_REPEAT71(M,P) M(71,P)
|
#define BOOST_PP_REPEAT72(M,P) BOOST_PP_REPEAT71(M,P) M(71,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT73(M,P) BOOST_PREPROCESSOR_REPEAT72(M,P) M(72,P)
|
#define BOOST_PP_REPEAT73(M,P) BOOST_PP_REPEAT72(M,P) M(72,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT74(M,P) BOOST_PREPROCESSOR_REPEAT73(M,P) M(73,P)
|
#define BOOST_PP_REPEAT74(M,P) BOOST_PP_REPEAT73(M,P) M(73,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT75(M,P) BOOST_PREPROCESSOR_REPEAT74(M,P) M(74,P)
|
#define BOOST_PP_REPEAT75(M,P) BOOST_PP_REPEAT74(M,P) M(74,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT76(M,P) BOOST_PREPROCESSOR_REPEAT75(M,P) M(75,P)
|
#define BOOST_PP_REPEAT76(M,P) BOOST_PP_REPEAT75(M,P) M(75,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT77(M,P) BOOST_PREPROCESSOR_REPEAT76(M,P) M(76,P)
|
#define BOOST_PP_REPEAT77(M,P) BOOST_PP_REPEAT76(M,P) M(76,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT78(M,P) BOOST_PREPROCESSOR_REPEAT77(M,P) M(77,P)
|
#define BOOST_PP_REPEAT78(M,P) BOOST_PP_REPEAT77(M,P) M(77,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT79(M,P) BOOST_PREPROCESSOR_REPEAT78(M,P) M(78,P)
|
#define BOOST_PP_REPEAT79(M,P) BOOST_PP_REPEAT78(M,P) M(78,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT80(M,P) BOOST_PREPROCESSOR_REPEAT79(M,P) M(79,P)
|
#define BOOST_PP_REPEAT80(M,P) BOOST_PP_REPEAT79(M,P) M(79,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT81(M,P) BOOST_PREPROCESSOR_REPEAT80(M,P) M(80,P)
|
#define BOOST_PP_REPEAT81(M,P) BOOST_PP_REPEAT80(M,P) M(80,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT82(M,P) BOOST_PREPROCESSOR_REPEAT81(M,P) M(81,P)
|
#define BOOST_PP_REPEAT82(M,P) BOOST_PP_REPEAT81(M,P) M(81,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT83(M,P) BOOST_PREPROCESSOR_REPEAT82(M,P) M(82,P)
|
#define BOOST_PP_REPEAT83(M,P) BOOST_PP_REPEAT82(M,P) M(82,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT84(M,P) BOOST_PREPROCESSOR_REPEAT83(M,P) M(83,P)
|
#define BOOST_PP_REPEAT84(M,P) BOOST_PP_REPEAT83(M,P) M(83,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT85(M,P) BOOST_PREPROCESSOR_REPEAT84(M,P) M(84,P)
|
#define BOOST_PP_REPEAT85(M,P) BOOST_PP_REPEAT84(M,P) M(84,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT86(M,P) BOOST_PREPROCESSOR_REPEAT85(M,P) M(85,P)
|
#define BOOST_PP_REPEAT86(M,P) BOOST_PP_REPEAT85(M,P) M(85,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT87(M,P) BOOST_PREPROCESSOR_REPEAT86(M,P) M(86,P)
|
#define BOOST_PP_REPEAT87(M,P) BOOST_PP_REPEAT86(M,P) M(86,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT88(M,P) BOOST_PREPROCESSOR_REPEAT87(M,P) M(87,P)
|
#define BOOST_PP_REPEAT88(M,P) BOOST_PP_REPEAT87(M,P) M(87,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT89(M,P) BOOST_PREPROCESSOR_REPEAT88(M,P) M(88,P)
|
#define BOOST_PP_REPEAT89(M,P) BOOST_PP_REPEAT88(M,P) M(88,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT90(M,P) BOOST_PREPROCESSOR_REPEAT89(M,P) M(89,P)
|
#define BOOST_PP_REPEAT90(M,P) BOOST_PP_REPEAT89(M,P) M(89,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT91(M,P) BOOST_PREPROCESSOR_REPEAT90(M,P) M(90,P)
|
#define BOOST_PP_REPEAT91(M,P) BOOST_PP_REPEAT90(M,P) M(90,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT92(M,P) BOOST_PREPROCESSOR_REPEAT91(M,P) M(91,P)
|
#define BOOST_PP_REPEAT92(M,P) BOOST_PP_REPEAT91(M,P) M(91,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT93(M,P) BOOST_PREPROCESSOR_REPEAT92(M,P) M(92,P)
|
#define BOOST_PP_REPEAT93(M,P) BOOST_PP_REPEAT92(M,P) M(92,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT94(M,P) BOOST_PREPROCESSOR_REPEAT93(M,P) M(93,P)
|
#define BOOST_PP_REPEAT94(M,P) BOOST_PP_REPEAT93(M,P) M(93,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT95(M,P) BOOST_PREPROCESSOR_REPEAT94(M,P) M(94,P)
|
#define BOOST_PP_REPEAT95(M,P) BOOST_PP_REPEAT94(M,P) M(94,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT96(M,P) BOOST_PREPROCESSOR_REPEAT95(M,P) M(95,P)
|
#define BOOST_PP_REPEAT96(M,P) BOOST_PP_REPEAT95(M,P) M(95,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT97(M,P) BOOST_PREPROCESSOR_REPEAT96(M,P) M(96,P)
|
#define BOOST_PP_REPEAT97(M,P) BOOST_PP_REPEAT96(M,P) M(96,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT98(M,P) BOOST_PREPROCESSOR_REPEAT97(M,P) M(97,P)
|
#define BOOST_PP_REPEAT98(M,P) BOOST_PP_REPEAT97(M,P) M(97,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT99(M,P) BOOST_PREPROCESSOR_REPEAT98(M,P) M(98,P)
|
#define BOOST_PP_REPEAT99(M,P) BOOST_PP_REPEAT98(M,P) M(98,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT100(M,P) BOOST_PREPROCESSOR_REPEAT99(M,P) M(99,P)
|
#define BOOST_PP_REPEAT100(M,P) BOOST_PP_REPEAT99(M,P) M(99,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT101(M,P) BOOST_PREPROCESSOR_REPEAT100(M,P) M(100,P)
|
#define BOOST_PP_REPEAT101(M,P) BOOST_PP_REPEAT100(M,P) M(100,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT102(M,P) BOOST_PREPROCESSOR_REPEAT101(M,P) M(101,P)
|
#define BOOST_PP_REPEAT102(M,P) BOOST_PP_REPEAT101(M,P) M(101,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT103(M,P) BOOST_PREPROCESSOR_REPEAT102(M,P) M(102,P)
|
#define BOOST_PP_REPEAT103(M,P) BOOST_PP_REPEAT102(M,P) M(102,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT104(M,P) BOOST_PREPROCESSOR_REPEAT103(M,P) M(103,P)
|
#define BOOST_PP_REPEAT104(M,P) BOOST_PP_REPEAT103(M,P) M(103,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT105(M,P) BOOST_PREPROCESSOR_REPEAT104(M,P) M(104,P)
|
#define BOOST_PP_REPEAT105(M,P) BOOST_PP_REPEAT104(M,P) M(104,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT106(M,P) BOOST_PREPROCESSOR_REPEAT105(M,P) M(105,P)
|
#define BOOST_PP_REPEAT106(M,P) BOOST_PP_REPEAT105(M,P) M(105,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT107(M,P) BOOST_PREPROCESSOR_REPEAT106(M,P) M(106,P)
|
#define BOOST_PP_REPEAT107(M,P) BOOST_PP_REPEAT106(M,P) M(106,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT108(M,P) BOOST_PREPROCESSOR_REPEAT107(M,P) M(107,P)
|
#define BOOST_PP_REPEAT108(M,P) BOOST_PP_REPEAT107(M,P) M(107,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT109(M,P) BOOST_PREPROCESSOR_REPEAT108(M,P) M(108,P)
|
#define BOOST_PP_REPEAT109(M,P) BOOST_PP_REPEAT108(M,P) M(108,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT110(M,P) BOOST_PREPROCESSOR_REPEAT109(M,P) M(109,P)
|
#define BOOST_PP_REPEAT110(M,P) BOOST_PP_REPEAT109(M,P) M(109,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT111(M,P) BOOST_PREPROCESSOR_REPEAT110(M,P) M(110,P)
|
#define BOOST_PP_REPEAT111(M,P) BOOST_PP_REPEAT110(M,P) M(110,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT112(M,P) BOOST_PREPROCESSOR_REPEAT111(M,P) M(111,P)
|
#define BOOST_PP_REPEAT112(M,P) BOOST_PP_REPEAT111(M,P) M(111,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT113(M,P) BOOST_PREPROCESSOR_REPEAT112(M,P) M(112,P)
|
#define BOOST_PP_REPEAT113(M,P) BOOST_PP_REPEAT112(M,P) M(112,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT114(M,P) BOOST_PREPROCESSOR_REPEAT113(M,P) M(113,P)
|
#define BOOST_PP_REPEAT114(M,P) BOOST_PP_REPEAT113(M,P) M(113,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT115(M,P) BOOST_PREPROCESSOR_REPEAT114(M,P) M(114,P)
|
#define BOOST_PP_REPEAT115(M,P) BOOST_PP_REPEAT114(M,P) M(114,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT116(M,P) BOOST_PREPROCESSOR_REPEAT115(M,P) M(115,P)
|
#define BOOST_PP_REPEAT116(M,P) BOOST_PP_REPEAT115(M,P) M(115,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT117(M,P) BOOST_PREPROCESSOR_REPEAT116(M,P) M(116,P)
|
#define BOOST_PP_REPEAT117(M,P) BOOST_PP_REPEAT116(M,P) M(116,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT118(M,P) BOOST_PREPROCESSOR_REPEAT117(M,P) M(117,P)
|
#define BOOST_PP_REPEAT118(M,P) BOOST_PP_REPEAT117(M,P) M(117,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT119(M,P) BOOST_PREPROCESSOR_REPEAT118(M,P) M(118,P)
|
#define BOOST_PP_REPEAT119(M,P) BOOST_PP_REPEAT118(M,P) M(118,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT120(M,P) BOOST_PREPROCESSOR_REPEAT119(M,P) M(119,P)
|
#define BOOST_PP_REPEAT120(M,P) BOOST_PP_REPEAT119(M,P) M(119,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT121(M,P) BOOST_PREPROCESSOR_REPEAT120(M,P) M(120,P)
|
#define BOOST_PP_REPEAT121(M,P) BOOST_PP_REPEAT120(M,P) M(120,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT122(M,P) BOOST_PREPROCESSOR_REPEAT121(M,P) M(121,P)
|
#define BOOST_PP_REPEAT122(M,P) BOOST_PP_REPEAT121(M,P) M(121,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT123(M,P) BOOST_PREPROCESSOR_REPEAT122(M,P) M(122,P)
|
#define BOOST_PP_REPEAT123(M,P) BOOST_PP_REPEAT122(M,P) M(122,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT124(M,P) BOOST_PREPROCESSOR_REPEAT123(M,P) M(123,P)
|
#define BOOST_PP_REPEAT124(M,P) BOOST_PP_REPEAT123(M,P) M(123,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT125(M,P) BOOST_PREPROCESSOR_REPEAT124(M,P) M(124,P)
|
#define BOOST_PP_REPEAT125(M,P) BOOST_PP_REPEAT124(M,P) M(124,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT126(M,P) BOOST_PREPROCESSOR_REPEAT125(M,P) M(125,P)
|
#define BOOST_PP_REPEAT126(M,P) BOOST_PP_REPEAT125(M,P) M(125,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT127(M,P) BOOST_PREPROCESSOR_REPEAT126(M,P) M(126,P)
|
#define BOOST_PP_REPEAT127(M,P) BOOST_PP_REPEAT126(M,P) M(126,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT128(M,P) BOOST_PREPROCESSOR_REPEAT127(M,P) M(127,P)
|
#define BOOST_PP_REPEAT128(M,P) BOOST_PP_REPEAT127(M,P) M(127,P)
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_REPEAT().
|
||||||
|
#define BOOST_PREPROCESSOR_REPEAT(N,M,P) BOOST_PP_REPEAT(N,M,P)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,139 +17,142 @@
|
|||||||
<a href="../../../../boost/preprocessor/repeat_2nd.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/repeat_2nd.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! Same as BOOST_PREPROCESSOR_REPEAT(), but implemented independently.
|
//! Same as BOOST_PP_REPEAT(), but implemented independently.
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND(N,M,P) BOOST_PREPROCESSOR_REPEAT_2ND_DELAY(N,M,P)
|
#define BOOST_PP_REPEAT_2ND(N,M,P) BOOST_PP_REPEAT_2ND_DELAY(N,M,P)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND_DELAY(N,M,P) BOOST_PREPROCESSOR_REPEAT_2ND##N(M,P)
|
#define BOOST_PP_REPEAT_2ND_DELAY(N,M,P) BOOST_PP_REPEAT_2ND##N(M,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND0(M,P)
|
#define BOOST_PP_REPEAT_2ND0(M,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND1(M,P) M(0,P)
|
#define BOOST_PP_REPEAT_2ND1(M,P) M(0,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND2(M,P) M(0,P) M(1,P)
|
#define BOOST_PP_REPEAT_2ND2(M,P) M(0,P) M(1,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND3(M,P) BOOST_PREPROCESSOR_REPEAT_2ND2(M,P) M(2,P)
|
#define BOOST_PP_REPEAT_2ND3(M,P) BOOST_PP_REPEAT_2ND2(M,P) M(2,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND4(M,P) BOOST_PREPROCESSOR_REPEAT_2ND3(M,P) M(3,P)
|
#define BOOST_PP_REPEAT_2ND4(M,P) BOOST_PP_REPEAT_2ND3(M,P) M(3,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND5(M,P) BOOST_PREPROCESSOR_REPEAT_2ND4(M,P) M(4,P)
|
#define BOOST_PP_REPEAT_2ND5(M,P) BOOST_PP_REPEAT_2ND4(M,P) M(4,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND6(M,P) BOOST_PREPROCESSOR_REPEAT_2ND5(M,P) M(5,P)
|
#define BOOST_PP_REPEAT_2ND6(M,P) BOOST_PP_REPEAT_2ND5(M,P) M(5,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND7(M,P) BOOST_PREPROCESSOR_REPEAT_2ND6(M,P) M(6,P)
|
#define BOOST_PP_REPEAT_2ND7(M,P) BOOST_PP_REPEAT_2ND6(M,P) M(6,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND8(M,P) BOOST_PREPROCESSOR_REPEAT_2ND7(M,P) M(7,P)
|
#define BOOST_PP_REPEAT_2ND8(M,P) BOOST_PP_REPEAT_2ND7(M,P) M(7,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND9(M,P) BOOST_PREPROCESSOR_REPEAT_2ND8(M,P) M(8,P)
|
#define BOOST_PP_REPEAT_2ND9(M,P) BOOST_PP_REPEAT_2ND8(M,P) M(8,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND10(M,P) BOOST_PREPROCESSOR_REPEAT_2ND9(M,P) M(9,P)
|
#define BOOST_PP_REPEAT_2ND10(M,P) BOOST_PP_REPEAT_2ND9(M,P) M(9,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND11(M,P) BOOST_PREPROCESSOR_REPEAT_2ND10(M,P) M(10,P)
|
#define BOOST_PP_REPEAT_2ND11(M,P) BOOST_PP_REPEAT_2ND10(M,P) M(10,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND12(M,P) BOOST_PREPROCESSOR_REPEAT_2ND11(M,P) M(11,P)
|
#define BOOST_PP_REPEAT_2ND12(M,P) BOOST_PP_REPEAT_2ND11(M,P) M(11,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND13(M,P) BOOST_PREPROCESSOR_REPEAT_2ND12(M,P) M(12,P)
|
#define BOOST_PP_REPEAT_2ND13(M,P) BOOST_PP_REPEAT_2ND12(M,P) M(12,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND14(M,P) BOOST_PREPROCESSOR_REPEAT_2ND13(M,P) M(13,P)
|
#define BOOST_PP_REPEAT_2ND14(M,P) BOOST_PP_REPEAT_2ND13(M,P) M(13,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND15(M,P) BOOST_PREPROCESSOR_REPEAT_2ND14(M,P) M(14,P)
|
#define BOOST_PP_REPEAT_2ND15(M,P) BOOST_PP_REPEAT_2ND14(M,P) M(14,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND16(M,P) BOOST_PREPROCESSOR_REPEAT_2ND15(M,P) M(15,P)
|
#define BOOST_PP_REPEAT_2ND16(M,P) BOOST_PP_REPEAT_2ND15(M,P) M(15,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND17(M,P) BOOST_PREPROCESSOR_REPEAT_2ND16(M,P) M(16,P)
|
#define BOOST_PP_REPEAT_2ND17(M,P) BOOST_PP_REPEAT_2ND16(M,P) M(16,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND18(M,P) BOOST_PREPROCESSOR_REPEAT_2ND17(M,P) M(17,P)
|
#define BOOST_PP_REPEAT_2ND18(M,P) BOOST_PP_REPEAT_2ND17(M,P) M(17,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND19(M,P) BOOST_PREPROCESSOR_REPEAT_2ND18(M,P) M(18,P)
|
#define BOOST_PP_REPEAT_2ND19(M,P) BOOST_PP_REPEAT_2ND18(M,P) M(18,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND20(M,P) BOOST_PREPROCESSOR_REPEAT_2ND19(M,P) M(19,P)
|
#define BOOST_PP_REPEAT_2ND20(M,P) BOOST_PP_REPEAT_2ND19(M,P) M(19,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND21(M,P) BOOST_PREPROCESSOR_REPEAT_2ND20(M,P) M(20,P)
|
#define BOOST_PP_REPEAT_2ND21(M,P) BOOST_PP_REPEAT_2ND20(M,P) M(20,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND22(M,P) BOOST_PREPROCESSOR_REPEAT_2ND21(M,P) M(21,P)
|
#define BOOST_PP_REPEAT_2ND22(M,P) BOOST_PP_REPEAT_2ND21(M,P) M(21,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND23(M,P) BOOST_PREPROCESSOR_REPEAT_2ND22(M,P) M(22,P)
|
#define BOOST_PP_REPEAT_2ND23(M,P) BOOST_PP_REPEAT_2ND22(M,P) M(22,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND24(M,P) BOOST_PREPROCESSOR_REPEAT_2ND23(M,P) M(23,P)
|
#define BOOST_PP_REPEAT_2ND24(M,P) BOOST_PP_REPEAT_2ND23(M,P) M(23,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND25(M,P) BOOST_PREPROCESSOR_REPEAT_2ND24(M,P) M(24,P)
|
#define BOOST_PP_REPEAT_2ND25(M,P) BOOST_PP_REPEAT_2ND24(M,P) M(24,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND26(M,P) BOOST_PREPROCESSOR_REPEAT_2ND25(M,P) M(25,P)
|
#define BOOST_PP_REPEAT_2ND26(M,P) BOOST_PP_REPEAT_2ND25(M,P) M(25,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND27(M,P) BOOST_PREPROCESSOR_REPEAT_2ND26(M,P) M(26,P)
|
#define BOOST_PP_REPEAT_2ND27(M,P) BOOST_PP_REPEAT_2ND26(M,P) M(26,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND28(M,P) BOOST_PREPROCESSOR_REPEAT_2ND27(M,P) M(27,P)
|
#define BOOST_PP_REPEAT_2ND28(M,P) BOOST_PP_REPEAT_2ND27(M,P) M(27,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND29(M,P) BOOST_PREPROCESSOR_REPEAT_2ND28(M,P) M(28,P)
|
#define BOOST_PP_REPEAT_2ND29(M,P) BOOST_PP_REPEAT_2ND28(M,P) M(28,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND30(M,P) BOOST_PREPROCESSOR_REPEAT_2ND29(M,P) M(29,P)
|
#define BOOST_PP_REPEAT_2ND30(M,P) BOOST_PP_REPEAT_2ND29(M,P) M(29,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND31(M,P) BOOST_PREPROCESSOR_REPEAT_2ND30(M,P) M(30,P)
|
#define BOOST_PP_REPEAT_2ND31(M,P) BOOST_PP_REPEAT_2ND30(M,P) M(30,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND32(M,P) BOOST_PREPROCESSOR_REPEAT_2ND31(M,P) M(31,P)
|
#define BOOST_PP_REPEAT_2ND32(M,P) BOOST_PP_REPEAT_2ND31(M,P) M(31,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND33(M,P) BOOST_PREPROCESSOR_REPEAT_2ND32(M,P) M(32,P)
|
#define BOOST_PP_REPEAT_2ND33(M,P) BOOST_PP_REPEAT_2ND32(M,P) M(32,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND34(M,P) BOOST_PREPROCESSOR_REPEAT_2ND33(M,P) M(33,P)
|
#define BOOST_PP_REPEAT_2ND34(M,P) BOOST_PP_REPEAT_2ND33(M,P) M(33,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND35(M,P) BOOST_PREPROCESSOR_REPEAT_2ND34(M,P) M(34,P)
|
#define BOOST_PP_REPEAT_2ND35(M,P) BOOST_PP_REPEAT_2ND34(M,P) M(34,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND36(M,P) BOOST_PREPROCESSOR_REPEAT_2ND35(M,P) M(35,P)
|
#define BOOST_PP_REPEAT_2ND36(M,P) BOOST_PP_REPEAT_2ND35(M,P) M(35,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND37(M,P) BOOST_PREPROCESSOR_REPEAT_2ND36(M,P) M(36,P)
|
#define BOOST_PP_REPEAT_2ND37(M,P) BOOST_PP_REPEAT_2ND36(M,P) M(36,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND38(M,P) BOOST_PREPROCESSOR_REPEAT_2ND37(M,P) M(37,P)
|
#define BOOST_PP_REPEAT_2ND38(M,P) BOOST_PP_REPEAT_2ND37(M,P) M(37,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND39(M,P) BOOST_PREPROCESSOR_REPEAT_2ND38(M,P) M(38,P)
|
#define BOOST_PP_REPEAT_2ND39(M,P) BOOST_PP_REPEAT_2ND38(M,P) M(38,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND40(M,P) BOOST_PREPROCESSOR_REPEAT_2ND39(M,P) M(39,P)
|
#define BOOST_PP_REPEAT_2ND40(M,P) BOOST_PP_REPEAT_2ND39(M,P) M(39,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND41(M,P) BOOST_PREPROCESSOR_REPEAT_2ND40(M,P) M(40,P)
|
#define BOOST_PP_REPEAT_2ND41(M,P) BOOST_PP_REPEAT_2ND40(M,P) M(40,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND42(M,P) BOOST_PREPROCESSOR_REPEAT_2ND41(M,P) M(41,P)
|
#define BOOST_PP_REPEAT_2ND42(M,P) BOOST_PP_REPEAT_2ND41(M,P) M(41,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND43(M,P) BOOST_PREPROCESSOR_REPEAT_2ND42(M,P) M(42,P)
|
#define BOOST_PP_REPEAT_2ND43(M,P) BOOST_PP_REPEAT_2ND42(M,P) M(42,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND44(M,P) BOOST_PREPROCESSOR_REPEAT_2ND43(M,P) M(43,P)
|
#define BOOST_PP_REPEAT_2ND44(M,P) BOOST_PP_REPEAT_2ND43(M,P) M(43,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND45(M,P) BOOST_PREPROCESSOR_REPEAT_2ND44(M,P) M(44,P)
|
#define BOOST_PP_REPEAT_2ND45(M,P) BOOST_PP_REPEAT_2ND44(M,P) M(44,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND46(M,P) BOOST_PREPROCESSOR_REPEAT_2ND45(M,P) M(45,P)
|
#define BOOST_PP_REPEAT_2ND46(M,P) BOOST_PP_REPEAT_2ND45(M,P) M(45,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND47(M,P) BOOST_PREPROCESSOR_REPEAT_2ND46(M,P) M(46,P)
|
#define BOOST_PP_REPEAT_2ND47(M,P) BOOST_PP_REPEAT_2ND46(M,P) M(46,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND48(M,P) BOOST_PREPROCESSOR_REPEAT_2ND47(M,P) M(47,P)
|
#define BOOST_PP_REPEAT_2ND48(M,P) BOOST_PP_REPEAT_2ND47(M,P) M(47,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND49(M,P) BOOST_PREPROCESSOR_REPEAT_2ND48(M,P) M(48,P)
|
#define BOOST_PP_REPEAT_2ND49(M,P) BOOST_PP_REPEAT_2ND48(M,P) M(48,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND50(M,P) BOOST_PREPROCESSOR_REPEAT_2ND49(M,P) M(49,P)
|
#define BOOST_PP_REPEAT_2ND50(M,P) BOOST_PP_REPEAT_2ND49(M,P) M(49,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND51(M,P) BOOST_PREPROCESSOR_REPEAT_2ND50(M,P) M(50,P)
|
#define BOOST_PP_REPEAT_2ND51(M,P) BOOST_PP_REPEAT_2ND50(M,P) M(50,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND52(M,P) BOOST_PREPROCESSOR_REPEAT_2ND51(M,P) M(51,P)
|
#define BOOST_PP_REPEAT_2ND52(M,P) BOOST_PP_REPEAT_2ND51(M,P) M(51,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND53(M,P) BOOST_PREPROCESSOR_REPEAT_2ND52(M,P) M(52,P)
|
#define BOOST_PP_REPEAT_2ND53(M,P) BOOST_PP_REPEAT_2ND52(M,P) M(52,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND54(M,P) BOOST_PREPROCESSOR_REPEAT_2ND53(M,P) M(53,P)
|
#define BOOST_PP_REPEAT_2ND54(M,P) BOOST_PP_REPEAT_2ND53(M,P) M(53,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND55(M,P) BOOST_PREPROCESSOR_REPEAT_2ND54(M,P) M(54,P)
|
#define BOOST_PP_REPEAT_2ND55(M,P) BOOST_PP_REPEAT_2ND54(M,P) M(54,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND56(M,P) BOOST_PREPROCESSOR_REPEAT_2ND55(M,P) M(55,P)
|
#define BOOST_PP_REPEAT_2ND56(M,P) BOOST_PP_REPEAT_2ND55(M,P) M(55,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND57(M,P) BOOST_PREPROCESSOR_REPEAT_2ND56(M,P) M(56,P)
|
#define BOOST_PP_REPEAT_2ND57(M,P) BOOST_PP_REPEAT_2ND56(M,P) M(56,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND58(M,P) BOOST_PREPROCESSOR_REPEAT_2ND57(M,P) M(57,P)
|
#define BOOST_PP_REPEAT_2ND58(M,P) BOOST_PP_REPEAT_2ND57(M,P) M(57,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND59(M,P) BOOST_PREPROCESSOR_REPEAT_2ND58(M,P) M(58,P)
|
#define BOOST_PP_REPEAT_2ND59(M,P) BOOST_PP_REPEAT_2ND58(M,P) M(58,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND60(M,P) BOOST_PREPROCESSOR_REPEAT_2ND59(M,P) M(59,P)
|
#define BOOST_PP_REPEAT_2ND60(M,P) BOOST_PP_REPEAT_2ND59(M,P) M(59,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND61(M,P) BOOST_PREPROCESSOR_REPEAT_2ND60(M,P) M(60,P)
|
#define BOOST_PP_REPEAT_2ND61(M,P) BOOST_PP_REPEAT_2ND60(M,P) M(60,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND62(M,P) BOOST_PREPROCESSOR_REPEAT_2ND61(M,P) M(61,P)
|
#define BOOST_PP_REPEAT_2ND62(M,P) BOOST_PP_REPEAT_2ND61(M,P) M(61,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND63(M,P) BOOST_PREPROCESSOR_REPEAT_2ND62(M,P) M(62,P)
|
#define BOOST_PP_REPEAT_2ND63(M,P) BOOST_PP_REPEAT_2ND62(M,P) M(62,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND64(M,P) BOOST_PREPROCESSOR_REPEAT_2ND63(M,P) M(63,P)
|
#define BOOST_PP_REPEAT_2ND64(M,P) BOOST_PP_REPEAT_2ND63(M,P) M(63,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND65(M,P) BOOST_PREPROCESSOR_REPEAT_2ND64(M,P) M(64,P)
|
#define BOOST_PP_REPEAT_2ND65(M,P) BOOST_PP_REPEAT_2ND64(M,P) M(64,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND66(M,P) BOOST_PREPROCESSOR_REPEAT_2ND65(M,P) M(65,P)
|
#define BOOST_PP_REPEAT_2ND66(M,P) BOOST_PP_REPEAT_2ND65(M,P) M(65,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND67(M,P) BOOST_PREPROCESSOR_REPEAT_2ND66(M,P) M(66,P)
|
#define BOOST_PP_REPEAT_2ND67(M,P) BOOST_PP_REPEAT_2ND66(M,P) M(66,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND68(M,P) BOOST_PREPROCESSOR_REPEAT_2ND67(M,P) M(67,P)
|
#define BOOST_PP_REPEAT_2ND68(M,P) BOOST_PP_REPEAT_2ND67(M,P) M(67,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND69(M,P) BOOST_PREPROCESSOR_REPEAT_2ND68(M,P) M(68,P)
|
#define BOOST_PP_REPEAT_2ND69(M,P) BOOST_PP_REPEAT_2ND68(M,P) M(68,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND70(M,P) BOOST_PREPROCESSOR_REPEAT_2ND69(M,P) M(69,P)
|
#define BOOST_PP_REPEAT_2ND70(M,P) BOOST_PP_REPEAT_2ND69(M,P) M(69,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND71(M,P) BOOST_PREPROCESSOR_REPEAT_2ND70(M,P) M(70,P)
|
#define BOOST_PP_REPEAT_2ND71(M,P) BOOST_PP_REPEAT_2ND70(M,P) M(70,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND72(M,P) BOOST_PREPROCESSOR_REPEAT_2ND71(M,P) M(71,P)
|
#define BOOST_PP_REPEAT_2ND72(M,P) BOOST_PP_REPEAT_2ND71(M,P) M(71,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND73(M,P) BOOST_PREPROCESSOR_REPEAT_2ND72(M,P) M(72,P)
|
#define BOOST_PP_REPEAT_2ND73(M,P) BOOST_PP_REPEAT_2ND72(M,P) M(72,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND74(M,P) BOOST_PREPROCESSOR_REPEAT_2ND73(M,P) M(73,P)
|
#define BOOST_PP_REPEAT_2ND74(M,P) BOOST_PP_REPEAT_2ND73(M,P) M(73,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND75(M,P) BOOST_PREPROCESSOR_REPEAT_2ND74(M,P) M(74,P)
|
#define BOOST_PP_REPEAT_2ND75(M,P) BOOST_PP_REPEAT_2ND74(M,P) M(74,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND76(M,P) BOOST_PREPROCESSOR_REPEAT_2ND75(M,P) M(75,P)
|
#define BOOST_PP_REPEAT_2ND76(M,P) BOOST_PP_REPEAT_2ND75(M,P) M(75,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND77(M,P) BOOST_PREPROCESSOR_REPEAT_2ND76(M,P) M(76,P)
|
#define BOOST_PP_REPEAT_2ND77(M,P) BOOST_PP_REPEAT_2ND76(M,P) M(76,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND78(M,P) BOOST_PREPROCESSOR_REPEAT_2ND77(M,P) M(77,P)
|
#define BOOST_PP_REPEAT_2ND78(M,P) BOOST_PP_REPEAT_2ND77(M,P) M(77,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND79(M,P) BOOST_PREPROCESSOR_REPEAT_2ND78(M,P) M(78,P)
|
#define BOOST_PP_REPEAT_2ND79(M,P) BOOST_PP_REPEAT_2ND78(M,P) M(78,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND80(M,P) BOOST_PREPROCESSOR_REPEAT_2ND79(M,P) M(79,P)
|
#define BOOST_PP_REPEAT_2ND80(M,P) BOOST_PP_REPEAT_2ND79(M,P) M(79,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND81(M,P) BOOST_PREPROCESSOR_REPEAT_2ND80(M,P) M(80,P)
|
#define BOOST_PP_REPEAT_2ND81(M,P) BOOST_PP_REPEAT_2ND80(M,P) M(80,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND82(M,P) BOOST_PREPROCESSOR_REPEAT_2ND81(M,P) M(81,P)
|
#define BOOST_PP_REPEAT_2ND82(M,P) BOOST_PP_REPEAT_2ND81(M,P) M(81,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND83(M,P) BOOST_PREPROCESSOR_REPEAT_2ND82(M,P) M(82,P)
|
#define BOOST_PP_REPEAT_2ND83(M,P) BOOST_PP_REPEAT_2ND82(M,P) M(82,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND84(M,P) BOOST_PREPROCESSOR_REPEAT_2ND83(M,P) M(83,P)
|
#define BOOST_PP_REPEAT_2ND84(M,P) BOOST_PP_REPEAT_2ND83(M,P) M(83,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND85(M,P) BOOST_PREPROCESSOR_REPEAT_2ND84(M,P) M(84,P)
|
#define BOOST_PP_REPEAT_2ND85(M,P) BOOST_PP_REPEAT_2ND84(M,P) M(84,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND86(M,P) BOOST_PREPROCESSOR_REPEAT_2ND85(M,P) M(85,P)
|
#define BOOST_PP_REPEAT_2ND86(M,P) BOOST_PP_REPEAT_2ND85(M,P) M(85,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND87(M,P) BOOST_PREPROCESSOR_REPEAT_2ND86(M,P) M(86,P)
|
#define BOOST_PP_REPEAT_2ND87(M,P) BOOST_PP_REPEAT_2ND86(M,P) M(86,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND88(M,P) BOOST_PREPROCESSOR_REPEAT_2ND87(M,P) M(87,P)
|
#define BOOST_PP_REPEAT_2ND88(M,P) BOOST_PP_REPEAT_2ND87(M,P) M(87,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND89(M,P) BOOST_PREPROCESSOR_REPEAT_2ND88(M,P) M(88,P)
|
#define BOOST_PP_REPEAT_2ND89(M,P) BOOST_PP_REPEAT_2ND88(M,P) M(88,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND90(M,P) BOOST_PREPROCESSOR_REPEAT_2ND89(M,P) M(89,P)
|
#define BOOST_PP_REPEAT_2ND90(M,P) BOOST_PP_REPEAT_2ND89(M,P) M(89,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND91(M,P) BOOST_PREPROCESSOR_REPEAT_2ND90(M,P) M(90,P)
|
#define BOOST_PP_REPEAT_2ND91(M,P) BOOST_PP_REPEAT_2ND90(M,P) M(90,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND92(M,P) BOOST_PREPROCESSOR_REPEAT_2ND91(M,P) M(91,P)
|
#define BOOST_PP_REPEAT_2ND92(M,P) BOOST_PP_REPEAT_2ND91(M,P) M(91,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND93(M,P) BOOST_PREPROCESSOR_REPEAT_2ND92(M,P) M(92,P)
|
#define BOOST_PP_REPEAT_2ND93(M,P) BOOST_PP_REPEAT_2ND92(M,P) M(92,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND94(M,P) BOOST_PREPROCESSOR_REPEAT_2ND93(M,P) M(93,P)
|
#define BOOST_PP_REPEAT_2ND94(M,P) BOOST_PP_REPEAT_2ND93(M,P) M(93,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND95(M,P) BOOST_PREPROCESSOR_REPEAT_2ND94(M,P) M(94,P)
|
#define BOOST_PP_REPEAT_2ND95(M,P) BOOST_PP_REPEAT_2ND94(M,P) M(94,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND96(M,P) BOOST_PREPROCESSOR_REPEAT_2ND95(M,P) M(95,P)
|
#define BOOST_PP_REPEAT_2ND96(M,P) BOOST_PP_REPEAT_2ND95(M,P) M(95,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND97(M,P) BOOST_PREPROCESSOR_REPEAT_2ND96(M,P) M(96,P)
|
#define BOOST_PP_REPEAT_2ND97(M,P) BOOST_PP_REPEAT_2ND96(M,P) M(96,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND98(M,P) BOOST_PREPROCESSOR_REPEAT_2ND97(M,P) M(97,P)
|
#define BOOST_PP_REPEAT_2ND98(M,P) BOOST_PP_REPEAT_2ND97(M,P) M(97,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND99(M,P) BOOST_PREPROCESSOR_REPEAT_2ND98(M,P) M(98,P)
|
#define BOOST_PP_REPEAT_2ND99(M,P) BOOST_PP_REPEAT_2ND98(M,P) M(98,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND100(M,P) BOOST_PREPROCESSOR_REPEAT_2ND99(M,P) M(99,P)
|
#define BOOST_PP_REPEAT_2ND100(M,P) BOOST_PP_REPEAT_2ND99(M,P) M(99,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND101(M,P) BOOST_PREPROCESSOR_REPEAT_2ND100(M,P) M(100,P)
|
#define BOOST_PP_REPEAT_2ND101(M,P) BOOST_PP_REPEAT_2ND100(M,P) M(100,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND102(M,P) BOOST_PREPROCESSOR_REPEAT_2ND101(M,P) M(101,P)
|
#define BOOST_PP_REPEAT_2ND102(M,P) BOOST_PP_REPEAT_2ND101(M,P) M(101,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND103(M,P) BOOST_PREPROCESSOR_REPEAT_2ND102(M,P) M(102,P)
|
#define BOOST_PP_REPEAT_2ND103(M,P) BOOST_PP_REPEAT_2ND102(M,P) M(102,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND104(M,P) BOOST_PREPROCESSOR_REPEAT_2ND103(M,P) M(103,P)
|
#define BOOST_PP_REPEAT_2ND104(M,P) BOOST_PP_REPEAT_2ND103(M,P) M(103,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND105(M,P) BOOST_PREPROCESSOR_REPEAT_2ND104(M,P) M(104,P)
|
#define BOOST_PP_REPEAT_2ND105(M,P) BOOST_PP_REPEAT_2ND104(M,P) M(104,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND106(M,P) BOOST_PREPROCESSOR_REPEAT_2ND105(M,P) M(105,P)
|
#define BOOST_PP_REPEAT_2ND106(M,P) BOOST_PP_REPEAT_2ND105(M,P) M(105,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND107(M,P) BOOST_PREPROCESSOR_REPEAT_2ND106(M,P) M(106,P)
|
#define BOOST_PP_REPEAT_2ND107(M,P) BOOST_PP_REPEAT_2ND106(M,P) M(106,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND108(M,P) BOOST_PREPROCESSOR_REPEAT_2ND107(M,P) M(107,P)
|
#define BOOST_PP_REPEAT_2ND108(M,P) BOOST_PP_REPEAT_2ND107(M,P) M(107,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND109(M,P) BOOST_PREPROCESSOR_REPEAT_2ND108(M,P) M(108,P)
|
#define BOOST_PP_REPEAT_2ND109(M,P) BOOST_PP_REPEAT_2ND108(M,P) M(108,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND110(M,P) BOOST_PREPROCESSOR_REPEAT_2ND109(M,P) M(109,P)
|
#define BOOST_PP_REPEAT_2ND110(M,P) BOOST_PP_REPEAT_2ND109(M,P) M(109,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND111(M,P) BOOST_PREPROCESSOR_REPEAT_2ND110(M,P) M(110,P)
|
#define BOOST_PP_REPEAT_2ND111(M,P) BOOST_PP_REPEAT_2ND110(M,P) M(110,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND112(M,P) BOOST_PREPROCESSOR_REPEAT_2ND111(M,P) M(111,P)
|
#define BOOST_PP_REPEAT_2ND112(M,P) BOOST_PP_REPEAT_2ND111(M,P) M(111,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND113(M,P) BOOST_PREPROCESSOR_REPEAT_2ND112(M,P) M(112,P)
|
#define BOOST_PP_REPEAT_2ND113(M,P) BOOST_PP_REPEAT_2ND112(M,P) M(112,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND114(M,P) BOOST_PREPROCESSOR_REPEAT_2ND113(M,P) M(113,P)
|
#define BOOST_PP_REPEAT_2ND114(M,P) BOOST_PP_REPEAT_2ND113(M,P) M(113,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND115(M,P) BOOST_PREPROCESSOR_REPEAT_2ND114(M,P) M(114,P)
|
#define BOOST_PP_REPEAT_2ND115(M,P) BOOST_PP_REPEAT_2ND114(M,P) M(114,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND116(M,P) BOOST_PREPROCESSOR_REPEAT_2ND115(M,P) M(115,P)
|
#define BOOST_PP_REPEAT_2ND116(M,P) BOOST_PP_REPEAT_2ND115(M,P) M(115,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND117(M,P) BOOST_PREPROCESSOR_REPEAT_2ND116(M,P) M(116,P)
|
#define BOOST_PP_REPEAT_2ND117(M,P) BOOST_PP_REPEAT_2ND116(M,P) M(116,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND118(M,P) BOOST_PREPROCESSOR_REPEAT_2ND117(M,P) M(117,P)
|
#define BOOST_PP_REPEAT_2ND118(M,P) BOOST_PP_REPEAT_2ND117(M,P) M(117,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND119(M,P) BOOST_PREPROCESSOR_REPEAT_2ND118(M,P) M(118,P)
|
#define BOOST_PP_REPEAT_2ND119(M,P) BOOST_PP_REPEAT_2ND118(M,P) M(118,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND120(M,P) BOOST_PREPROCESSOR_REPEAT_2ND119(M,P) M(119,P)
|
#define BOOST_PP_REPEAT_2ND120(M,P) BOOST_PP_REPEAT_2ND119(M,P) M(119,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND121(M,P) BOOST_PREPROCESSOR_REPEAT_2ND120(M,P) M(120,P)
|
#define BOOST_PP_REPEAT_2ND121(M,P) BOOST_PP_REPEAT_2ND120(M,P) M(120,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND122(M,P) BOOST_PREPROCESSOR_REPEAT_2ND121(M,P) M(121,P)
|
#define BOOST_PP_REPEAT_2ND122(M,P) BOOST_PP_REPEAT_2ND121(M,P) M(121,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND123(M,P) BOOST_PREPROCESSOR_REPEAT_2ND122(M,P) M(122,P)
|
#define BOOST_PP_REPEAT_2ND123(M,P) BOOST_PP_REPEAT_2ND122(M,P) M(122,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND124(M,P) BOOST_PREPROCESSOR_REPEAT_2ND123(M,P) M(123,P)
|
#define BOOST_PP_REPEAT_2ND124(M,P) BOOST_PP_REPEAT_2ND123(M,P) M(123,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND125(M,P) BOOST_PREPROCESSOR_REPEAT_2ND124(M,P) M(124,P)
|
#define BOOST_PP_REPEAT_2ND125(M,P) BOOST_PP_REPEAT_2ND124(M,P) M(124,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND126(M,P) BOOST_PREPROCESSOR_REPEAT_2ND125(M,P) M(125,P)
|
#define BOOST_PP_REPEAT_2ND126(M,P) BOOST_PP_REPEAT_2ND125(M,P) M(125,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND127(M,P) BOOST_PREPROCESSOR_REPEAT_2ND126(M,P) M(126,P)
|
#define BOOST_PP_REPEAT_2ND127(M,P) BOOST_PP_REPEAT_2ND126(M,P) M(126,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_2ND128(M,P) BOOST_PREPROCESSOR_REPEAT_2ND127(M,P) M(127,P)
|
#define BOOST_PP_REPEAT_2ND128(M,P) BOOST_PP_REPEAT_2ND127(M,P) M(127,P)
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_REPEAT_2ND().
|
||||||
|
#define BOOST_PREPROCESSOR_REPEAT_2ND(N,M,P) BOOST_PP_REPEAT_2ND(N,M,P)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,139 +17,142 @@
|
|||||||
<a href="../../../../boost/preprocessor/repeat_3rd.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/repeat_3rd.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! Same as BOOST_PREPROCESSOR_REPEAT(), but implemented independently.
|
//! Same as BOOST_PP_REPEAT(), but implemented independently.
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD(N,M,P) BOOST_PREPROCESSOR_REPEAT_3RD_DELAY(N,M,P)
|
#define BOOST_PP_REPEAT_3RD(N,M,P) BOOST_PP_REPEAT_3RD_DELAY(N,M,P)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD_DELAY(N,M,P) BOOST_PREPROCESSOR_REPEAT_3RD##N(M,P)
|
#define BOOST_PP_REPEAT_3RD_DELAY(N,M,P) BOOST_PP_REPEAT_3RD##N(M,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD0(M,P)
|
#define BOOST_PP_REPEAT_3RD0(M,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD1(M,P) M(0,P)
|
#define BOOST_PP_REPEAT_3RD1(M,P) M(0,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD2(M,P) M(0,P) M(1,P)
|
#define BOOST_PP_REPEAT_3RD2(M,P) M(0,P) M(1,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD3(M,P) BOOST_PREPROCESSOR_REPEAT_3RD2(M,P) M(2,P)
|
#define BOOST_PP_REPEAT_3RD3(M,P) BOOST_PP_REPEAT_3RD2(M,P) M(2,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD4(M,P) BOOST_PREPROCESSOR_REPEAT_3RD3(M,P) M(3,P)
|
#define BOOST_PP_REPEAT_3RD4(M,P) BOOST_PP_REPEAT_3RD3(M,P) M(3,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD5(M,P) BOOST_PREPROCESSOR_REPEAT_3RD4(M,P) M(4,P)
|
#define BOOST_PP_REPEAT_3RD5(M,P) BOOST_PP_REPEAT_3RD4(M,P) M(4,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD6(M,P) BOOST_PREPROCESSOR_REPEAT_3RD5(M,P) M(5,P)
|
#define BOOST_PP_REPEAT_3RD6(M,P) BOOST_PP_REPEAT_3RD5(M,P) M(5,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD7(M,P) BOOST_PREPROCESSOR_REPEAT_3RD6(M,P) M(6,P)
|
#define BOOST_PP_REPEAT_3RD7(M,P) BOOST_PP_REPEAT_3RD6(M,P) M(6,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD8(M,P) BOOST_PREPROCESSOR_REPEAT_3RD7(M,P) M(7,P)
|
#define BOOST_PP_REPEAT_3RD8(M,P) BOOST_PP_REPEAT_3RD7(M,P) M(7,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD9(M,P) BOOST_PREPROCESSOR_REPEAT_3RD8(M,P) M(8,P)
|
#define BOOST_PP_REPEAT_3RD9(M,P) BOOST_PP_REPEAT_3RD8(M,P) M(8,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD10(M,P) BOOST_PREPROCESSOR_REPEAT_3RD9(M,P) M(9,P)
|
#define BOOST_PP_REPEAT_3RD10(M,P) BOOST_PP_REPEAT_3RD9(M,P) M(9,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD11(M,P) BOOST_PREPROCESSOR_REPEAT_3RD10(M,P) M(10,P)
|
#define BOOST_PP_REPEAT_3RD11(M,P) BOOST_PP_REPEAT_3RD10(M,P) M(10,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD12(M,P) BOOST_PREPROCESSOR_REPEAT_3RD11(M,P) M(11,P)
|
#define BOOST_PP_REPEAT_3RD12(M,P) BOOST_PP_REPEAT_3RD11(M,P) M(11,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD13(M,P) BOOST_PREPROCESSOR_REPEAT_3RD12(M,P) M(12,P)
|
#define BOOST_PP_REPEAT_3RD13(M,P) BOOST_PP_REPEAT_3RD12(M,P) M(12,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD14(M,P) BOOST_PREPROCESSOR_REPEAT_3RD13(M,P) M(13,P)
|
#define BOOST_PP_REPEAT_3RD14(M,P) BOOST_PP_REPEAT_3RD13(M,P) M(13,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD15(M,P) BOOST_PREPROCESSOR_REPEAT_3RD14(M,P) M(14,P)
|
#define BOOST_PP_REPEAT_3RD15(M,P) BOOST_PP_REPEAT_3RD14(M,P) M(14,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD16(M,P) BOOST_PREPROCESSOR_REPEAT_3RD15(M,P) M(15,P)
|
#define BOOST_PP_REPEAT_3RD16(M,P) BOOST_PP_REPEAT_3RD15(M,P) M(15,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD17(M,P) BOOST_PREPROCESSOR_REPEAT_3RD16(M,P) M(16,P)
|
#define BOOST_PP_REPEAT_3RD17(M,P) BOOST_PP_REPEAT_3RD16(M,P) M(16,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD18(M,P) BOOST_PREPROCESSOR_REPEAT_3RD17(M,P) M(17,P)
|
#define BOOST_PP_REPEAT_3RD18(M,P) BOOST_PP_REPEAT_3RD17(M,P) M(17,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD19(M,P) BOOST_PREPROCESSOR_REPEAT_3RD18(M,P) M(18,P)
|
#define BOOST_PP_REPEAT_3RD19(M,P) BOOST_PP_REPEAT_3RD18(M,P) M(18,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD20(M,P) BOOST_PREPROCESSOR_REPEAT_3RD19(M,P) M(19,P)
|
#define BOOST_PP_REPEAT_3RD20(M,P) BOOST_PP_REPEAT_3RD19(M,P) M(19,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD21(M,P) BOOST_PREPROCESSOR_REPEAT_3RD20(M,P) M(20,P)
|
#define BOOST_PP_REPEAT_3RD21(M,P) BOOST_PP_REPEAT_3RD20(M,P) M(20,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD22(M,P) BOOST_PREPROCESSOR_REPEAT_3RD21(M,P) M(21,P)
|
#define BOOST_PP_REPEAT_3RD22(M,P) BOOST_PP_REPEAT_3RD21(M,P) M(21,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD23(M,P) BOOST_PREPROCESSOR_REPEAT_3RD22(M,P) M(22,P)
|
#define BOOST_PP_REPEAT_3RD23(M,P) BOOST_PP_REPEAT_3RD22(M,P) M(22,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD24(M,P) BOOST_PREPROCESSOR_REPEAT_3RD23(M,P) M(23,P)
|
#define BOOST_PP_REPEAT_3RD24(M,P) BOOST_PP_REPEAT_3RD23(M,P) M(23,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD25(M,P) BOOST_PREPROCESSOR_REPEAT_3RD24(M,P) M(24,P)
|
#define BOOST_PP_REPEAT_3RD25(M,P) BOOST_PP_REPEAT_3RD24(M,P) M(24,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD26(M,P) BOOST_PREPROCESSOR_REPEAT_3RD25(M,P) M(25,P)
|
#define BOOST_PP_REPEAT_3RD26(M,P) BOOST_PP_REPEAT_3RD25(M,P) M(25,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD27(M,P) BOOST_PREPROCESSOR_REPEAT_3RD26(M,P) M(26,P)
|
#define BOOST_PP_REPEAT_3RD27(M,P) BOOST_PP_REPEAT_3RD26(M,P) M(26,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD28(M,P) BOOST_PREPROCESSOR_REPEAT_3RD27(M,P) M(27,P)
|
#define BOOST_PP_REPEAT_3RD28(M,P) BOOST_PP_REPEAT_3RD27(M,P) M(27,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD29(M,P) BOOST_PREPROCESSOR_REPEAT_3RD28(M,P) M(28,P)
|
#define BOOST_PP_REPEAT_3RD29(M,P) BOOST_PP_REPEAT_3RD28(M,P) M(28,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD30(M,P) BOOST_PREPROCESSOR_REPEAT_3RD29(M,P) M(29,P)
|
#define BOOST_PP_REPEAT_3RD30(M,P) BOOST_PP_REPEAT_3RD29(M,P) M(29,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD31(M,P) BOOST_PREPROCESSOR_REPEAT_3RD30(M,P) M(30,P)
|
#define BOOST_PP_REPEAT_3RD31(M,P) BOOST_PP_REPEAT_3RD30(M,P) M(30,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD32(M,P) BOOST_PREPROCESSOR_REPEAT_3RD31(M,P) M(31,P)
|
#define BOOST_PP_REPEAT_3RD32(M,P) BOOST_PP_REPEAT_3RD31(M,P) M(31,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD33(M,P) BOOST_PREPROCESSOR_REPEAT_3RD32(M,P) M(32,P)
|
#define BOOST_PP_REPEAT_3RD33(M,P) BOOST_PP_REPEAT_3RD32(M,P) M(32,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD34(M,P) BOOST_PREPROCESSOR_REPEAT_3RD33(M,P) M(33,P)
|
#define BOOST_PP_REPEAT_3RD34(M,P) BOOST_PP_REPEAT_3RD33(M,P) M(33,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD35(M,P) BOOST_PREPROCESSOR_REPEAT_3RD34(M,P) M(34,P)
|
#define BOOST_PP_REPEAT_3RD35(M,P) BOOST_PP_REPEAT_3RD34(M,P) M(34,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD36(M,P) BOOST_PREPROCESSOR_REPEAT_3RD35(M,P) M(35,P)
|
#define BOOST_PP_REPEAT_3RD36(M,P) BOOST_PP_REPEAT_3RD35(M,P) M(35,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD37(M,P) BOOST_PREPROCESSOR_REPEAT_3RD36(M,P) M(36,P)
|
#define BOOST_PP_REPEAT_3RD37(M,P) BOOST_PP_REPEAT_3RD36(M,P) M(36,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD38(M,P) BOOST_PREPROCESSOR_REPEAT_3RD37(M,P) M(37,P)
|
#define BOOST_PP_REPEAT_3RD38(M,P) BOOST_PP_REPEAT_3RD37(M,P) M(37,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD39(M,P) BOOST_PREPROCESSOR_REPEAT_3RD38(M,P) M(38,P)
|
#define BOOST_PP_REPEAT_3RD39(M,P) BOOST_PP_REPEAT_3RD38(M,P) M(38,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD40(M,P) BOOST_PREPROCESSOR_REPEAT_3RD39(M,P) M(39,P)
|
#define BOOST_PP_REPEAT_3RD40(M,P) BOOST_PP_REPEAT_3RD39(M,P) M(39,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD41(M,P) BOOST_PREPROCESSOR_REPEAT_3RD40(M,P) M(40,P)
|
#define BOOST_PP_REPEAT_3RD41(M,P) BOOST_PP_REPEAT_3RD40(M,P) M(40,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD42(M,P) BOOST_PREPROCESSOR_REPEAT_3RD41(M,P) M(41,P)
|
#define BOOST_PP_REPEAT_3RD42(M,P) BOOST_PP_REPEAT_3RD41(M,P) M(41,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD43(M,P) BOOST_PREPROCESSOR_REPEAT_3RD42(M,P) M(42,P)
|
#define BOOST_PP_REPEAT_3RD43(M,P) BOOST_PP_REPEAT_3RD42(M,P) M(42,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD44(M,P) BOOST_PREPROCESSOR_REPEAT_3RD43(M,P) M(43,P)
|
#define BOOST_PP_REPEAT_3RD44(M,P) BOOST_PP_REPEAT_3RD43(M,P) M(43,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD45(M,P) BOOST_PREPROCESSOR_REPEAT_3RD44(M,P) M(44,P)
|
#define BOOST_PP_REPEAT_3RD45(M,P) BOOST_PP_REPEAT_3RD44(M,P) M(44,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD46(M,P) BOOST_PREPROCESSOR_REPEAT_3RD45(M,P) M(45,P)
|
#define BOOST_PP_REPEAT_3RD46(M,P) BOOST_PP_REPEAT_3RD45(M,P) M(45,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD47(M,P) BOOST_PREPROCESSOR_REPEAT_3RD46(M,P) M(46,P)
|
#define BOOST_PP_REPEAT_3RD47(M,P) BOOST_PP_REPEAT_3RD46(M,P) M(46,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD48(M,P) BOOST_PREPROCESSOR_REPEAT_3RD47(M,P) M(47,P)
|
#define BOOST_PP_REPEAT_3RD48(M,P) BOOST_PP_REPEAT_3RD47(M,P) M(47,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD49(M,P) BOOST_PREPROCESSOR_REPEAT_3RD48(M,P) M(48,P)
|
#define BOOST_PP_REPEAT_3RD49(M,P) BOOST_PP_REPEAT_3RD48(M,P) M(48,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD50(M,P) BOOST_PREPROCESSOR_REPEAT_3RD49(M,P) M(49,P)
|
#define BOOST_PP_REPEAT_3RD50(M,P) BOOST_PP_REPEAT_3RD49(M,P) M(49,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD51(M,P) BOOST_PREPROCESSOR_REPEAT_3RD50(M,P) M(50,P)
|
#define BOOST_PP_REPEAT_3RD51(M,P) BOOST_PP_REPEAT_3RD50(M,P) M(50,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD52(M,P) BOOST_PREPROCESSOR_REPEAT_3RD51(M,P) M(51,P)
|
#define BOOST_PP_REPEAT_3RD52(M,P) BOOST_PP_REPEAT_3RD51(M,P) M(51,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD53(M,P) BOOST_PREPROCESSOR_REPEAT_3RD52(M,P) M(52,P)
|
#define BOOST_PP_REPEAT_3RD53(M,P) BOOST_PP_REPEAT_3RD52(M,P) M(52,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD54(M,P) BOOST_PREPROCESSOR_REPEAT_3RD53(M,P) M(53,P)
|
#define BOOST_PP_REPEAT_3RD54(M,P) BOOST_PP_REPEAT_3RD53(M,P) M(53,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD55(M,P) BOOST_PREPROCESSOR_REPEAT_3RD54(M,P) M(54,P)
|
#define BOOST_PP_REPEAT_3RD55(M,P) BOOST_PP_REPEAT_3RD54(M,P) M(54,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD56(M,P) BOOST_PREPROCESSOR_REPEAT_3RD55(M,P) M(55,P)
|
#define BOOST_PP_REPEAT_3RD56(M,P) BOOST_PP_REPEAT_3RD55(M,P) M(55,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD57(M,P) BOOST_PREPROCESSOR_REPEAT_3RD56(M,P) M(56,P)
|
#define BOOST_PP_REPEAT_3RD57(M,P) BOOST_PP_REPEAT_3RD56(M,P) M(56,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD58(M,P) BOOST_PREPROCESSOR_REPEAT_3RD57(M,P) M(57,P)
|
#define BOOST_PP_REPEAT_3RD58(M,P) BOOST_PP_REPEAT_3RD57(M,P) M(57,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD59(M,P) BOOST_PREPROCESSOR_REPEAT_3RD58(M,P) M(58,P)
|
#define BOOST_PP_REPEAT_3RD59(M,P) BOOST_PP_REPEAT_3RD58(M,P) M(58,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD60(M,P) BOOST_PREPROCESSOR_REPEAT_3RD59(M,P) M(59,P)
|
#define BOOST_PP_REPEAT_3RD60(M,P) BOOST_PP_REPEAT_3RD59(M,P) M(59,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD61(M,P) BOOST_PREPROCESSOR_REPEAT_3RD60(M,P) M(60,P)
|
#define BOOST_PP_REPEAT_3RD61(M,P) BOOST_PP_REPEAT_3RD60(M,P) M(60,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD62(M,P) BOOST_PREPROCESSOR_REPEAT_3RD61(M,P) M(61,P)
|
#define BOOST_PP_REPEAT_3RD62(M,P) BOOST_PP_REPEAT_3RD61(M,P) M(61,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD63(M,P) BOOST_PREPROCESSOR_REPEAT_3RD62(M,P) M(62,P)
|
#define BOOST_PP_REPEAT_3RD63(M,P) BOOST_PP_REPEAT_3RD62(M,P) M(62,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD64(M,P) BOOST_PREPROCESSOR_REPEAT_3RD63(M,P) M(63,P)
|
#define BOOST_PP_REPEAT_3RD64(M,P) BOOST_PP_REPEAT_3RD63(M,P) M(63,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD65(M,P) BOOST_PREPROCESSOR_REPEAT_3RD64(M,P) M(64,P)
|
#define BOOST_PP_REPEAT_3RD65(M,P) BOOST_PP_REPEAT_3RD64(M,P) M(64,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD66(M,P) BOOST_PREPROCESSOR_REPEAT_3RD65(M,P) M(65,P)
|
#define BOOST_PP_REPEAT_3RD66(M,P) BOOST_PP_REPEAT_3RD65(M,P) M(65,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD67(M,P) BOOST_PREPROCESSOR_REPEAT_3RD66(M,P) M(66,P)
|
#define BOOST_PP_REPEAT_3RD67(M,P) BOOST_PP_REPEAT_3RD66(M,P) M(66,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD68(M,P) BOOST_PREPROCESSOR_REPEAT_3RD67(M,P) M(67,P)
|
#define BOOST_PP_REPEAT_3RD68(M,P) BOOST_PP_REPEAT_3RD67(M,P) M(67,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD69(M,P) BOOST_PREPROCESSOR_REPEAT_3RD68(M,P) M(68,P)
|
#define BOOST_PP_REPEAT_3RD69(M,P) BOOST_PP_REPEAT_3RD68(M,P) M(68,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD70(M,P) BOOST_PREPROCESSOR_REPEAT_3RD69(M,P) M(69,P)
|
#define BOOST_PP_REPEAT_3RD70(M,P) BOOST_PP_REPEAT_3RD69(M,P) M(69,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD71(M,P) BOOST_PREPROCESSOR_REPEAT_3RD70(M,P) M(70,P)
|
#define BOOST_PP_REPEAT_3RD71(M,P) BOOST_PP_REPEAT_3RD70(M,P) M(70,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD72(M,P) BOOST_PREPROCESSOR_REPEAT_3RD71(M,P) M(71,P)
|
#define BOOST_PP_REPEAT_3RD72(M,P) BOOST_PP_REPEAT_3RD71(M,P) M(71,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD73(M,P) BOOST_PREPROCESSOR_REPEAT_3RD72(M,P) M(72,P)
|
#define BOOST_PP_REPEAT_3RD73(M,P) BOOST_PP_REPEAT_3RD72(M,P) M(72,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD74(M,P) BOOST_PREPROCESSOR_REPEAT_3RD73(M,P) M(73,P)
|
#define BOOST_PP_REPEAT_3RD74(M,P) BOOST_PP_REPEAT_3RD73(M,P) M(73,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD75(M,P) BOOST_PREPROCESSOR_REPEAT_3RD74(M,P) M(74,P)
|
#define BOOST_PP_REPEAT_3RD75(M,P) BOOST_PP_REPEAT_3RD74(M,P) M(74,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD76(M,P) BOOST_PREPROCESSOR_REPEAT_3RD75(M,P) M(75,P)
|
#define BOOST_PP_REPEAT_3RD76(M,P) BOOST_PP_REPEAT_3RD75(M,P) M(75,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD77(M,P) BOOST_PREPROCESSOR_REPEAT_3RD76(M,P) M(76,P)
|
#define BOOST_PP_REPEAT_3RD77(M,P) BOOST_PP_REPEAT_3RD76(M,P) M(76,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD78(M,P) BOOST_PREPROCESSOR_REPEAT_3RD77(M,P) M(77,P)
|
#define BOOST_PP_REPEAT_3RD78(M,P) BOOST_PP_REPEAT_3RD77(M,P) M(77,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD79(M,P) BOOST_PREPROCESSOR_REPEAT_3RD78(M,P) M(78,P)
|
#define BOOST_PP_REPEAT_3RD79(M,P) BOOST_PP_REPEAT_3RD78(M,P) M(78,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD80(M,P) BOOST_PREPROCESSOR_REPEAT_3RD79(M,P) M(79,P)
|
#define BOOST_PP_REPEAT_3RD80(M,P) BOOST_PP_REPEAT_3RD79(M,P) M(79,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD81(M,P) BOOST_PREPROCESSOR_REPEAT_3RD80(M,P) M(80,P)
|
#define BOOST_PP_REPEAT_3RD81(M,P) BOOST_PP_REPEAT_3RD80(M,P) M(80,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD82(M,P) BOOST_PREPROCESSOR_REPEAT_3RD81(M,P) M(81,P)
|
#define BOOST_PP_REPEAT_3RD82(M,P) BOOST_PP_REPEAT_3RD81(M,P) M(81,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD83(M,P) BOOST_PREPROCESSOR_REPEAT_3RD82(M,P) M(82,P)
|
#define BOOST_PP_REPEAT_3RD83(M,P) BOOST_PP_REPEAT_3RD82(M,P) M(82,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD84(M,P) BOOST_PREPROCESSOR_REPEAT_3RD83(M,P) M(83,P)
|
#define BOOST_PP_REPEAT_3RD84(M,P) BOOST_PP_REPEAT_3RD83(M,P) M(83,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD85(M,P) BOOST_PREPROCESSOR_REPEAT_3RD84(M,P) M(84,P)
|
#define BOOST_PP_REPEAT_3RD85(M,P) BOOST_PP_REPEAT_3RD84(M,P) M(84,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD86(M,P) BOOST_PREPROCESSOR_REPEAT_3RD85(M,P) M(85,P)
|
#define BOOST_PP_REPEAT_3RD86(M,P) BOOST_PP_REPEAT_3RD85(M,P) M(85,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD87(M,P) BOOST_PREPROCESSOR_REPEAT_3RD86(M,P) M(86,P)
|
#define BOOST_PP_REPEAT_3RD87(M,P) BOOST_PP_REPEAT_3RD86(M,P) M(86,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD88(M,P) BOOST_PREPROCESSOR_REPEAT_3RD87(M,P) M(87,P)
|
#define BOOST_PP_REPEAT_3RD88(M,P) BOOST_PP_REPEAT_3RD87(M,P) M(87,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD89(M,P) BOOST_PREPROCESSOR_REPEAT_3RD88(M,P) M(88,P)
|
#define BOOST_PP_REPEAT_3RD89(M,P) BOOST_PP_REPEAT_3RD88(M,P) M(88,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD90(M,P) BOOST_PREPROCESSOR_REPEAT_3RD89(M,P) M(89,P)
|
#define BOOST_PP_REPEAT_3RD90(M,P) BOOST_PP_REPEAT_3RD89(M,P) M(89,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD91(M,P) BOOST_PREPROCESSOR_REPEAT_3RD90(M,P) M(90,P)
|
#define BOOST_PP_REPEAT_3RD91(M,P) BOOST_PP_REPEAT_3RD90(M,P) M(90,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD92(M,P) BOOST_PREPROCESSOR_REPEAT_3RD91(M,P) M(91,P)
|
#define BOOST_PP_REPEAT_3RD92(M,P) BOOST_PP_REPEAT_3RD91(M,P) M(91,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD93(M,P) BOOST_PREPROCESSOR_REPEAT_3RD92(M,P) M(92,P)
|
#define BOOST_PP_REPEAT_3RD93(M,P) BOOST_PP_REPEAT_3RD92(M,P) M(92,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD94(M,P) BOOST_PREPROCESSOR_REPEAT_3RD93(M,P) M(93,P)
|
#define BOOST_PP_REPEAT_3RD94(M,P) BOOST_PP_REPEAT_3RD93(M,P) M(93,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD95(M,P) BOOST_PREPROCESSOR_REPEAT_3RD94(M,P) M(94,P)
|
#define BOOST_PP_REPEAT_3RD95(M,P) BOOST_PP_REPEAT_3RD94(M,P) M(94,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD96(M,P) BOOST_PREPROCESSOR_REPEAT_3RD95(M,P) M(95,P)
|
#define BOOST_PP_REPEAT_3RD96(M,P) BOOST_PP_REPEAT_3RD95(M,P) M(95,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD97(M,P) BOOST_PREPROCESSOR_REPEAT_3RD96(M,P) M(96,P)
|
#define BOOST_PP_REPEAT_3RD97(M,P) BOOST_PP_REPEAT_3RD96(M,P) M(96,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD98(M,P) BOOST_PREPROCESSOR_REPEAT_3RD97(M,P) M(97,P)
|
#define BOOST_PP_REPEAT_3RD98(M,P) BOOST_PP_REPEAT_3RD97(M,P) M(97,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD99(M,P) BOOST_PREPROCESSOR_REPEAT_3RD98(M,P) M(98,P)
|
#define BOOST_PP_REPEAT_3RD99(M,P) BOOST_PP_REPEAT_3RD98(M,P) M(98,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD100(M,P) BOOST_PREPROCESSOR_REPEAT_3RD99(M,P) M(99,P)
|
#define BOOST_PP_REPEAT_3RD100(M,P) BOOST_PP_REPEAT_3RD99(M,P) M(99,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD101(M,P) BOOST_PREPROCESSOR_REPEAT_3RD100(M,P) M(100,P)
|
#define BOOST_PP_REPEAT_3RD101(M,P) BOOST_PP_REPEAT_3RD100(M,P) M(100,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD102(M,P) BOOST_PREPROCESSOR_REPEAT_3RD101(M,P) M(101,P)
|
#define BOOST_PP_REPEAT_3RD102(M,P) BOOST_PP_REPEAT_3RD101(M,P) M(101,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD103(M,P) BOOST_PREPROCESSOR_REPEAT_3RD102(M,P) M(102,P)
|
#define BOOST_PP_REPEAT_3RD103(M,P) BOOST_PP_REPEAT_3RD102(M,P) M(102,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD104(M,P) BOOST_PREPROCESSOR_REPEAT_3RD103(M,P) M(103,P)
|
#define BOOST_PP_REPEAT_3RD104(M,P) BOOST_PP_REPEAT_3RD103(M,P) M(103,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD105(M,P) BOOST_PREPROCESSOR_REPEAT_3RD104(M,P) M(104,P)
|
#define BOOST_PP_REPEAT_3RD105(M,P) BOOST_PP_REPEAT_3RD104(M,P) M(104,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD106(M,P) BOOST_PREPROCESSOR_REPEAT_3RD105(M,P) M(105,P)
|
#define BOOST_PP_REPEAT_3RD106(M,P) BOOST_PP_REPEAT_3RD105(M,P) M(105,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD107(M,P) BOOST_PREPROCESSOR_REPEAT_3RD106(M,P) M(106,P)
|
#define BOOST_PP_REPEAT_3RD107(M,P) BOOST_PP_REPEAT_3RD106(M,P) M(106,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD108(M,P) BOOST_PREPROCESSOR_REPEAT_3RD107(M,P) M(107,P)
|
#define BOOST_PP_REPEAT_3RD108(M,P) BOOST_PP_REPEAT_3RD107(M,P) M(107,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD109(M,P) BOOST_PREPROCESSOR_REPEAT_3RD108(M,P) M(108,P)
|
#define BOOST_PP_REPEAT_3RD109(M,P) BOOST_PP_REPEAT_3RD108(M,P) M(108,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD110(M,P) BOOST_PREPROCESSOR_REPEAT_3RD109(M,P) M(109,P)
|
#define BOOST_PP_REPEAT_3RD110(M,P) BOOST_PP_REPEAT_3RD109(M,P) M(109,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD111(M,P) BOOST_PREPROCESSOR_REPEAT_3RD110(M,P) M(110,P)
|
#define BOOST_PP_REPEAT_3RD111(M,P) BOOST_PP_REPEAT_3RD110(M,P) M(110,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD112(M,P) BOOST_PREPROCESSOR_REPEAT_3RD111(M,P) M(111,P)
|
#define BOOST_PP_REPEAT_3RD112(M,P) BOOST_PP_REPEAT_3RD111(M,P) M(111,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD113(M,P) BOOST_PREPROCESSOR_REPEAT_3RD112(M,P) M(112,P)
|
#define BOOST_PP_REPEAT_3RD113(M,P) BOOST_PP_REPEAT_3RD112(M,P) M(112,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD114(M,P) BOOST_PREPROCESSOR_REPEAT_3RD113(M,P) M(113,P)
|
#define BOOST_PP_REPEAT_3RD114(M,P) BOOST_PP_REPEAT_3RD113(M,P) M(113,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD115(M,P) BOOST_PREPROCESSOR_REPEAT_3RD114(M,P) M(114,P)
|
#define BOOST_PP_REPEAT_3RD115(M,P) BOOST_PP_REPEAT_3RD114(M,P) M(114,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD116(M,P) BOOST_PREPROCESSOR_REPEAT_3RD115(M,P) M(115,P)
|
#define BOOST_PP_REPEAT_3RD116(M,P) BOOST_PP_REPEAT_3RD115(M,P) M(115,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD117(M,P) BOOST_PREPROCESSOR_REPEAT_3RD116(M,P) M(116,P)
|
#define BOOST_PP_REPEAT_3RD117(M,P) BOOST_PP_REPEAT_3RD116(M,P) M(116,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD118(M,P) BOOST_PREPROCESSOR_REPEAT_3RD117(M,P) M(117,P)
|
#define BOOST_PP_REPEAT_3RD118(M,P) BOOST_PP_REPEAT_3RD117(M,P) M(117,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD119(M,P) BOOST_PREPROCESSOR_REPEAT_3RD118(M,P) M(118,P)
|
#define BOOST_PP_REPEAT_3RD119(M,P) BOOST_PP_REPEAT_3RD118(M,P) M(118,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD120(M,P) BOOST_PREPROCESSOR_REPEAT_3RD119(M,P) M(119,P)
|
#define BOOST_PP_REPEAT_3RD120(M,P) BOOST_PP_REPEAT_3RD119(M,P) M(119,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD121(M,P) BOOST_PREPROCESSOR_REPEAT_3RD120(M,P) M(120,P)
|
#define BOOST_PP_REPEAT_3RD121(M,P) BOOST_PP_REPEAT_3RD120(M,P) M(120,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD122(M,P) BOOST_PREPROCESSOR_REPEAT_3RD121(M,P) M(121,P)
|
#define BOOST_PP_REPEAT_3RD122(M,P) BOOST_PP_REPEAT_3RD121(M,P) M(121,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD123(M,P) BOOST_PREPROCESSOR_REPEAT_3RD122(M,P) M(122,P)
|
#define BOOST_PP_REPEAT_3RD123(M,P) BOOST_PP_REPEAT_3RD122(M,P) M(122,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD124(M,P) BOOST_PREPROCESSOR_REPEAT_3RD123(M,P) M(123,P)
|
#define BOOST_PP_REPEAT_3RD124(M,P) BOOST_PP_REPEAT_3RD123(M,P) M(123,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD125(M,P) BOOST_PREPROCESSOR_REPEAT_3RD124(M,P) M(124,P)
|
#define BOOST_PP_REPEAT_3RD125(M,P) BOOST_PP_REPEAT_3RD124(M,P) M(124,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD126(M,P) BOOST_PREPROCESSOR_REPEAT_3RD125(M,P) M(125,P)
|
#define BOOST_PP_REPEAT_3RD126(M,P) BOOST_PP_REPEAT_3RD125(M,P) M(125,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD127(M,P) BOOST_PREPROCESSOR_REPEAT_3RD126(M,P) M(126,P)
|
#define BOOST_PP_REPEAT_3RD127(M,P) BOOST_PP_REPEAT_3RD126(M,P) M(126,P)
|
||||||
#define BOOST_PREPROCESSOR_REPEAT_3RD128(M,P) BOOST_PREPROCESSOR_REPEAT_3RD127(M,P) M(127,P)
|
#define BOOST_PP_REPEAT_3RD128(M,P) BOOST_PP_REPEAT_3RD127(M,P) M(127,P)
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_REPEAT_3RD().
|
||||||
|
#define BOOST_PREPROCESSOR_REPEAT_3RD(N,M,P) BOOST_PP_REPEAT_3RD(N,M,P)
|
||||||
#endif
|
#endif
|
||||||
|
@ -23,7 +23,7 @@ Example:
|
|||||||
|
|
||||||
<PRE>\verbatim
|
<PRE>\verbatim
|
||||||
#define NOTE(STR)\
|
#define NOTE(STR)\
|
||||||
message(__FILE__ "(" BOOST_PREPROCESSOR_STRINGIZE(__LINE__) ") : " STR)
|
message(__FILE__ "(" BOOST_PP_STRINGIZE(__LINE__) ") : " STR)
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
@ -36,17 +36,20 @@ The above expands to:
|
|||||||
#pragma message("examples.cpp" "(" "20" ") : " "TBD!")
|
#pragma message("examples.cpp" "(" "20" ") : " "TBD!")
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
The use of BOOST_PREPROCESSOR_STRINGIZE() above lets the preprocessor expand
|
The use of BOOST_PP_STRINGIZE() above lets the PP expand the __LINE__
|
||||||
the __LINE__ before stringizing it. If # would be used directly, the code
|
before stringizing it. If # would be used directly, the code would
|
||||||
would expand to:
|
expand to:
|
||||||
|
|
||||||
<PRE>\verbatim
|
<PRE>\verbatim
|
||||||
#pragma message("examples.cpp" "(" "__LINE__" ") : " "TBD!")
|
#pragma message("examples.cpp" "(" "__LINE__" ") : " "TBD!")
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_STRINGIZE(E) BOOST_PREPROCESSOR_STRINGIZE_DELAY(E)
|
#define BOOST_PP_STRINGIZE(E) BOOST_PP_STRINGIZE_DELAY(E)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_STRINGIZE_DELAY(E) #E
|
#define BOOST_PP_STRINGIZE_DELAY(E) #E
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_STRINGIZE().
|
||||||
|
#define BOOST_PREPROCESSOR_STRINGIZE(E) BOOST_PP_STRINGIZE(E)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,12 +17,12 @@
|
|||||||
<a href="../../../../boost/preprocessor/tuple.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/tuple.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
|
#include <boost/preprocessor/identity.hpp>
|
||||||
# include <boost/preprocessor/identity.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! Expands to the I:th element of an N-tuple.
|
//! Expands to the I:th element of an N-tuple.
|
||||||
/*!
|
/*!
|
||||||
|
Tuples can be used for representing structured data.
|
||||||
|
|
||||||
Examples of tuples:
|
Examples of tuples:
|
||||||
|
|
||||||
<PRE>\verbatim
|
<PRE>\verbatim
|
||||||
@ -34,7 +34,7 @@ Examples of tuples:
|
|||||||
Example:
|
Example:
|
||||||
|
|
||||||
<PRE>\verbatim
|
<PRE>\verbatim
|
||||||
BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,(A,B))
|
BOOST_PP_TUPLE_ELEM(2,1,(A,B))
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
The above expands to:
|
The above expands to:
|
||||||
@ -42,60 +42,68 @@ The above expands to:
|
|||||||
<PRE>\verbatim
|
<PRE>\verbatim
|
||||||
B
|
B
|
||||||
\endverbatim</PRE>
|
\endverbatim</PRE>
|
||||||
|
|
||||||
|
See also BOOST_PP_LIMIT_TUPLE.
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_TUPLE_ELEM(N,I,T) BOOST_PREPROCESSOR_TUPLE_ELEM_DELAY(N,I,T)
|
#define BOOST_PP_TUPLE_ELEM(N,I,T) BOOST_PP_TUPLE_ELEM_DELAY(N,I,T)
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#if defined(__MWERKS__) && __MWERKS__ <= 0x2406
|
#if defined(__MWERKS__) && __MWERKS__ <= 0x2406
|
||||||
// This is a workaround for a CodeWarrior preprocessor bug. Strictly speaking
|
// This is a workaround for a CodeWarrior PP bug. Strictly speaking
|
||||||
// this workaround invokes undefined behavior, but it works as desired.
|
// this workaround invokes undefined behavior, but it works as desired.
|
||||||
# define BOOST_PREPROCESSOR_TUPLE_ELEM_DELAY(N,I,T) BOOST_PREPROCESSOR_TUPLE##N##_ELEM##I##T
|
# define BOOST_PP_TUPLE_ELEM_DELAY(N,I,T) BOOST_PP_TUPLE##N##_ELEM##I##T
|
||||||
#else
|
#else
|
||||||
# define BOOST_PREPROCESSOR_TUPLE_ELEM_DELAY(N,I,T) BOOST_PREPROCESSOR_IDENTITY(BOOST_PREPROCESSOR_TUPLE##N##_ELEM##I T)()
|
# define BOOST_PP_TUPLE_ELEM_DELAY(N,I,T) BOOST_PP_IDENTITY(BOOST_PP_TUPLE##N##_ELEM##I T)()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BOOST_PREPROCESSOR_TUPLE1_ELEM0(E0) E0
|
// NOTE: TUPLE_ELEM can be implemented in O(N*N) space and O(N) time instead
|
||||||
|
// of O(N*N*N) space and O(1) time. The current trade-off seems better.
|
||||||
|
|
||||||
#define BOOST_PREPROCESSOR_TUPLE2_ELEM0(E0,E1) E0
|
#define BOOST_PP_TUPLE1_ELEM0(A) A
|
||||||
#define BOOST_PREPROCESSOR_TUPLE2_ELEM1(E0,E1) E1
|
|
||||||
|
|
||||||
#define BOOST_PREPROCESSOR_TUPLE3_ELEM0(E0,E1,E2) E0
|
#define BOOST_PP_TUPLE2_ELEM0(A,B) A
|
||||||
#define BOOST_PREPROCESSOR_TUPLE3_ELEM1(E0,E1,E2) E1
|
#define BOOST_PP_TUPLE2_ELEM1(A,B) B
|
||||||
#define BOOST_PREPROCESSOR_TUPLE3_ELEM2(E0,E1,E2) E2
|
|
||||||
|
|
||||||
#define BOOST_PREPROCESSOR_TUPLE4_ELEM0(E0,E1,E2,E3) E0
|
#define BOOST_PP_TUPLE3_ELEM0(A,B,C) A
|
||||||
#define BOOST_PREPROCESSOR_TUPLE4_ELEM1(E0,E1,E2,E3) E1
|
#define BOOST_PP_TUPLE3_ELEM1(A,B,C) B
|
||||||
#define BOOST_PREPROCESSOR_TUPLE4_ELEM2(E0,E1,E2,E3) E2
|
#define BOOST_PP_TUPLE3_ELEM2(A,B,C) C
|
||||||
#define BOOST_PREPROCESSOR_TUPLE4_ELEM3(E0,E1,E2,E3) E3
|
|
||||||
|
|
||||||
#define BOOST_PREPROCESSOR_TUPLE5_ELEM0(E0,E1,E2,E3,E4) E0
|
#define BOOST_PP_TUPLE4_ELEM0(A,B,C,D) A
|
||||||
#define BOOST_PREPROCESSOR_TUPLE5_ELEM1(E0,E1,E2,E3,E4) E1
|
#define BOOST_PP_TUPLE4_ELEM1(A,B,C,D) B
|
||||||
#define BOOST_PREPROCESSOR_TUPLE5_ELEM2(E0,E1,E2,E3,E4) E2
|
#define BOOST_PP_TUPLE4_ELEM2(A,B,C,D) C
|
||||||
#define BOOST_PREPROCESSOR_TUPLE5_ELEM3(E0,E1,E2,E3,E4) E3
|
#define BOOST_PP_TUPLE4_ELEM3(A,B,C,D) D
|
||||||
#define BOOST_PREPROCESSOR_TUPLE5_ELEM4(E0,E1,E2,E3,E4) E4
|
|
||||||
|
|
||||||
#define BOOST_PREPROCESSOR_TUPLE6_ELEM0(E0,E1,E2,E3,E4,E5) E0
|
#define BOOST_PP_TUPLE5_ELEM0(A,B,C,D,E) A
|
||||||
#define BOOST_PREPROCESSOR_TUPLE6_ELEM1(E0,E1,E2,E3,E4,E5) E1
|
#define BOOST_PP_TUPLE5_ELEM1(A,B,C,D,E) B
|
||||||
#define BOOST_PREPROCESSOR_TUPLE6_ELEM2(E0,E1,E2,E3,E4,E5) E2
|
#define BOOST_PP_TUPLE5_ELEM2(A,B,C,D,E) C
|
||||||
#define BOOST_PREPROCESSOR_TUPLE6_ELEM3(E0,E1,E2,E3,E4,E5) E3
|
#define BOOST_PP_TUPLE5_ELEM3(A,B,C,D,E) D
|
||||||
#define BOOST_PREPROCESSOR_TUPLE6_ELEM4(E0,E1,E2,E3,E4,E5) E4
|
#define BOOST_PP_TUPLE5_ELEM4(A,B,C,D,E) E
|
||||||
#define BOOST_PREPROCESSOR_TUPLE6_ELEM5(E0,E1,E2,E3,E4,E5) E5
|
|
||||||
|
|
||||||
#define BOOST_PREPROCESSOR_TUPLE7_ELEM0(E0,E1,E2,E3,E4,E5,E6) E0
|
#define BOOST_PP_TUPLE6_ELEM0(A,B,C,D,E,F) A
|
||||||
#define BOOST_PREPROCESSOR_TUPLE7_ELEM1(E0,E1,E2,E3,E4,E5,E6) E1
|
#define BOOST_PP_TUPLE6_ELEM1(A,B,C,D,E,F) B
|
||||||
#define BOOST_PREPROCESSOR_TUPLE7_ELEM2(E0,E1,E2,E3,E4,E5,E6) E2
|
#define BOOST_PP_TUPLE6_ELEM2(A,B,C,D,E,F) C
|
||||||
#define BOOST_PREPROCESSOR_TUPLE7_ELEM3(E0,E1,E2,E3,E4,E5,E6) E3
|
#define BOOST_PP_TUPLE6_ELEM3(A,B,C,D,E,F) D
|
||||||
#define BOOST_PREPROCESSOR_TUPLE7_ELEM4(E0,E1,E2,E3,E4,E5,E6) E4
|
#define BOOST_PP_TUPLE6_ELEM4(A,B,C,D,E,F) E
|
||||||
#define BOOST_PREPROCESSOR_TUPLE7_ELEM5(E0,E1,E2,E3,E4,E5,E6) E5
|
#define BOOST_PP_TUPLE6_ELEM5(A,B,C,D,E,F) F
|
||||||
#define BOOST_PREPROCESSOR_TUPLE7_ELEM6(E0,E1,E2,E3,E4,E5,E6) E6
|
|
||||||
|
|
||||||
#define BOOST_PREPROCESSOR_TUPLE8_ELEM0(E0,E1,E2,E3,E4,E5,E6,E7) E0
|
#define BOOST_PP_TUPLE7_ELEM0(A,B,C,D,E,F,G) A
|
||||||
#define BOOST_PREPROCESSOR_TUPLE8_ELEM1(E0,E1,E2,E3,E4,E5,E6,E7) E1
|
#define BOOST_PP_TUPLE7_ELEM1(A,B,C,D,E,F,G) B
|
||||||
#define BOOST_PREPROCESSOR_TUPLE8_ELEM2(E0,E1,E2,E3,E4,E5,E6,E7) E2
|
#define BOOST_PP_TUPLE7_ELEM2(A,B,C,D,E,F,G) C
|
||||||
#define BOOST_PREPROCESSOR_TUPLE8_ELEM3(E0,E1,E2,E3,E4,E5,E6,E7) E3
|
#define BOOST_PP_TUPLE7_ELEM3(A,B,C,D,E,F,G) D
|
||||||
#define BOOST_PREPROCESSOR_TUPLE8_ELEM4(E0,E1,E2,E3,E4,E5,E6,E7) E4
|
#define BOOST_PP_TUPLE7_ELEM4(A,B,C,D,E,F,G) E
|
||||||
#define BOOST_PREPROCESSOR_TUPLE8_ELEM5(E0,E1,E2,E3,E4,E5,E6,E7) E5
|
#define BOOST_PP_TUPLE7_ELEM5(A,B,C,D,E,F,G) F
|
||||||
#define BOOST_PREPROCESSOR_TUPLE8_ELEM6(E0,E1,E2,E3,E4,E5,E6,E7) E6
|
#define BOOST_PP_TUPLE7_ELEM6(A,B,C,D,E,F,G) G
|
||||||
#define BOOST_PREPROCESSOR_TUPLE8_ELEM7(E0,E1,E2,E3,E4,E5,E6,E7) E7
|
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#define BOOST_PP_TUPLE8_ELEM0(A,B,C,D,E,F,G,H) A
|
||||||
|
#define BOOST_PP_TUPLE8_ELEM1(A,B,C,D,E,F,G,H) B
|
||||||
|
#define BOOST_PP_TUPLE8_ELEM2(A,B,C,D,E,F,G,H) C
|
||||||
|
#define BOOST_PP_TUPLE8_ELEM3(A,B,C,D,E,F,G,H) D
|
||||||
|
#define BOOST_PP_TUPLE8_ELEM4(A,B,C,D,E,F,G,H) E
|
||||||
|
#define BOOST_PP_TUPLE8_ELEM5(A,B,C,D,E,F,G,H) F
|
||||||
|
#define BOOST_PP_TUPLE8_ELEM6(A,B,C,D,E,F,G,H) G
|
||||||
|
#define BOOST_PP_TUPLE8_ELEM7(A,B,C,D,E,F,G,H) H
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//! Obsolete. Use BOOST_PP_TUPLE_ELEM().
|
||||||
|
#define BOOST_PREPROCESSOR_TUPLE_ELEM(N,I,T) BOOST_PP_TUPLE_ELEM(N,I,T)
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,278 +17,363 @@
|
|||||||
<a href="../../../../boost/preprocessor/while.hpp">Click here to see the header.</a>
|
<a href="../../../../boost/preprocessor/while.hpp">Click here to see the header.</a>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOOST_PREPROCESSOR_IF_HPP
|
#include <boost/preprocessor/if.hpp>
|
||||||
# include <boost/preprocessor/if.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! CURRENTLY THIS FEATURE IS FOR INTERNAL USE ONLY!
|
//! Iterates F(D,X) while C(D,X) is true.
|
||||||
/*!
|
/*!
|
||||||
|
<H3>Legend</H3>
|
||||||
|
|
||||||
|
<B>X</B> is the current state of iteration. The state is usually a tuple.
|
||||||
|
|
||||||
|
<B>C</B> is the condition for iteration. It must expand to a decimal integer
|
||||||
|
literal.
|
||||||
|
|
||||||
|
<B>F</B> is the iterated function. Note that if the state is a tuple, then
|
||||||
|
F(D,X) usually expands to a tuple of the same number of elements.
|
||||||
|
|
||||||
|
<B>D</B> is the recursion depth and should only be used as a parameter to
|
||||||
|
other functions implemented using BOOST_PP_WHILE(). Such functions include
|
||||||
|
BOOST_PP_ADD() and other arithmetic operations. For each function implemented
|
||||||
|
using BOOST_PP_WHILE(), there is a version of the function, distinguished by
|
||||||
|
the _D suffix (e.g. BOOST_PP_ADD_D()), that accepts an additional recursion
|
||||||
|
depth as the first parameter. This technique is necessary to avoid
|
||||||
|
recursively expanding the same macro again, which is not permitted by the
|
||||||
|
C/C++ preprocessor.
|
||||||
|
|
||||||
|
NOTE: The value of the D parameter may exceed BOOST_PP_LIMIT_MAG.
|
||||||
|
|
||||||
|
<H3>Usage</H3>
|
||||||
|
|
||||||
|
Using BOOST_PP_WHILE() is a bit tricky. This is due to the C/C++ preprocessor
|
||||||
|
limitations. It is recommended to take a look at the implementations of the
|
||||||
|
various PREPROCESSOR library primitives such as BOOST_PP_ADD() for additional
|
||||||
|
examples.
|
||||||
|
|
||||||
|
Here is a trivial example that simply counts down from N to 0 ultimately
|
||||||
|
expanding to a 0:
|
||||||
|
|
||||||
|
<PRE>\verbatim
|
||||||
|
#define COUNT_DOWN(N) BOOST_PP_WHILE(COUNT_DOWN_C,COUNT_DOWN_F,N)
|
||||||
|
// Above is the function we are implementing using BOOST_PP_WHILE().
|
||||||
|
|
||||||
|
#define COUNT_DOWN_C(D,N) N
|
||||||
|
// Above is the Condition. It expands to the current N.
|
||||||
|
|
||||||
|
#define COUNT_DOWN_F(D,N) BOOST_PP_DEC(N)
|
||||||
|
// Above is the iteration Function. It decrements N.
|
||||||
|
|
||||||
|
COUNT_DOWN(50)
|
||||||
|
// The above expands to 0.
|
||||||
|
\endverbatim</PRE>
|
||||||
|
|
||||||
|
For a more complex example, let's take a look at an implementation of
|
||||||
|
BOOST_PP_MUL().
|
||||||
|
|
||||||
|
<PRE>\verbatim
|
||||||
|
#define BOOST_PP_MUL(X,Y) BOOST_PP_MUL_D(0,X,Y)
|
||||||
|
// Since the function is implemented using WHILE, the actual implementation
|
||||||
|
// takes a depth as a parameter so that it can be called inside a WHILE.
|
||||||
|
// The above easy-to-use version simply uses 0 as the depth and can not be
|
||||||
|
// called inside a WHILE.
|
||||||
|
|
||||||
|
#define BOOST_PP_MUL_D(D,X,Y)\
|
||||||
|
BOOST_PP_TUPLE_ELEM(3,0,BOOST_PP_WHILE##D(BOOST_PP_MUL_C,BOOST_PP_MUL_F,(0,X,Y)))
|
||||||
|
// ^^^ ^^^ ^^ ^^ ^^^^^^^
|
||||||
|
// #1 #2 #3 #3 #1
|
||||||
|
//
|
||||||
|
// #1) The state is a 3-tuple. After the iteration is finished, the first
|
||||||
|
// element of the tuple is the result.
|
||||||
|
//
|
||||||
|
// #2) The WHILE primitive is "invoked" directly. BOOST_PP_WHILE(D,...) can't
|
||||||
|
// be used because it would not be expanded by the C/C++ preprocessor.
|
||||||
|
//
|
||||||
|
// #3) ???_C is the condition and ???_F is the iteration function.
|
||||||
|
|
||||||
|
#define BOOST_PP_MUL_C(D,P)\
|
||||||
|
BOOST_PP_TUPLE_ELEM(3,2,P)
|
||||||
|
// Iteration is finished when the counter reaches 0.
|
||||||
|
|
||||||
|
#define BOOST_PP_MUL_F(D,P)\
|
||||||
|
( BOOST_PP_ADD_D(D,BOOST_PP_TUPLE_ELEM(3,0,P),BOOST_PP_TUPLE_ELEM(3,1,P))\
|
||||||
|
, BOOST_PP_TUPLE_ELEM(3,1,P)\
|
||||||
|
, BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(3,2,P))\
|
||||||
|
)
|
||||||
|
// ( The result is increased by the multiplier.
|
||||||
|
// , The multiplier is retained without change.
|
||||||
|
// , The counter is decreased.
|
||||||
|
// )
|
||||||
|
\endverbatim</PRE>
|
||||||
|
|
||||||
|
<H3>Implementation</H3>
|
||||||
|
|
||||||
RATIONALE:
|
RATIONALE:
|
||||||
- The maximum iteration depth is 2*BOOST_PREPROCESSOR_LIMIT_MAG+1 to make it
|
- The maximum iteration depth is greater than 2*BOOST_PP_LIMIT_MAG to make
|
||||||
theoretically possible to compute BOOST_PREPROCESSOR_LIMIT_MAG^2.
|
it possible to compute N*N functions.
|
||||||
*/
|
*/
|
||||||
#define BOOST_PREPROCESSOR_WHILE(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(0,X),0,X)(C,F,F(0,X))
|
#define BOOST_PP_WHILE(C,F,X) BOOST_PP_WHILE_C(C(1,X),0,X)(C,F,F(1,X))
|
||||||
|
|
||||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||||
#define BOOST_PREPROCESSOR_WHILE_C(C,I,X) BOOST_PREPROCESSOR_IF(C,BOOST_PREPROCESSOR_WHILE##I,X BOOST_PREPROCESSOR_WHILE_E)
|
#define BOOST_PP_WHILE_C(C,D,X) BOOST_PP_IF(C,BOOST_PP_WHILE##D,X BOOST_PP_WHILE_E)
|
||||||
#define BOOST_PREPROCESSOR_WHILE_E(C,F,X)
|
#define BOOST_PP_WHILE_E(C,F,X)
|
||||||
#define BOOST_PREPROCESSOR_WHILE0(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(1,X),1,X)(C,F,F(1,X))
|
#define BOOST_PP_WHILE0(C,F,X) BOOST_PP_WHILE_C(C(2,X),1,X)(C,F,F(2,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE1(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(2,X),2,X)(C,F,F(2,X))
|
#define BOOST_PP_WHILE1(C,F,X) BOOST_PP_WHILE_C(C(3,X),2,X)(C,F,F(3,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE2(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(3,X),3,X)(C,F,F(3,X))
|
#define BOOST_PP_WHILE2(C,F,X) BOOST_PP_WHILE_C(C(4,X),3,X)(C,F,F(4,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE3(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(4,X),4,X)(C,F,F(4,X))
|
#define BOOST_PP_WHILE3(C,F,X) BOOST_PP_WHILE_C(C(5,X),4,X)(C,F,F(5,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE4(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(5,X),5,X)(C,F,F(5,X))
|
#define BOOST_PP_WHILE4(C,F,X) BOOST_PP_WHILE_C(C(6,X),5,X)(C,F,F(6,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE5(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(6,X),6,X)(C,F,F(6,X))
|
#define BOOST_PP_WHILE5(C,F,X) BOOST_PP_WHILE_C(C(7,X),6,X)(C,F,F(7,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE6(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(7,X),7,X)(C,F,F(7,X))
|
#define BOOST_PP_WHILE6(C,F,X) BOOST_PP_WHILE_C(C(8,X),7,X)(C,F,F(8,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE7(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(8,X),8,X)(C,F,F(8,X))
|
#define BOOST_PP_WHILE7(C,F,X) BOOST_PP_WHILE_C(C(9,X),8,X)(C,F,F(9,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE8(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(9,X),9,X)(C,F,F(9,X))
|
#define BOOST_PP_WHILE8(C,F,X) BOOST_PP_WHILE_C(C(10,X),9,X)(C,F,F(10,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE9(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(10,X),10,X)(C,F,F(10,X))
|
#define BOOST_PP_WHILE9(C,F,X) BOOST_PP_WHILE_C(C(11,X),10,X)(C,F,F(11,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE10(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(11,X),11,X)(C,F,F(11,X))
|
#define BOOST_PP_WHILE10(C,F,X) BOOST_PP_WHILE_C(C(12,X),11,X)(C,F,F(12,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE11(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(12,X),12,X)(C,F,F(12,X))
|
#define BOOST_PP_WHILE11(C,F,X) BOOST_PP_WHILE_C(C(13,X),12,X)(C,F,F(13,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE12(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(13,X),13,X)(C,F,F(13,X))
|
#define BOOST_PP_WHILE12(C,F,X) BOOST_PP_WHILE_C(C(14,X),13,X)(C,F,F(14,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE13(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(14,X),14,X)(C,F,F(14,X))
|
#define BOOST_PP_WHILE13(C,F,X) BOOST_PP_WHILE_C(C(15,X),14,X)(C,F,F(15,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE14(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(15,X),15,X)(C,F,F(15,X))
|
#define BOOST_PP_WHILE14(C,F,X) BOOST_PP_WHILE_C(C(16,X),15,X)(C,F,F(16,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE15(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(16,X),16,X)(C,F,F(16,X))
|
#define BOOST_PP_WHILE15(C,F,X) BOOST_PP_WHILE_C(C(17,X),16,X)(C,F,F(17,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE16(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(17,X),17,X)(C,F,F(17,X))
|
#define BOOST_PP_WHILE16(C,F,X) BOOST_PP_WHILE_C(C(18,X),17,X)(C,F,F(18,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE17(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(18,X),18,X)(C,F,F(18,X))
|
#define BOOST_PP_WHILE17(C,F,X) BOOST_PP_WHILE_C(C(19,X),18,X)(C,F,F(19,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE18(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(19,X),19,X)(C,F,F(19,X))
|
#define BOOST_PP_WHILE18(C,F,X) BOOST_PP_WHILE_C(C(20,X),19,X)(C,F,F(20,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE19(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(20,X),20,X)(C,F,F(20,X))
|
#define BOOST_PP_WHILE19(C,F,X) BOOST_PP_WHILE_C(C(21,X),20,X)(C,F,F(21,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE20(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(21,X),21,X)(C,F,F(21,X))
|
#define BOOST_PP_WHILE20(C,F,X) BOOST_PP_WHILE_C(C(22,X),21,X)(C,F,F(22,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE21(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(22,X),22,X)(C,F,F(22,X))
|
#define BOOST_PP_WHILE21(C,F,X) BOOST_PP_WHILE_C(C(23,X),22,X)(C,F,F(23,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE22(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(23,X),23,X)(C,F,F(23,X))
|
#define BOOST_PP_WHILE22(C,F,X) BOOST_PP_WHILE_C(C(24,X),23,X)(C,F,F(24,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE23(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(24,X),24,X)(C,F,F(24,X))
|
#define BOOST_PP_WHILE23(C,F,X) BOOST_PP_WHILE_C(C(25,X),24,X)(C,F,F(25,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE24(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(25,X),25,X)(C,F,F(25,X))
|
#define BOOST_PP_WHILE24(C,F,X) BOOST_PP_WHILE_C(C(26,X),25,X)(C,F,F(26,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE25(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(26,X),26,X)(C,F,F(26,X))
|
#define BOOST_PP_WHILE25(C,F,X) BOOST_PP_WHILE_C(C(27,X),26,X)(C,F,F(27,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE26(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(27,X),27,X)(C,F,F(27,X))
|
#define BOOST_PP_WHILE26(C,F,X) BOOST_PP_WHILE_C(C(28,X),27,X)(C,F,F(28,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE27(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(28,X),28,X)(C,F,F(28,X))
|
#define BOOST_PP_WHILE27(C,F,X) BOOST_PP_WHILE_C(C(29,X),28,X)(C,F,F(29,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE28(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(29,X),29,X)(C,F,F(29,X))
|
#define BOOST_PP_WHILE28(C,F,X) BOOST_PP_WHILE_C(C(30,X),29,X)(C,F,F(30,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE29(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(30,X),30,X)(C,F,F(30,X))
|
#define BOOST_PP_WHILE29(C,F,X) BOOST_PP_WHILE_C(C(31,X),30,X)(C,F,F(31,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE30(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(31,X),31,X)(C,F,F(31,X))
|
#define BOOST_PP_WHILE30(C,F,X) BOOST_PP_WHILE_C(C(32,X),31,X)(C,F,F(32,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE31(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(32,X),32,X)(C,F,F(32,X))
|
#define BOOST_PP_WHILE31(C,F,X) BOOST_PP_WHILE_C(C(33,X),32,X)(C,F,F(33,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE32(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(33,X),33,X)(C,F,F(33,X))
|
#define BOOST_PP_WHILE32(C,F,X) BOOST_PP_WHILE_C(C(34,X),33,X)(C,F,F(34,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE33(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(34,X),34,X)(C,F,F(34,X))
|
#define BOOST_PP_WHILE33(C,F,X) BOOST_PP_WHILE_C(C(35,X),34,X)(C,F,F(35,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE34(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(35,X),35,X)(C,F,F(35,X))
|
#define BOOST_PP_WHILE34(C,F,X) BOOST_PP_WHILE_C(C(36,X),35,X)(C,F,F(36,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE35(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(36,X),36,X)(C,F,F(36,X))
|
#define BOOST_PP_WHILE35(C,F,X) BOOST_PP_WHILE_C(C(37,X),36,X)(C,F,F(37,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE36(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(37,X),37,X)(C,F,F(37,X))
|
#define BOOST_PP_WHILE36(C,F,X) BOOST_PP_WHILE_C(C(38,X),37,X)(C,F,F(38,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE37(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(38,X),38,X)(C,F,F(38,X))
|
#define BOOST_PP_WHILE37(C,F,X) BOOST_PP_WHILE_C(C(39,X),38,X)(C,F,F(39,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE38(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(39,X),39,X)(C,F,F(39,X))
|
#define BOOST_PP_WHILE38(C,F,X) BOOST_PP_WHILE_C(C(40,X),39,X)(C,F,F(40,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE39(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(40,X),40,X)(C,F,F(40,X))
|
#define BOOST_PP_WHILE39(C,F,X) BOOST_PP_WHILE_C(C(41,X),40,X)(C,F,F(41,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE40(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(41,X),41,X)(C,F,F(41,X))
|
#define BOOST_PP_WHILE40(C,F,X) BOOST_PP_WHILE_C(C(42,X),41,X)(C,F,F(42,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE41(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(42,X),42,X)(C,F,F(42,X))
|
#define BOOST_PP_WHILE41(C,F,X) BOOST_PP_WHILE_C(C(43,X),42,X)(C,F,F(43,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE42(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(43,X),43,X)(C,F,F(43,X))
|
#define BOOST_PP_WHILE42(C,F,X) BOOST_PP_WHILE_C(C(44,X),43,X)(C,F,F(44,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE43(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(44,X),44,X)(C,F,F(44,X))
|
#define BOOST_PP_WHILE43(C,F,X) BOOST_PP_WHILE_C(C(45,X),44,X)(C,F,F(45,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE44(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(45,X),45,X)(C,F,F(45,X))
|
#define BOOST_PP_WHILE44(C,F,X) BOOST_PP_WHILE_C(C(46,X),45,X)(C,F,F(46,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE45(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(46,X),46,X)(C,F,F(46,X))
|
#define BOOST_PP_WHILE45(C,F,X) BOOST_PP_WHILE_C(C(47,X),46,X)(C,F,F(47,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE46(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(47,X),47,X)(C,F,F(47,X))
|
#define BOOST_PP_WHILE46(C,F,X) BOOST_PP_WHILE_C(C(48,X),47,X)(C,F,F(48,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE47(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(48,X),48,X)(C,F,F(48,X))
|
#define BOOST_PP_WHILE47(C,F,X) BOOST_PP_WHILE_C(C(49,X),48,X)(C,F,F(49,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE48(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(49,X),49,X)(C,F,F(49,X))
|
#define BOOST_PP_WHILE48(C,F,X) BOOST_PP_WHILE_C(C(50,X),49,X)(C,F,F(50,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE49(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(50,X),50,X)(C,F,F(50,X))
|
#define BOOST_PP_WHILE49(C,F,X) BOOST_PP_WHILE_C(C(51,X),50,X)(C,F,F(51,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE50(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(51,X),51,X)(C,F,F(51,X))
|
#define BOOST_PP_WHILE50(C,F,X) BOOST_PP_WHILE_C(C(52,X),51,X)(C,F,F(52,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE51(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(52,X),52,X)(C,F,F(52,X))
|
#define BOOST_PP_WHILE51(C,F,X) BOOST_PP_WHILE_C(C(53,X),52,X)(C,F,F(53,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE52(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(53,X),53,X)(C,F,F(53,X))
|
#define BOOST_PP_WHILE52(C,F,X) BOOST_PP_WHILE_C(C(54,X),53,X)(C,F,F(54,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE53(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(54,X),54,X)(C,F,F(54,X))
|
#define BOOST_PP_WHILE53(C,F,X) BOOST_PP_WHILE_C(C(55,X),54,X)(C,F,F(55,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE54(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(55,X),55,X)(C,F,F(55,X))
|
#define BOOST_PP_WHILE54(C,F,X) BOOST_PP_WHILE_C(C(56,X),55,X)(C,F,F(56,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE55(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(56,X),56,X)(C,F,F(56,X))
|
#define BOOST_PP_WHILE55(C,F,X) BOOST_PP_WHILE_C(C(57,X),56,X)(C,F,F(57,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE56(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(57,X),57,X)(C,F,F(57,X))
|
#define BOOST_PP_WHILE56(C,F,X) BOOST_PP_WHILE_C(C(58,X),57,X)(C,F,F(58,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE57(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(58,X),58,X)(C,F,F(58,X))
|
#define BOOST_PP_WHILE57(C,F,X) BOOST_PP_WHILE_C(C(59,X),58,X)(C,F,F(59,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE58(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(59,X),59,X)(C,F,F(59,X))
|
#define BOOST_PP_WHILE58(C,F,X) BOOST_PP_WHILE_C(C(60,X),59,X)(C,F,F(60,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE59(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(60,X),60,X)(C,F,F(60,X))
|
#define BOOST_PP_WHILE59(C,F,X) BOOST_PP_WHILE_C(C(61,X),60,X)(C,F,F(61,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE60(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(61,X),61,X)(C,F,F(61,X))
|
#define BOOST_PP_WHILE60(C,F,X) BOOST_PP_WHILE_C(C(62,X),61,X)(C,F,F(62,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE61(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(62,X),62,X)(C,F,F(62,X))
|
#define BOOST_PP_WHILE61(C,F,X) BOOST_PP_WHILE_C(C(63,X),62,X)(C,F,F(63,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE62(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(63,X),63,X)(C,F,F(63,X))
|
#define BOOST_PP_WHILE62(C,F,X) BOOST_PP_WHILE_C(C(64,X),63,X)(C,F,F(64,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE63(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(64,X),64,X)(C,F,F(64,X))
|
#define BOOST_PP_WHILE63(C,F,X) BOOST_PP_WHILE_C(C(65,X),64,X)(C,F,F(65,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE64(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(65,X),65,X)(C,F,F(65,X))
|
#define BOOST_PP_WHILE64(C,F,X) BOOST_PP_WHILE_C(C(66,X),65,X)(C,F,F(66,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE65(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(66,X),66,X)(C,F,F(66,X))
|
#define BOOST_PP_WHILE65(C,F,X) BOOST_PP_WHILE_C(C(67,X),66,X)(C,F,F(67,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE66(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(67,X),67,X)(C,F,F(67,X))
|
#define BOOST_PP_WHILE66(C,F,X) BOOST_PP_WHILE_C(C(68,X),67,X)(C,F,F(68,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE67(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(68,X),68,X)(C,F,F(68,X))
|
#define BOOST_PP_WHILE67(C,F,X) BOOST_PP_WHILE_C(C(69,X),68,X)(C,F,F(69,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE68(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(69,X),69,X)(C,F,F(69,X))
|
#define BOOST_PP_WHILE68(C,F,X) BOOST_PP_WHILE_C(C(70,X),69,X)(C,F,F(70,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE69(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(70,X),70,X)(C,F,F(70,X))
|
#define BOOST_PP_WHILE69(C,F,X) BOOST_PP_WHILE_C(C(71,X),70,X)(C,F,F(71,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE70(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(71,X),71,X)(C,F,F(71,X))
|
#define BOOST_PP_WHILE70(C,F,X) BOOST_PP_WHILE_C(C(72,X),71,X)(C,F,F(72,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE71(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(72,X),72,X)(C,F,F(72,X))
|
#define BOOST_PP_WHILE71(C,F,X) BOOST_PP_WHILE_C(C(73,X),72,X)(C,F,F(73,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE72(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(73,X),73,X)(C,F,F(73,X))
|
#define BOOST_PP_WHILE72(C,F,X) BOOST_PP_WHILE_C(C(74,X),73,X)(C,F,F(74,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE73(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(74,X),74,X)(C,F,F(74,X))
|
#define BOOST_PP_WHILE73(C,F,X) BOOST_PP_WHILE_C(C(75,X),74,X)(C,F,F(75,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE74(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(75,X),75,X)(C,F,F(75,X))
|
#define BOOST_PP_WHILE74(C,F,X) BOOST_PP_WHILE_C(C(76,X),75,X)(C,F,F(76,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE75(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(76,X),76,X)(C,F,F(76,X))
|
#define BOOST_PP_WHILE75(C,F,X) BOOST_PP_WHILE_C(C(77,X),76,X)(C,F,F(77,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE76(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(77,X),77,X)(C,F,F(77,X))
|
#define BOOST_PP_WHILE76(C,F,X) BOOST_PP_WHILE_C(C(78,X),77,X)(C,F,F(78,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE77(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(78,X),78,X)(C,F,F(78,X))
|
#define BOOST_PP_WHILE77(C,F,X) BOOST_PP_WHILE_C(C(79,X),78,X)(C,F,F(79,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE78(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(79,X),79,X)(C,F,F(79,X))
|
#define BOOST_PP_WHILE78(C,F,X) BOOST_PP_WHILE_C(C(80,X),79,X)(C,F,F(80,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE79(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(80,X),80,X)(C,F,F(80,X))
|
#define BOOST_PP_WHILE79(C,F,X) BOOST_PP_WHILE_C(C(81,X),80,X)(C,F,F(81,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE80(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(81,X),81,X)(C,F,F(81,X))
|
#define BOOST_PP_WHILE80(C,F,X) BOOST_PP_WHILE_C(C(82,X),81,X)(C,F,F(82,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE81(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(82,X),82,X)(C,F,F(82,X))
|
#define BOOST_PP_WHILE81(C,F,X) BOOST_PP_WHILE_C(C(83,X),82,X)(C,F,F(83,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE82(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(83,X),83,X)(C,F,F(83,X))
|
#define BOOST_PP_WHILE82(C,F,X) BOOST_PP_WHILE_C(C(84,X),83,X)(C,F,F(84,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE83(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(84,X),84,X)(C,F,F(84,X))
|
#define BOOST_PP_WHILE83(C,F,X) BOOST_PP_WHILE_C(C(85,X),84,X)(C,F,F(85,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE84(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(85,X),85,X)(C,F,F(85,X))
|
#define BOOST_PP_WHILE84(C,F,X) BOOST_PP_WHILE_C(C(86,X),85,X)(C,F,F(86,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE85(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(86,X),86,X)(C,F,F(86,X))
|
#define BOOST_PP_WHILE85(C,F,X) BOOST_PP_WHILE_C(C(87,X),86,X)(C,F,F(87,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE86(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(87,X),87,X)(C,F,F(87,X))
|
#define BOOST_PP_WHILE86(C,F,X) BOOST_PP_WHILE_C(C(88,X),87,X)(C,F,F(88,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE87(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(88,X),88,X)(C,F,F(88,X))
|
#define BOOST_PP_WHILE87(C,F,X) BOOST_PP_WHILE_C(C(89,X),88,X)(C,F,F(89,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE88(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(89,X),89,X)(C,F,F(89,X))
|
#define BOOST_PP_WHILE88(C,F,X) BOOST_PP_WHILE_C(C(90,X),89,X)(C,F,F(90,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE89(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(90,X),90,X)(C,F,F(90,X))
|
#define BOOST_PP_WHILE89(C,F,X) BOOST_PP_WHILE_C(C(91,X),90,X)(C,F,F(91,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE90(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(91,X),91,X)(C,F,F(91,X))
|
#define BOOST_PP_WHILE90(C,F,X) BOOST_PP_WHILE_C(C(92,X),91,X)(C,F,F(92,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE91(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(92,X),92,X)(C,F,F(92,X))
|
#define BOOST_PP_WHILE91(C,F,X) BOOST_PP_WHILE_C(C(93,X),92,X)(C,F,F(93,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE92(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(93,X),93,X)(C,F,F(93,X))
|
#define BOOST_PP_WHILE92(C,F,X) BOOST_PP_WHILE_C(C(94,X),93,X)(C,F,F(94,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE93(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(94,X),94,X)(C,F,F(94,X))
|
#define BOOST_PP_WHILE93(C,F,X) BOOST_PP_WHILE_C(C(95,X),94,X)(C,F,F(95,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE94(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(95,X),95,X)(C,F,F(95,X))
|
#define BOOST_PP_WHILE94(C,F,X) BOOST_PP_WHILE_C(C(96,X),95,X)(C,F,F(96,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE95(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(96,X),96,X)(C,F,F(96,X))
|
#define BOOST_PP_WHILE95(C,F,X) BOOST_PP_WHILE_C(C(97,X),96,X)(C,F,F(97,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE96(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(97,X),97,X)(C,F,F(97,X))
|
#define BOOST_PP_WHILE96(C,F,X) BOOST_PP_WHILE_C(C(98,X),97,X)(C,F,F(98,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE97(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(98,X),98,X)(C,F,F(98,X))
|
#define BOOST_PP_WHILE97(C,F,X) BOOST_PP_WHILE_C(C(99,X),98,X)(C,F,F(99,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE98(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(99,X),99,X)(C,F,F(99,X))
|
#define BOOST_PP_WHILE98(C,F,X) BOOST_PP_WHILE_C(C(100,X),99,X)(C,F,F(100,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE99(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(100,X),100,X)(C,F,F(100,X))
|
#define BOOST_PP_WHILE99(C,F,X) BOOST_PP_WHILE_C(C(101,X),100,X)(C,F,F(101,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE100(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(101,X),101,X)(C,F,F(101,X))
|
#define BOOST_PP_WHILE100(C,F,X) BOOST_PP_WHILE_C(C(102,X),101,X)(C,F,F(102,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE101(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(102,X),102,X)(C,F,F(102,X))
|
#define BOOST_PP_WHILE101(C,F,X) BOOST_PP_WHILE_C(C(103,X),102,X)(C,F,F(103,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE102(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(103,X),103,X)(C,F,F(103,X))
|
#define BOOST_PP_WHILE102(C,F,X) BOOST_PP_WHILE_C(C(104,X),103,X)(C,F,F(104,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE103(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(104,X),104,X)(C,F,F(104,X))
|
#define BOOST_PP_WHILE103(C,F,X) BOOST_PP_WHILE_C(C(105,X),104,X)(C,F,F(105,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE104(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(105,X),105,X)(C,F,F(105,X))
|
#define BOOST_PP_WHILE104(C,F,X) BOOST_PP_WHILE_C(C(106,X),105,X)(C,F,F(106,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE105(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(106,X),106,X)(C,F,F(106,X))
|
#define BOOST_PP_WHILE105(C,F,X) BOOST_PP_WHILE_C(C(107,X),106,X)(C,F,F(107,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE106(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(107,X),107,X)(C,F,F(107,X))
|
#define BOOST_PP_WHILE106(C,F,X) BOOST_PP_WHILE_C(C(108,X),107,X)(C,F,F(108,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE107(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(108,X),108,X)(C,F,F(108,X))
|
#define BOOST_PP_WHILE107(C,F,X) BOOST_PP_WHILE_C(C(109,X),108,X)(C,F,F(109,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE108(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(109,X),109,X)(C,F,F(109,X))
|
#define BOOST_PP_WHILE108(C,F,X) BOOST_PP_WHILE_C(C(110,X),109,X)(C,F,F(110,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE109(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(110,X),110,X)(C,F,F(110,X))
|
#define BOOST_PP_WHILE109(C,F,X) BOOST_PP_WHILE_C(C(111,X),110,X)(C,F,F(111,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE110(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(111,X),111,X)(C,F,F(111,X))
|
#define BOOST_PP_WHILE110(C,F,X) BOOST_PP_WHILE_C(C(112,X),111,X)(C,F,F(112,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE111(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(112,X),112,X)(C,F,F(112,X))
|
#define BOOST_PP_WHILE111(C,F,X) BOOST_PP_WHILE_C(C(113,X),112,X)(C,F,F(113,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE112(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(113,X),113,X)(C,F,F(113,X))
|
#define BOOST_PP_WHILE112(C,F,X) BOOST_PP_WHILE_C(C(114,X),113,X)(C,F,F(114,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE113(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(114,X),114,X)(C,F,F(114,X))
|
#define BOOST_PP_WHILE113(C,F,X) BOOST_PP_WHILE_C(C(115,X),114,X)(C,F,F(115,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE114(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(115,X),115,X)(C,F,F(115,X))
|
#define BOOST_PP_WHILE114(C,F,X) BOOST_PP_WHILE_C(C(116,X),115,X)(C,F,F(116,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE115(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(116,X),116,X)(C,F,F(116,X))
|
#define BOOST_PP_WHILE115(C,F,X) BOOST_PP_WHILE_C(C(117,X),116,X)(C,F,F(117,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE116(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(117,X),117,X)(C,F,F(117,X))
|
#define BOOST_PP_WHILE116(C,F,X) BOOST_PP_WHILE_C(C(118,X),117,X)(C,F,F(118,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE117(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(118,X),118,X)(C,F,F(118,X))
|
#define BOOST_PP_WHILE117(C,F,X) BOOST_PP_WHILE_C(C(119,X),118,X)(C,F,F(119,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE118(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(119,X),119,X)(C,F,F(119,X))
|
#define BOOST_PP_WHILE118(C,F,X) BOOST_PP_WHILE_C(C(120,X),119,X)(C,F,F(120,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE119(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(120,X),120,X)(C,F,F(120,X))
|
#define BOOST_PP_WHILE119(C,F,X) BOOST_PP_WHILE_C(C(121,X),120,X)(C,F,F(121,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE120(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(121,X),121,X)(C,F,F(121,X))
|
#define BOOST_PP_WHILE120(C,F,X) BOOST_PP_WHILE_C(C(122,X),121,X)(C,F,F(122,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE121(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(122,X),122,X)(C,F,F(122,X))
|
#define BOOST_PP_WHILE121(C,F,X) BOOST_PP_WHILE_C(C(123,X),122,X)(C,F,F(123,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE122(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(123,X),123,X)(C,F,F(123,X))
|
#define BOOST_PP_WHILE122(C,F,X) BOOST_PP_WHILE_C(C(124,X),123,X)(C,F,F(124,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE123(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(124,X),124,X)(C,F,F(124,X))
|
#define BOOST_PP_WHILE123(C,F,X) BOOST_PP_WHILE_C(C(125,X),124,X)(C,F,F(125,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE124(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(125,X),125,X)(C,F,F(125,X))
|
#define BOOST_PP_WHILE124(C,F,X) BOOST_PP_WHILE_C(C(126,X),125,X)(C,F,F(126,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE125(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(126,X),126,X)(C,F,F(126,X))
|
#define BOOST_PP_WHILE125(C,F,X) BOOST_PP_WHILE_C(C(127,X),126,X)(C,F,F(127,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE126(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(127,X),127,X)(C,F,F(127,X))
|
#define BOOST_PP_WHILE126(C,F,X) BOOST_PP_WHILE_C(C(128,X),127,X)(C,F,F(128,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE127(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(128,X),128,X)(C,F,F(128,X))
|
#define BOOST_PP_WHILE127(C,F,X) BOOST_PP_WHILE_C(C(129,X),128,X)(C,F,F(129,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE128(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(129,X),129,X)(C,F,F(129,X))
|
#define BOOST_PP_WHILE128(C,F,X) BOOST_PP_WHILE_C(C(130,X),129,X)(C,F,F(130,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE129(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(130,X),130,X)(C,F,F(130,X))
|
#define BOOST_PP_WHILE129(C,F,X) BOOST_PP_WHILE_C(C(131,X),130,X)(C,F,F(131,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE130(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(131,X),131,X)(C,F,F(131,X))
|
#define BOOST_PP_WHILE130(C,F,X) BOOST_PP_WHILE_C(C(132,X),131,X)(C,F,F(132,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE131(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(132,X),132,X)(C,F,F(132,X))
|
#define BOOST_PP_WHILE131(C,F,X) BOOST_PP_WHILE_C(C(133,X),132,X)(C,F,F(133,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE132(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(133,X),133,X)(C,F,F(133,X))
|
#define BOOST_PP_WHILE132(C,F,X) BOOST_PP_WHILE_C(C(134,X),133,X)(C,F,F(134,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE133(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(134,X),134,X)(C,F,F(134,X))
|
#define BOOST_PP_WHILE133(C,F,X) BOOST_PP_WHILE_C(C(135,X),134,X)(C,F,F(135,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE134(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(135,X),135,X)(C,F,F(135,X))
|
#define BOOST_PP_WHILE134(C,F,X) BOOST_PP_WHILE_C(C(136,X),135,X)(C,F,F(136,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE135(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(136,X),136,X)(C,F,F(136,X))
|
#define BOOST_PP_WHILE135(C,F,X) BOOST_PP_WHILE_C(C(137,X),136,X)(C,F,F(137,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE136(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(137,X),137,X)(C,F,F(137,X))
|
#define BOOST_PP_WHILE136(C,F,X) BOOST_PP_WHILE_C(C(138,X),137,X)(C,F,F(138,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE137(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(138,X),138,X)(C,F,F(138,X))
|
#define BOOST_PP_WHILE137(C,F,X) BOOST_PP_WHILE_C(C(139,X),138,X)(C,F,F(139,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE138(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(139,X),139,X)(C,F,F(139,X))
|
#define BOOST_PP_WHILE138(C,F,X) BOOST_PP_WHILE_C(C(140,X),139,X)(C,F,F(140,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE139(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(140,X),140,X)(C,F,F(140,X))
|
#define BOOST_PP_WHILE139(C,F,X) BOOST_PP_WHILE_C(C(141,X),140,X)(C,F,F(141,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE140(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(141,X),141,X)(C,F,F(141,X))
|
#define BOOST_PP_WHILE140(C,F,X) BOOST_PP_WHILE_C(C(142,X),141,X)(C,F,F(142,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE141(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(142,X),142,X)(C,F,F(142,X))
|
#define BOOST_PP_WHILE141(C,F,X) BOOST_PP_WHILE_C(C(143,X),142,X)(C,F,F(143,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE142(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(143,X),143,X)(C,F,F(143,X))
|
#define BOOST_PP_WHILE142(C,F,X) BOOST_PP_WHILE_C(C(144,X),143,X)(C,F,F(144,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE143(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(144,X),144,X)(C,F,F(144,X))
|
#define BOOST_PP_WHILE143(C,F,X) BOOST_PP_WHILE_C(C(145,X),144,X)(C,F,F(145,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE144(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(145,X),145,X)(C,F,F(145,X))
|
#define BOOST_PP_WHILE144(C,F,X) BOOST_PP_WHILE_C(C(146,X),145,X)(C,F,F(146,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE145(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(146,X),146,X)(C,F,F(146,X))
|
#define BOOST_PP_WHILE145(C,F,X) BOOST_PP_WHILE_C(C(147,X),146,X)(C,F,F(147,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE146(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(147,X),147,X)(C,F,F(147,X))
|
#define BOOST_PP_WHILE146(C,F,X) BOOST_PP_WHILE_C(C(148,X),147,X)(C,F,F(148,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE147(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(148,X),148,X)(C,F,F(148,X))
|
#define BOOST_PP_WHILE147(C,F,X) BOOST_PP_WHILE_C(C(149,X),148,X)(C,F,F(149,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE148(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(149,X),149,X)(C,F,F(149,X))
|
#define BOOST_PP_WHILE148(C,F,X) BOOST_PP_WHILE_C(C(150,X),149,X)(C,F,F(150,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE149(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(150,X),150,X)(C,F,F(150,X))
|
#define BOOST_PP_WHILE149(C,F,X) BOOST_PP_WHILE_C(C(151,X),150,X)(C,F,F(151,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE150(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(151,X),151,X)(C,F,F(151,X))
|
#define BOOST_PP_WHILE150(C,F,X) BOOST_PP_WHILE_C(C(152,X),151,X)(C,F,F(152,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE151(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(152,X),152,X)(C,F,F(152,X))
|
#define BOOST_PP_WHILE151(C,F,X) BOOST_PP_WHILE_C(C(153,X),152,X)(C,F,F(153,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE152(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(153,X),153,X)(C,F,F(153,X))
|
#define BOOST_PP_WHILE152(C,F,X) BOOST_PP_WHILE_C(C(154,X),153,X)(C,F,F(154,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE153(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(154,X),154,X)(C,F,F(154,X))
|
#define BOOST_PP_WHILE153(C,F,X) BOOST_PP_WHILE_C(C(155,X),154,X)(C,F,F(155,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE154(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(155,X),155,X)(C,F,F(155,X))
|
#define BOOST_PP_WHILE154(C,F,X) BOOST_PP_WHILE_C(C(156,X),155,X)(C,F,F(156,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE155(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(156,X),156,X)(C,F,F(156,X))
|
#define BOOST_PP_WHILE155(C,F,X) BOOST_PP_WHILE_C(C(157,X),156,X)(C,F,F(157,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE156(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(157,X),157,X)(C,F,F(157,X))
|
#define BOOST_PP_WHILE156(C,F,X) BOOST_PP_WHILE_C(C(158,X),157,X)(C,F,F(158,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE157(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(158,X),158,X)(C,F,F(158,X))
|
#define BOOST_PP_WHILE157(C,F,X) BOOST_PP_WHILE_C(C(159,X),158,X)(C,F,F(159,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE158(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(159,X),159,X)(C,F,F(159,X))
|
#define BOOST_PP_WHILE158(C,F,X) BOOST_PP_WHILE_C(C(160,X),159,X)(C,F,F(160,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE159(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(160,X),160,X)(C,F,F(160,X))
|
#define BOOST_PP_WHILE159(C,F,X) BOOST_PP_WHILE_C(C(161,X),160,X)(C,F,F(161,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE160(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(161,X),161,X)(C,F,F(161,X))
|
#define BOOST_PP_WHILE160(C,F,X) BOOST_PP_WHILE_C(C(162,X),161,X)(C,F,F(162,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE161(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(162,X),162,X)(C,F,F(162,X))
|
#define BOOST_PP_WHILE161(C,F,X) BOOST_PP_WHILE_C(C(163,X),162,X)(C,F,F(163,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE162(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(163,X),163,X)(C,F,F(163,X))
|
#define BOOST_PP_WHILE162(C,F,X) BOOST_PP_WHILE_C(C(164,X),163,X)(C,F,F(164,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE163(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(164,X),164,X)(C,F,F(164,X))
|
#define BOOST_PP_WHILE163(C,F,X) BOOST_PP_WHILE_C(C(165,X),164,X)(C,F,F(165,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE164(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(165,X),165,X)(C,F,F(165,X))
|
#define BOOST_PP_WHILE164(C,F,X) BOOST_PP_WHILE_C(C(166,X),165,X)(C,F,F(166,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE165(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(166,X),166,X)(C,F,F(166,X))
|
#define BOOST_PP_WHILE165(C,F,X) BOOST_PP_WHILE_C(C(167,X),166,X)(C,F,F(167,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE166(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(167,X),167,X)(C,F,F(167,X))
|
#define BOOST_PP_WHILE166(C,F,X) BOOST_PP_WHILE_C(C(168,X),167,X)(C,F,F(168,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE167(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(168,X),168,X)(C,F,F(168,X))
|
#define BOOST_PP_WHILE167(C,F,X) BOOST_PP_WHILE_C(C(169,X),168,X)(C,F,F(169,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE168(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(169,X),169,X)(C,F,F(169,X))
|
#define BOOST_PP_WHILE168(C,F,X) BOOST_PP_WHILE_C(C(170,X),169,X)(C,F,F(170,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE169(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(170,X),170,X)(C,F,F(170,X))
|
#define BOOST_PP_WHILE169(C,F,X) BOOST_PP_WHILE_C(C(171,X),170,X)(C,F,F(171,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE170(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(171,X),171,X)(C,F,F(171,X))
|
#define BOOST_PP_WHILE170(C,F,X) BOOST_PP_WHILE_C(C(172,X),171,X)(C,F,F(172,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE171(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(172,X),172,X)(C,F,F(172,X))
|
#define BOOST_PP_WHILE171(C,F,X) BOOST_PP_WHILE_C(C(173,X),172,X)(C,F,F(173,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE172(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(173,X),173,X)(C,F,F(173,X))
|
#define BOOST_PP_WHILE172(C,F,X) BOOST_PP_WHILE_C(C(174,X),173,X)(C,F,F(174,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE173(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(174,X),174,X)(C,F,F(174,X))
|
#define BOOST_PP_WHILE173(C,F,X) BOOST_PP_WHILE_C(C(175,X),174,X)(C,F,F(175,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE174(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(175,X),175,X)(C,F,F(175,X))
|
#define BOOST_PP_WHILE174(C,F,X) BOOST_PP_WHILE_C(C(176,X),175,X)(C,F,F(176,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE175(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(176,X),176,X)(C,F,F(176,X))
|
#define BOOST_PP_WHILE175(C,F,X) BOOST_PP_WHILE_C(C(177,X),176,X)(C,F,F(177,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE176(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(177,X),177,X)(C,F,F(177,X))
|
#define BOOST_PP_WHILE176(C,F,X) BOOST_PP_WHILE_C(C(178,X),177,X)(C,F,F(178,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE177(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(178,X),178,X)(C,F,F(178,X))
|
#define BOOST_PP_WHILE177(C,F,X) BOOST_PP_WHILE_C(C(179,X),178,X)(C,F,F(179,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE178(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(179,X),179,X)(C,F,F(179,X))
|
#define BOOST_PP_WHILE178(C,F,X) BOOST_PP_WHILE_C(C(180,X),179,X)(C,F,F(180,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE179(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(180,X),180,X)(C,F,F(180,X))
|
#define BOOST_PP_WHILE179(C,F,X) BOOST_PP_WHILE_C(C(181,X),180,X)(C,F,F(181,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE180(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(181,X),181,X)(C,F,F(181,X))
|
#define BOOST_PP_WHILE180(C,F,X) BOOST_PP_WHILE_C(C(182,X),181,X)(C,F,F(182,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE181(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(182,X),182,X)(C,F,F(182,X))
|
#define BOOST_PP_WHILE181(C,F,X) BOOST_PP_WHILE_C(C(183,X),182,X)(C,F,F(183,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE182(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(183,X),183,X)(C,F,F(183,X))
|
#define BOOST_PP_WHILE182(C,F,X) BOOST_PP_WHILE_C(C(184,X),183,X)(C,F,F(184,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE183(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(184,X),184,X)(C,F,F(184,X))
|
#define BOOST_PP_WHILE183(C,F,X) BOOST_PP_WHILE_C(C(185,X),184,X)(C,F,F(185,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE184(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(185,X),185,X)(C,F,F(185,X))
|
#define BOOST_PP_WHILE184(C,F,X) BOOST_PP_WHILE_C(C(186,X),185,X)(C,F,F(186,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE185(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(186,X),186,X)(C,F,F(186,X))
|
#define BOOST_PP_WHILE185(C,F,X) BOOST_PP_WHILE_C(C(187,X),186,X)(C,F,F(187,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE186(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(187,X),187,X)(C,F,F(187,X))
|
#define BOOST_PP_WHILE186(C,F,X) BOOST_PP_WHILE_C(C(188,X),187,X)(C,F,F(188,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE187(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(188,X),188,X)(C,F,F(188,X))
|
#define BOOST_PP_WHILE187(C,F,X) BOOST_PP_WHILE_C(C(189,X),188,X)(C,F,F(189,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE188(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(189,X),189,X)(C,F,F(189,X))
|
#define BOOST_PP_WHILE188(C,F,X) BOOST_PP_WHILE_C(C(190,X),189,X)(C,F,F(190,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE189(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(190,X),190,X)(C,F,F(190,X))
|
#define BOOST_PP_WHILE189(C,F,X) BOOST_PP_WHILE_C(C(191,X),190,X)(C,F,F(191,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE190(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(191,X),191,X)(C,F,F(191,X))
|
#define BOOST_PP_WHILE190(C,F,X) BOOST_PP_WHILE_C(C(192,X),191,X)(C,F,F(192,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE191(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(192,X),192,X)(C,F,F(192,X))
|
#define BOOST_PP_WHILE191(C,F,X) BOOST_PP_WHILE_C(C(193,X),192,X)(C,F,F(193,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE192(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(193,X),193,X)(C,F,F(193,X))
|
#define BOOST_PP_WHILE192(C,F,X) BOOST_PP_WHILE_C(C(194,X),193,X)(C,F,F(194,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE193(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(194,X),194,X)(C,F,F(194,X))
|
#define BOOST_PP_WHILE193(C,F,X) BOOST_PP_WHILE_C(C(195,X),194,X)(C,F,F(195,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE194(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(195,X),195,X)(C,F,F(195,X))
|
#define BOOST_PP_WHILE194(C,F,X) BOOST_PP_WHILE_C(C(196,X),195,X)(C,F,F(196,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE195(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(196,X),196,X)(C,F,F(196,X))
|
#define BOOST_PP_WHILE195(C,F,X) BOOST_PP_WHILE_C(C(197,X),196,X)(C,F,F(197,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE196(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(197,X),197,X)(C,F,F(197,X))
|
#define BOOST_PP_WHILE196(C,F,X) BOOST_PP_WHILE_C(C(198,X),197,X)(C,F,F(198,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE197(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(198,X),198,X)(C,F,F(198,X))
|
#define BOOST_PP_WHILE197(C,F,X) BOOST_PP_WHILE_C(C(199,X),198,X)(C,F,F(199,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE198(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(199,X),199,X)(C,F,F(199,X))
|
#define BOOST_PP_WHILE198(C,F,X) BOOST_PP_WHILE_C(C(200,X),199,X)(C,F,F(200,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE199(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(200,X),200,X)(C,F,F(200,X))
|
#define BOOST_PP_WHILE199(C,F,X) BOOST_PP_WHILE_C(C(201,X),200,X)(C,F,F(201,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE200(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(201,X),201,X)(C,F,F(201,X))
|
#define BOOST_PP_WHILE200(C,F,X) BOOST_PP_WHILE_C(C(202,X),201,X)(C,F,F(202,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE201(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(202,X),202,X)(C,F,F(202,X))
|
#define BOOST_PP_WHILE201(C,F,X) BOOST_PP_WHILE_C(C(203,X),202,X)(C,F,F(203,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE202(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(203,X),203,X)(C,F,F(203,X))
|
#define BOOST_PP_WHILE202(C,F,X) BOOST_PP_WHILE_C(C(204,X),203,X)(C,F,F(204,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE203(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(204,X),204,X)(C,F,F(204,X))
|
#define BOOST_PP_WHILE203(C,F,X) BOOST_PP_WHILE_C(C(205,X),204,X)(C,F,F(205,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE204(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(205,X),205,X)(C,F,F(205,X))
|
#define BOOST_PP_WHILE204(C,F,X) BOOST_PP_WHILE_C(C(206,X),205,X)(C,F,F(206,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE205(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(206,X),206,X)(C,F,F(206,X))
|
#define BOOST_PP_WHILE205(C,F,X) BOOST_PP_WHILE_C(C(207,X),206,X)(C,F,F(207,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE206(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(207,X),207,X)(C,F,F(207,X))
|
#define BOOST_PP_WHILE206(C,F,X) BOOST_PP_WHILE_C(C(208,X),207,X)(C,F,F(208,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE207(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(208,X),208,X)(C,F,F(208,X))
|
#define BOOST_PP_WHILE207(C,F,X) BOOST_PP_WHILE_C(C(209,X),208,X)(C,F,F(209,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE208(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(209,X),209,X)(C,F,F(209,X))
|
#define BOOST_PP_WHILE208(C,F,X) BOOST_PP_WHILE_C(C(210,X),209,X)(C,F,F(210,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE209(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(210,X),210,X)(C,F,F(210,X))
|
#define BOOST_PP_WHILE209(C,F,X) BOOST_PP_WHILE_C(C(211,X),210,X)(C,F,F(211,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE210(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(211,X),211,X)(C,F,F(211,X))
|
#define BOOST_PP_WHILE210(C,F,X) BOOST_PP_WHILE_C(C(212,X),211,X)(C,F,F(212,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE211(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(212,X),212,X)(C,F,F(212,X))
|
#define BOOST_PP_WHILE211(C,F,X) BOOST_PP_WHILE_C(C(213,X),212,X)(C,F,F(213,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE212(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(213,X),213,X)(C,F,F(213,X))
|
#define BOOST_PP_WHILE212(C,F,X) BOOST_PP_WHILE_C(C(214,X),213,X)(C,F,F(214,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE213(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(214,X),214,X)(C,F,F(214,X))
|
#define BOOST_PP_WHILE213(C,F,X) BOOST_PP_WHILE_C(C(215,X),214,X)(C,F,F(215,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE214(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(215,X),215,X)(C,F,F(215,X))
|
#define BOOST_PP_WHILE214(C,F,X) BOOST_PP_WHILE_C(C(216,X),215,X)(C,F,F(216,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE215(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(216,X),216,X)(C,F,F(216,X))
|
#define BOOST_PP_WHILE215(C,F,X) BOOST_PP_WHILE_C(C(217,X),216,X)(C,F,F(217,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE216(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(217,X),217,X)(C,F,F(217,X))
|
#define BOOST_PP_WHILE216(C,F,X) BOOST_PP_WHILE_C(C(218,X),217,X)(C,F,F(218,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE217(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(218,X),218,X)(C,F,F(218,X))
|
#define BOOST_PP_WHILE217(C,F,X) BOOST_PP_WHILE_C(C(219,X),218,X)(C,F,F(219,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE218(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(219,X),219,X)(C,F,F(219,X))
|
#define BOOST_PP_WHILE218(C,F,X) BOOST_PP_WHILE_C(C(220,X),219,X)(C,F,F(220,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE219(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(220,X),220,X)(C,F,F(220,X))
|
#define BOOST_PP_WHILE219(C,F,X) BOOST_PP_WHILE_C(C(221,X),220,X)(C,F,F(221,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE220(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(221,X),221,X)(C,F,F(221,X))
|
#define BOOST_PP_WHILE220(C,F,X) BOOST_PP_WHILE_C(C(222,X),221,X)(C,F,F(222,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE221(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(222,X),222,X)(C,F,F(222,X))
|
#define BOOST_PP_WHILE221(C,F,X) BOOST_PP_WHILE_C(C(223,X),222,X)(C,F,F(223,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE222(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(223,X),223,X)(C,F,F(223,X))
|
#define BOOST_PP_WHILE222(C,F,X) BOOST_PP_WHILE_C(C(224,X),223,X)(C,F,F(224,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE223(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(224,X),224,X)(C,F,F(224,X))
|
#define BOOST_PP_WHILE223(C,F,X) BOOST_PP_WHILE_C(C(225,X),224,X)(C,F,F(225,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE224(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(225,X),225,X)(C,F,F(225,X))
|
#define BOOST_PP_WHILE224(C,F,X) BOOST_PP_WHILE_C(C(226,X),225,X)(C,F,F(226,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE225(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(226,X),226,X)(C,F,F(226,X))
|
#define BOOST_PP_WHILE225(C,F,X) BOOST_PP_WHILE_C(C(227,X),226,X)(C,F,F(227,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE226(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(227,X),227,X)(C,F,F(227,X))
|
#define BOOST_PP_WHILE226(C,F,X) BOOST_PP_WHILE_C(C(228,X),227,X)(C,F,F(228,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE227(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(228,X),228,X)(C,F,F(228,X))
|
#define BOOST_PP_WHILE227(C,F,X) BOOST_PP_WHILE_C(C(229,X),228,X)(C,F,F(229,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE228(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(229,X),229,X)(C,F,F(229,X))
|
#define BOOST_PP_WHILE228(C,F,X) BOOST_PP_WHILE_C(C(230,X),229,X)(C,F,F(230,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE229(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(230,X),230,X)(C,F,F(230,X))
|
#define BOOST_PP_WHILE229(C,F,X) BOOST_PP_WHILE_C(C(231,X),230,X)(C,F,F(231,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE230(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(231,X),231,X)(C,F,F(231,X))
|
#define BOOST_PP_WHILE230(C,F,X) BOOST_PP_WHILE_C(C(232,X),231,X)(C,F,F(232,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE231(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(232,X),232,X)(C,F,F(232,X))
|
#define BOOST_PP_WHILE231(C,F,X) BOOST_PP_WHILE_C(C(233,X),232,X)(C,F,F(233,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE232(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(233,X),233,X)(C,F,F(233,X))
|
#define BOOST_PP_WHILE232(C,F,X) BOOST_PP_WHILE_C(C(234,X),233,X)(C,F,F(234,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE233(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(234,X),234,X)(C,F,F(234,X))
|
#define BOOST_PP_WHILE233(C,F,X) BOOST_PP_WHILE_C(C(235,X),234,X)(C,F,F(235,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE234(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(235,X),235,X)(C,F,F(235,X))
|
#define BOOST_PP_WHILE234(C,F,X) BOOST_PP_WHILE_C(C(236,X),235,X)(C,F,F(236,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE235(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(236,X),236,X)(C,F,F(236,X))
|
#define BOOST_PP_WHILE235(C,F,X) BOOST_PP_WHILE_C(C(237,X),236,X)(C,F,F(237,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE236(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(237,X),237,X)(C,F,F(237,X))
|
#define BOOST_PP_WHILE236(C,F,X) BOOST_PP_WHILE_C(C(238,X),237,X)(C,F,F(238,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE237(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(238,X),238,X)(C,F,F(238,X))
|
#define BOOST_PP_WHILE237(C,F,X) BOOST_PP_WHILE_C(C(239,X),238,X)(C,F,F(239,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE238(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(239,X),239,X)(C,F,F(239,X))
|
#define BOOST_PP_WHILE238(C,F,X) BOOST_PP_WHILE_C(C(240,X),239,X)(C,F,F(240,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE239(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(240,X),240,X)(C,F,F(240,X))
|
#define BOOST_PP_WHILE239(C,F,X) BOOST_PP_WHILE_C(C(241,X),240,X)(C,F,F(241,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE240(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(241,X),241,X)(C,F,F(241,X))
|
#define BOOST_PP_WHILE240(C,F,X) BOOST_PP_WHILE_C(C(242,X),241,X)(C,F,F(242,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE241(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(242,X),242,X)(C,F,F(242,X))
|
#define BOOST_PP_WHILE241(C,F,X) BOOST_PP_WHILE_C(C(243,X),242,X)(C,F,F(243,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE242(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(243,X),243,X)(C,F,F(243,X))
|
#define BOOST_PP_WHILE242(C,F,X) BOOST_PP_WHILE_C(C(244,X),243,X)(C,F,F(244,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE243(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(244,X),244,X)(C,F,F(244,X))
|
#define BOOST_PP_WHILE243(C,F,X) BOOST_PP_WHILE_C(C(245,X),244,X)(C,F,F(245,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE244(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(245,X),245,X)(C,F,F(245,X))
|
#define BOOST_PP_WHILE244(C,F,X) BOOST_PP_WHILE_C(C(246,X),245,X)(C,F,F(246,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE245(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(246,X),246,X)(C,F,F(246,X))
|
#define BOOST_PP_WHILE245(C,F,X) BOOST_PP_WHILE_C(C(247,X),246,X)(C,F,F(247,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE246(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(247,X),247,X)(C,F,F(247,X))
|
#define BOOST_PP_WHILE246(C,F,X) BOOST_PP_WHILE_C(C(248,X),247,X)(C,F,F(248,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE247(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(248,X),248,X)(C,F,F(248,X))
|
#define BOOST_PP_WHILE247(C,F,X) BOOST_PP_WHILE_C(C(249,X),248,X)(C,F,F(249,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE248(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(249,X),249,X)(C,F,F(249,X))
|
#define BOOST_PP_WHILE248(C,F,X) BOOST_PP_WHILE_C(C(250,X),249,X)(C,F,F(250,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE249(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(250,X),250,X)(C,F,F(250,X))
|
#define BOOST_PP_WHILE249(C,F,X) BOOST_PP_WHILE_C(C(251,X),250,X)(C,F,F(251,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE250(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(251,X),251,X)(C,F,F(251,X))
|
#define BOOST_PP_WHILE250(C,F,X) BOOST_PP_WHILE_C(C(252,X),251,X)(C,F,F(252,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE251(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(252,X),252,X)(C,F,F(252,X))
|
#define BOOST_PP_WHILE251(C,F,X) BOOST_PP_WHILE_C(C(253,X),252,X)(C,F,F(253,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE252(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(253,X),253,X)(C,F,F(253,X))
|
#define BOOST_PP_WHILE252(C,F,X) BOOST_PP_WHILE_C(C(254,X),253,X)(C,F,F(254,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE253(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(254,X),254,X)(C,F,F(254,X))
|
#define BOOST_PP_WHILE253(C,F,X) BOOST_PP_WHILE_C(C(255,X),254,X)(C,F,F(255,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE254(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(255,X),255,X)(C,F,F(255,X))
|
#define BOOST_PP_WHILE254(C,F,X) BOOST_PP_WHILE_C(C(256,X),255,X)(C,F,F(256,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE255(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(256,X),256,X)(C,F,F(256,X))
|
#define BOOST_PP_WHILE255(C,F,X) BOOST_PP_WHILE_C(C(257,X),256,X)(C,F,F(257,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE256(C,F,X) BOOST_PREPROCESSOR_WHILE_C(C(257,X),257,X)(C,F,F(257,X))
|
#define BOOST_PP_WHILE256(C,F,X) BOOST_PP_WHILE_C(C(258,X),257,X)(C,F,F(258,X))
|
||||||
#define BOOST_PREPROCESSOR_WHILE257(C,F,X) RECURSION DEPTH EXCEEDED!
|
#define BOOST_PP_WHILE257(C,F,X) BOOST_PP_WHILE_C(C(259,X),258,X)(C,F,F(259,X))
|
||||||
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
#define BOOST_PP_WHILE258(C,F,X) RECURSION DEPTH EXCEEDED!
|
||||||
|
#define BOOST_PP_WHILE259(C,F,X) RECURSION DEPTH EXCEEDED!
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user