forked from boostorg/preprocessor
lib cleanup
[SVN r15693]
This commit is contained in:
55
doc/acknowledgements.html
Normal file
55
doc/acknowledgements.html
Normal file
@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>acknowledgements.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Acknowledgements</h4>
|
||||
<div>
|
||||
The following are a few acknowledgements of people that contributed to
|
||||
or were instrumental in the development of the library by Vesa Karnoven and myself.
|
||||
</div>
|
||||
<h4>Vesa Karvonen</h4>
|
||||
<div>
|
||||
The original idea of passing two extra parameters to REPEAT, which makes it possible to create preprocessor code on top of it,
|
||||
was due to Aleksey Gurtovoy.
|
||||
The invokeable IDENTITY macro was invented by him.
|
||||
He also suggested the name for the library.
|
||||
Many thanks to Aleksey for his insights!
|
||||
</div>
|
||||
<div>
|
||||
Thanks to everyone who participated in the review: David Abrahams, Beman Dawes, Ronald Garcia, Douglas Gregor, Aleksey Gurtovoy, Jeremy Siek, and Daryle Walker.
|
||||
</div>
|
||||
<div>
|
||||
Thanks to Chris Little and Mat Marcus for providing help with MWCW.
|
||||
</div>
|
||||
<div>
|
||||
The original automatic recursion technique, which makes many of the library
|
||||
primitives easier to use, was invented by Paul Mensonides.
|
||||
</div>
|
||||
<div>
|
||||
The PREPROCESSOR library has been developed by Vesa Karvonen.
|
||||
</div>
|
||||
<h4>Paul Mensonides</h4>
|
||||
<div>
|
||||
Thanks to Vesa Karvonen for the original conception of the library.
|
||||
His work, his help, and his opinions are all much appreciated.
|
||||
</div>
|
||||
<div>
|
||||
Thanks also to David Abrahams for his observations and continued support.
|
||||
</div>
|
||||
<div>
|
||||
The help of several other Boost developers is also greatly appreciated.
|
||||
In particular, thanks to Aleksey Gurtovoy for his suggestions and to Ralf W. Grosse-Kunstleve for providing
|
||||
access to several compilers for testing.
|
||||
</div>
|
||||
<hr size="1">
|
||||
<div style="margin-left: 0px;">
|
||||
<i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
|
||||
</div>
|
||||
<div style="margin-left: 0px;">
|
||||
Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies.
|
||||
This document is provided "as is" without express or implied warranty and with no claim as to its suitability for any purpose.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
55
doc/bibliography.html
Normal file
55
doc/bibliography.html
Normal file
@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>bibliography.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Bibliography</h4>
|
||||
<table style="margin-left: 20px">
|
||||
<tr>
|
||||
<td><b>[Stroustrup]</b></td>
|
||||
<td>Stroustrup: <i>The Design and Evolution of C++</i>, ISBN 0201543303</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[Czarnecki]</b></td>
|
||||
<td>Czarnecki, Eisenecker: <i>Generative Programming</i>, ISBN 0201309777</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[Barton]</b></td>
|
||||
<td>Barton, Nackman: <i>Scientific and Engineering C++</i>, ISBN 0201533936</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[McConnell]</b></td>
|
||||
<td>McConnell: <i>Code Complete</i>, ISBN 1556154844</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[Std]</b></td>
|
||||
<td>ISO/IEC 14882:1998 <i>Programming Languages - C++</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[Thompson]</b></td>
|
||||
<td>Thompson: <i>Haskell: The Craft of Functional Programming</i>, ISBN 0201342758</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[Okasaki]</b></td>
|
||||
<td>Okasaki: <i>Purely Functional Data Structures</i>, ISBN 0521663504</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[Cousineau]</b></td>
|
||||
<td>Cousineau, Mauny: <i>The Functional Approach to Programming</i>, ISBN 0521576814</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[Abelson]</b></td>
|
||||
<td>Abelson, Sussman, Sussman: <i>Structure and Interpretation of Computer Programs</i>, ISBN 0521576814</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr size="1">
|
||||
<div style="margin-left: 0px;">
|
||||
<i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
|
||||
</div>
|
||||
<div style="margin-left: 0px;">
|
||||
Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies.
|
||||
This document is provided "as is" without express or implied warranty and with no claim as to its suitability for any purpose.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
9
doc/blank.html
Normal file
9
doc/blank.html
Normal file
@ -0,0 +1,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>blank.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
20
doc/contents.html
Normal file
20
doc/contents.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>contents.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
<style>
|
||||
a, a:link, a:visited { color: black; font-weight: bold; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h4><a href="topics.html">Topics</h4>
|
||||
<h4><a href="terms.html">Terminology</h4>
|
||||
<h4><a href="data.html">Data Types</h4>
|
||||
<h4><a href="ref.html">Reference</h4>
|
||||
<h4><a href="headers.html">Headers</h4>
|
||||
<h4><a href="examples.html">Examples</h4>
|
||||
<h4><a href="miscellanea.html">Miscellanea</h4>
|
||||
|
||||
</body>
|
||||
</html>
|
15
doc/data.html
Normal file
15
doc/data.html
Normal file
@ -0,0 +1,15 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>data.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
<base target="desc">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Data Types <small><a href="contents.html" target="index">[back]</a></small></h4>
|
||||
<ul>
|
||||
<li><a href="data/arrays.html">arrays</a></li>
|
||||
<li><a href="data/lists.html">lists</a></li>
|
||||
<li><a href="data/tuples.html">tuples</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
43
doc/data/arrays.html
Normal file
43
doc/data/arrays.html
Normal file
@ -0,0 +1,43 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>arrays.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
<script language="javascript" type="text/javascript" src="../scripts.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h4>Arrays</h4>
|
||||
<div>
|
||||
An <i>array</i> is a data structure consisting of a two-element <i>tuple</i>.
|
||||
The first element is the number of elements in the <i>array</i>.
|
||||
The second element is another <i>tuple</i> of the elements in the <i>array</i>.
|
||||
For example,
|
||||
</div>
|
||||
<div class="code">
|
||||
(<i>3</i>, (<i>a</i>, <i>b</i>, <i>c</i>))
|
||||
</div>
|
||||
<div>
|
||||
...is an <i>array</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
|
||||
</div>
|
||||
<div>
|
||||
The primary strength of <i>arrays</i> is that they store their own size.
|
||||
Because of this, access to elements does not require the size.
|
||||
It only requires that an element exists at a certain index.
|
||||
</div>
|
||||
<div>
|
||||
This allows macro parameters to be variable in size and allows data states to change
|
||||
size without the user explicitly keeping track of the size independently.
|
||||
</div>
|
||||
<div>
|
||||
Elements of an <i>array</i> can be extracted with <b>BOOST_PP_ARRAY_ELEM</b>,
|
||||
an <i>array's</i> size can be extracted with <b>BOOST_PP_ARRAY_SIZE</b>, and
|
||||
an <i>array</i> can be converted to the more primitive <i>tuple</i> data structure
|
||||
with <b>BOOST_PP_ARRAY_DATA</b>.
|
||||
</div>
|
||||
<h4>Primitives</h4>
|
||||
<ul>
|
||||
<li><a href="../ref/array_data.html">BOOST_PP_ARRAY_DATA</a></li>
|
||||
<li><a href="../ref/array_elem.html">BOOST_PP_ARRAY_ELEM</a></li>
|
||||
<li><a href="../ref/array_size.html">BOOST_PP_ARRAY_SIZE</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
36
doc/data/lists.html
Normal file
36
doc/data/lists.html
Normal file
@ -0,0 +1,36 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>lists.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
<script language="javascript" type="text/javascript" src="../scripts.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h4>Lists</h4>
|
||||
<div>
|
||||
A <i>list</i> is a simple cons-style list with a head and a tail.
|
||||
The head of a <i>list</i> is an element,
|
||||
and the tail is either another <i>list</i> or <b>BOOST_PP_NIL</b>.
|
||||
For example,
|
||||
</div>
|
||||
<div class="code">
|
||||
(<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>)))
|
||||
</div>
|
||||
<div>
|
||||
...is a <i>list</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
|
||||
</div>
|
||||
<div>
|
||||
This allows macro parameters to be variable in size and allows data states to change
|
||||
size without the user explicitly keeping track of the size independently.
|
||||
</div>
|
||||
<div>
|
||||
Elements of a <i>list</i> can be extracted with
|
||||
<b>BOOST_PP_LIST_FIRST</b> and <b>BOOST_PP_LIST_REST</b>.
|
||||
</div>
|
||||
<h4>Primitives</h4>
|
||||
<ul>
|
||||
<li><a href="../ref/list_first.html">BOOST_PP_LIST_FIRST</a></li>
|
||||
<li><a href="../ref/list_rest.html">BOOST_PP_LIST_REST</a></li>
|
||||
<li><a href="../ref/nil.html">BOOST_PP_NIL</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
32
doc/data/tuples.html
Normal file
32
doc/data/tuples.html
Normal file
@ -0,0 +1,32 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>tuples.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
<script language="javascript" type="text/javascript" src="../scripts.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h4>Tuples</h4>
|
||||
<div>
|
||||
A <i>tuple</i> is a simple comma-separated list of elements inside parenthesis.
|
||||
For example,
|
||||
</div>
|
||||
<div class="code">
|
||||
(<i>a</i>, <i>b</i>, <i>c</i>)
|
||||
</div>
|
||||
<div>
|
||||
...is a <i>tuple</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
|
||||
</div>
|
||||
<div>
|
||||
<i>Tuples</i> are fast and easy to use.
|
||||
However, all access to <i>tuples</i> requires knowledge of its size.
|
||||
</div>
|
||||
<div>
|
||||
Elements of a <i>tuple</i> can be extracted with
|
||||
<b>BOOST_PP_TUPLE_ELEM</b>.
|
||||
</div>
|
||||
<h4>Primitives</h4>
|
||||
<ul>
|
||||
<li><a href="../ref/tuple_elem.html">BOOST_PP_TUPLE_ELEM</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
18
doc/examples.html
Normal file
18
doc/examples.html
Normal file
@ -0,0 +1,18 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>topics.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
<base target="desc">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Examples <small><a href="contents.html" target="index">[back]</a></small></h4>
|
||||
<ul>
|
||||
<li><a href="examples/array_arithmetic.c">array_arithmetic.c</a></i>
|
||||
<li><a href="examples/catch_builtin.cpp">catch_builtin.cpp</a></i>
|
||||
<li><a href="examples/delay.c">delay.c</a></i>
|
||||
<li><a href="examples/duffs_device.c">duffs_device.c</a></i>
|
||||
<li><a href="examples/is_integral.cpp">is_integral.cpp</a></li>
|
||||
<li><a href="examples/linear_fib.c">linear_fib.c</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
@ -1,16 +0,0 @@
|
||||
|
||||
|
||||
extern "C" {
|
||||
|
||||
void _assert(const char*, const char*, unsigned);
|
||||
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
int i = 0;
|
||||
do { int duffs_device_initial_cnt = (0); if (duffs_device_initial_cnt > 0) { int duffs_device_running_cnt = (duffs_device_initial_cnt + (16 - 1)) / 16; switch (duffs_device_initial_cnt % 16) { do { case (0 ? 16 - 0 : 0): { ++i; }; case (1 ? 16 - 1 : 0): { ++i; }; case (2 ? 16 - 2 : 0): { ++i; }; case (3 ? 16 - 3 : 0): { ++i; }; case (4 ? 16 - 4 : 0): { ++i; }; case (5 ? 16 - 5 : 0): { ++i; }; case (6 ? 16 - 6 : 0): { ++i; }; case (7 ? 16 - 7 : 0): { ++i; }; case (8 ? 16 - 8 : 0): { ++i; }; case (9 ? 16 - 9 : 0): { ++i; }; case (10 ? 16 - 10 : 0): { ++i; }; case (11 ? 16 - 11 : 0): { ++i; }; case (12 ? 16 - 12 : 0): { ++i; }; case (13 ? 16 - 13 : 0): { ++i; }; case (14 ? 16 - 14 : 0): { ++i; }; case (15 ? 16 - 15 : 0): { ++i; }; } while (--duffs_device_running_cnt); } } } while (0);
|
||||
(void)( (i == 0) || (_assert("i == 0", "duffs_device.c", 58), 0) );
|
||||
do { int duffs_device_initial_cnt = (1000); if (duffs_device_initial_cnt > 0) { int duffs_device_running_cnt = (duffs_device_initial_cnt + (16 - 1)) / 16; switch (duffs_device_initial_cnt % 16) { do { case (0 ? 16 - 0 : 0): { ++i; }; case (1 ? 16 - 1 : 0): { ++i; }; case (2 ? 16 - 2 : 0): { ++i; }; case (3 ? 16 - 3 : 0): { ++i; }; case (4 ? 16 - 4 : 0): { ++i; }; case (5 ? 16 - 5 : 0): { ++i; }; case (6 ? 16 - 6 : 0): { ++i; }; case (7 ? 16 - 7 : 0): { ++i; }; case (8 ? 16 - 8 : 0): { ++i; }; case (9 ? 16 - 9 : 0): { ++i; }; case (10 ? 16 - 10 : 0): { ++i; }; case (11 ? 16 - 11 : 0): { ++i; }; case (12 ? 16 - 12 : 0): { ++i; }; case (13 ? 16 - 13 : 0): { ++i; }; case (14 ? 16 - 14 : 0): { ++i; }; case (15 ? 16 - 15 : 0): { ++i; }; } while (--duffs_device_running_cnt); } } } while (0);
|
||||
(void)( (i == 1000) || (_assert("i == N", "duffs_device.c", 60), 0) );
|
||||
return 0;
|
||||
}
|
165
doc/headers.html
Normal file
165
doc/headers.html
Normal file
@ -0,0 +1,165 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>headers.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
<base target="desc">
|
||||
<style>
|
||||
.ps { margin-left: 30px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h4>Headers <small><a href="contents.html" target="index">[back]</a></small></h4>
|
||||
<ul>
|
||||
<li>../</li>
|
||||
<li class="ps"><a href="headers/preprocessor.hpp.html">preprocessor.hpp</a></li>
|
||||
<li><a href="headers/arithmetic.hpp.html">arithmetic.hpp</a></li>
|
||||
<li>arithmetic/</li>
|
||||
<li class="ps"><a href="headers/arithmetic/add.hpp.html">add.hpp</a></li>
|
||||
<li class="ps"><a href="headers/arithmetic/dec.hpp.html">dec.hpp</a></li>
|
||||
<li class="ps"><a href="headers/arithmetic/div.hpp.html">div.hpp</a></li>
|
||||
<li class="ps"><a href="headers/arithmetic/inc.hpp.html">inc.hpp</a></li>
|
||||
<li class="ps"><a href="headers/arithmetic/mod.hpp.html">mod.hpp</a></li>
|
||||
<li class="ps"><a href="headers/arithmetic/mul.hpp.html">mul.hpp</a></li>
|
||||
<li class="ps"><a href="headers/arithmetic/sub.hpp.html">sub.hpp</a></li>
|
||||
<li><a href="headers/array.hpp.html">array.hpp</a></li>
|
||||
<li>array/</li>
|
||||
<li class="ps"><a href="headers/array/data.hpp.html">data.hpp</a></li>
|
||||
<li class="ps"><a href="headers/array/elem.hpp.html">elem.hpp</a></li>
|
||||
<li class="ps"><a href="headers/array/size.hpp.html">size.hpp</a></li>
|
||||
<li><a href="headers/assert_msg.hpp.html">assert_msg.hpp*</a></li>
|
||||
<li><a href="headers/cat.hpp.html">cat.hpp</a></li>
|
||||
<li><a href="headers/comma.hpp.html">comma.hpp*</a></li>
|
||||
<li><a href="headers/comma_if.hpp.html">comma_if.hpp*</a></li>
|
||||
<li><a href="headers/comparison.hpp.html">comparison.hpp</a></li>
|
||||
<li>comparison/</li>
|
||||
<li class="ps"><a href="headers/comparison/equal.hpp.html">equal.hpp</a></li>
|
||||
<li class="ps"><a href="headers/comparison/greater.hpp.html">greater.hpp</a></li>
|
||||
<li class="ps"><a href="headers/comparison/greater_equal.hpp.html">greater_equal.hpp</a></li>
|
||||
<li class="ps"><a href="headers/comparison/less.hpp.html">less.hpp</a></li>
|
||||
<li class="ps"><a href="headers/comparison/less_equal.hpp.html">less_equal.hpp</a></li>
|
||||
<li class="ps"><a href="headers/comparison/not_equal.hpp.html">not_equal.hpp</a></li>
|
||||
<li>config/</li>
|
||||
<li class="ps"><a href="headers/config/limits.hpp.html">limits.hpp</a></li>
|
||||
<li><a href="headers/control.hpp.html">control.hpp</a></li>
|
||||
<li>control/</li>
|
||||
<li class="ps"><a href="headers/control/deduce_d.hpp.html">deduce_d.hpp</a></li>
|
||||
<li class="ps"><a href="headers/control/expr_if.hpp.html">expr_if.hpp</a></li>
|
||||
<li class="ps"><a href="headers/control/expr_iif.hpp.html">expr_iif.hpp</a></li>
|
||||
<li class="ps"><a href="headers/control/if.hpp.html">if.hpp</a></li>
|
||||
<li class="ps"><a href="headers/control/iif.hpp.html">iif.hpp</a></li>
|
||||
<li class="ps"><a href="headers/control/while.hpp.html">while.hpp</a></li>
|
||||
<li><a href="headers/debug.hpp.html">debug.hpp</a></li>
|
||||
<li>debug/</li>
|
||||
<li class="ps"><a href="headers/debug/assert.hpp.html">assert.hpp</a></li>
|
||||
<li class="ps"><a href="headers/debug/line.hpp.html">line.hpp</a></li>
|
||||
<li><a href="headers/dec.hpp.html">dec.hpp*</a></li>
|
||||
<li><a href="headers/empty.hpp.html">empty.hpp*</a></li>
|
||||
<li><a href="headers/enum.hpp.html">enum.hpp*</a></li>
|
||||
<li><a href="headers/enum_params.hpp.html">enum_params.hpp*</a></li>
|
||||
<li><a href="headers/enum_params_with_a_default.hpp.html">enum_params_with_a_default.hpp*</a></li>
|
||||
<li><a href="headers/enum_params_with_defaults.hpp.html">enum_params_with_defaults.hpp*</a></li>
|
||||
<li><a href="headers/enum_shifted.hpp.html">enum_shifted.hpp*</a></li>
|
||||
<li><a href="headers/enum_shifted_params.hpp.html">enum_shifted_params.hpp*</a></li>
|
||||
<li><a href="headers/expand.hpp.html">expand.hpp*</a></li>
|
||||
<li><a href="headers/expr_if.hpp.html">expr_if.hpp*</a></li>
|
||||
<li><a href="headers/facilities.hpp.html">facilities.hpp</a></li>
|
||||
<li>facilities/</li>
|
||||
<li class="ps"><a href="headers/facilities/apply.hpp.html">apply.hpp</a></li>
|
||||
<li class="ps"><a href="headers/facilities/empty.hpp.html">empty.hpp</a></li>
|
||||
<li class="ps"><a href="headers/facilities/expand.hpp.html">expand.hpp</a></li>
|
||||
<li class="ps"><a href="headers/facilities/identity.hpp.html">identity.hpp</a></li>
|
||||
<li class="ps"><a href="headers/facilities/intercept.hpp.html">intercept.hpp</a></li>
|
||||
<li><a href="headers/for.hpp.html">for.hpp*</a></li>
|
||||
<li><a href="headers/identity.hpp.html">identity.hpp*</a></li>
|
||||
<li><a href="headers/if.hpp.html">if.hpp*</a></li>
|
||||
<li><a href="headers/inc.hpp.html">inc.hpp*</a></li>
|
||||
<li><a href="headers/iterate.hpp.html">iterate.hpp*</a></li>
|
||||
<li><a href="headers/iteration.hpp.html">iteration.hpp</a></li>
|
||||
<li>iteration/</li>
|
||||
<li class="ps"><a href="headers/iteration/iterate.hpp.html">iterate.hpp</a></li>
|
||||
<li class="ps"><a href="headers/iteration/local.hpp.html">local.hpp</a></li>
|
||||
<li class="ps"><a href="headers/iteration/self.hpp.html">self.hpp</a></li>
|
||||
<li><a href="headers/library.hpp.html">library.hpp</a></li>
|
||||
<li><a href="headers/limits.hpp.html">limits.hpp*</a></li>
|
||||
<li><a href="headers/list.hpp.html">list.hpp</a></li>
|
||||
<li>list/</li>
|
||||
<li class="ps"><a href="headers/list/adt.hpp.html">adt.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/append.hpp.html">append.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/at.hpp.html">at.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/cat.hpp.html">cat.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/enum.hpp.html">enum.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/filter.hpp.html">filter.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/first_n.hpp.html">first_n.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/fold_left.hpp.html">fold_left.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/fold_right.hpp.html">fold_right.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/for_each.hpp.html">for_each.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/for_each_i.hpp.html">for_each_i.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/for_each_product.hpp.html">for_each_product.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/rest_n.hpp.html">rest_n.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/reverse.hpp.html">reverse.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/size.hpp.html">size.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/to_tuple.hpp.html">to_tuple.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/transform.hpp.html">transform.hpp</a></li>
|
||||
<li><a href="headers/logical.hpp.html">logical.hpp</a></li>
|
||||
<li>logical/</li>
|
||||
<li class="ps"><a href="headers/logical/and.hpp.html">and.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/bitand.hpp.html">bitand.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/bitnor.hpp.html">bitnor.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/bitor.hpp.html">bitor.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/bitxor.hpp.html">bitxor.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/bool.hpp.html">bool.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/compl.hpp.html">compl.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/nor.hpp.html">nor.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/not.hpp.html">not.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/or.hpp.html">or.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/xor.hpp.html">xor.hpp</a></li>
|
||||
<li><a href="headers/max.hpp.html">max.hpp*</a></li>
|
||||
<li><a href="headers/min.hpp.html">min.hpp*</a></li>
|
||||
<li><a href="headers/punctuation.hpp.html">punctuation.hpp</a></li>
|
||||
<li>punctuation/</li>
|
||||
<li class="ps"><a href="headers/punctuation/comma.hpp.html">comma.hpp</a></li>
|
||||
<li class="ps"><a href="headers/punctuation/comma_if.hpp.html">comma_if.hpp</a></li>
|
||||
<li class="ps"><a href="headers/punctuation/paren.hpp.html">paren.hpp</a></li>
|
||||
<li class="ps"><a href="headers/punctuation/paren_if.hpp.html">paren_if.hpp</a></li>
|
||||
<li><a href="headers/repeat.hpp.html">repeat.hpp*</a></li>
|
||||
<li><a href="headers/repeat_2nd.hpp.html">repeat_2nd.hpp*</a></li>
|
||||
<li><a href="headers/repeat_3rd.hpp.html">repeat_3rd.hpp*</a></li>
|
||||
<li><a href="headers/repeat_from_to.hpp.html">repeat_from_to.hpp*</a></li>
|
||||
<li><a href="headers/repeat_from_to_2nd.hpp.html">repeat_from_to_2nd.hpp*</a></li>
|
||||
<li><a href="headers/repeat_from_to_3rd.hpp.html">repeat_from_to_3rd.hpp*</a></li>
|
||||
<li><a href="headers/repetition.hpp.html">repetition.hpp</a></li>
|
||||
<li>repetition/</li>
|
||||
<li class="ps"><a href="headers/repetition/deduce_r.hpp.html">deduce_r.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/deduce_z.hpp.html">deduce_z.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/enum.hpp.html">enum.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/enum_binary_params.hpp.html">enum_binary_params.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/enum_params.hpp.html">enum_params.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/enum_params_with_a_default.hpp.html">enum_params_with_a_default.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/enum_params_with_defaults.hpp.html">enum_params_with_defaults.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/enum_shifted_params.hpp.html">enum_shifted_params.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/enum_shifted.hpp.html">enum_shifted.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/enum_trailing.hpp.html">enum_trailing.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/enum_trailing_binary_params.hpp.html">enum_trailing_binary_params.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/enum_trailing_params.hpp.html">enum_trailing_params.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/for.hpp.html">for.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/repeat.hpp.html">repeat.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/repeat_from_to.hpp.html">repeat_from_to.hpp</a></li>
|
||||
<li><a href="headers/selection.hpp.html">selection.hpp</a></li>
|
||||
<li>selection/</li>
|
||||
<li class="ps"><a href="headers/selection/max.hpp.html">max.hpp</a></li>
|
||||
<li class="ps"><a href="headers/selection/min.hpp.html">min.hpp</a></li>
|
||||
<li><a href="headers/slot.hpp.html">slot.hpp</a></li>
|
||||
<li>slot/</li>
|
||||
<li class="ps"><a href="headers/slot/slot.hpp.html">slot.hpp</a></li>
|
||||
<li><a href="headers/tuple.hpp.html">tuple.hpp</a></li>
|
||||
<li>tuple/</li>
|
||||
<li class="ps"><a href="headers/tuple/elem.hpp.html">elem.hpp</a></li>
|
||||
<li class="ps"><a href="headers/tuple/eat.hpp.html">eat.hpp</a></li>
|
||||
<li class="ps"><a href="headers/tuple/rem.hpp.html">rem.hpp</a></li>
|
||||
<li class="ps"><a href="headers/tuple/reverse.hpp.html">reverse.hpp</a></li>
|
||||
<li class="ps"><a href="headers/tuple/to_list.hpp.html">to_list.hpp</a></li>
|
||||
<li><a href="headers/stringize.hpp.html">stringize.hpp</a></li>
|
||||
<li><a href="headers/while.hpp.html">while.hpp*</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
25
doc/headers/arithmetic.hpp.html
Normal file
25
doc/headers/arithmetic.hpp.html
Normal file
@ -0,0 +1,25 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>arithmetic.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>arithmetic.hpp</b> includes the headers in the <i>arithmetic</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/arithmetic.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="arithmetic/add.hpp.html"><boost/preprocessor/arithmetic/add.hpp></a></li>
|
||||
<li><a href="arithmetic/dec.hpp.html"><boost/preprocessor/arithmetic/dec.hpp></a></li>
|
||||
<li><a href="arithmetic/div.hpp.html"><boost/preprocessor/arithmetic/div.hpp></a></li>
|
||||
<li><a href="arithmetic/inc.hpp.html"><boost/preprocessor/arithmetic/inc.hpp></a></li>
|
||||
<li><a href="arithmetic/mod.hpp.html"><boost/preprocessor/arithmetic/mod.hpp></a></li>
|
||||
<li><a href="arithmetic/mul.hpp.html"><boost/preprocessor/arithmetic/mul.hpp></a></li>
|
||||
<li><a href="arithmetic/sub.hpp.html"><boost/preprocessor/arithmetic/sub.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
21
doc/headers/array.hpp.html
Normal file
21
doc/headers/array.hpp.html
Normal file
@ -0,0 +1,21 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array.hpp</b> includes the headers in the <i>array</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="array/data.hpp.html"><boost/preprocessor/array/data.hpp></a></li>
|
||||
<li><a href="array/elem.hpp.html"><boost/preprocessor/array/elem.hpp></a></li>
|
||||
<li><a href="array/size.hpp.html"><boost/preprocessor/array/size.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/assert_msg.hpp.html
Normal file
20
doc/headers/assert_msg.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>assert_msg.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>assert_msg.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/assert_msg.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="debug/assert.hpp.html"><boost/preprocessor/debug/assert.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
19
doc/headers/cat.hpp.html
Normal file
19
doc/headers/cat.hpp.html
Normal file
@ -0,0 +1,19 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>cat.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>cat.hpp</b> header defines a concatenation macro.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/cat.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../ref/cat.html">BOOST_PP_CAT</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/comma.hpp.html
Normal file
20
doc/headers/comma.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comma.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comma.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comma.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="punctuation/comma.hpp.html"><boost/preprocessor/punctuation/comma.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/comma_if.hpp.html
Normal file
20
doc/headers/comma_if.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comma_if.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comma_if.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comma_if.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="punctuation/comma_if.hpp.html"><boost/preprocessor/punctuation/comma_if.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
24
doc/headers/comparison.hpp.html
Normal file
24
doc/headers/comparison.hpp.html
Normal file
@ -0,0 +1,24 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comparison.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comparison.hpp</b> includes the headers in the <i>comparison</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comparison.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="comparison/equal.hpp.html"><boost/preprocessor/comparison/equal.hpp></a></li>
|
||||
<li><a href="comparison/greater.hpp.html"><boost/preprocessor/comparison/greater.hpp></a></li>
|
||||
<li><a href="comparison/greater_equal.hpp.html"><boost/preprocessor/comparison/greater_equal.hpp></a></li>
|
||||
<li><a href="comparison/less.hpp.html"><boost/preprocessor/comparison/less.hpp></a></li>
|
||||
<li><a href="comparison/less_equal.hpp.html"><boost/preprocessor/comparison/less_equal.hpp></a></li>
|
||||
<li><a href="comparison/not_equal.hpp.html"><boost/preprocessor/comparison/not_equal.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
24
doc/headers/control.hpp.html
Normal file
24
doc/headers/control.hpp.html
Normal file
@ -0,0 +1,24 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>control.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>control.hpp</b> includes the headers in the <i>control</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/control.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="control/deduce_d.hpp.html"><boost/preprocessor/control/deduce_d.hpp></a></li>
|
||||
<li><a href="control/expr_if.hpp.html"><boost/preprocessor/control/expr_if.hpp></a></li>
|
||||
<li><a href="control/expr_iif.hpp.html"><boost/preprocessor/control/expr_iif.hpp></a></li>
|
||||
<li><a href="control/if.hpp.html"><boost/preprocessor/control/if.hpp></a></li>
|
||||
<li><a href="control/iif.hpp.html"><boost/preprocessor/control/iif.hpp></a></li>
|
||||
<li><a href="control/while.hpp.html"><boost/preprocessor/control/while.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/debug.hpp.html
Normal file
20
doc/headers/debug.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>debug.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>debug.hpp</b> includes the headers in the <i>debug</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/debug.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="debug/assert.hpp.html"><boost/preprocessor/debug/assert.hpp></a></li>
|
||||
<li><a href="debug/line.hpp.html"><boost/preprocessor/debug/line.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/dec.hpp.html
Normal file
20
doc/headers/dec.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>dec.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>dec.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/dec.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="arithmetic/dec.hpp.html"><boost/preprocessor/arithmetic/dec.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/empty.hpp.html
Normal file
20
doc/headers/empty.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>empty.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>empty.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/empty.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="facilities/empty.hpp.html"><boost/preprocessor/facilities/empty.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/enum.hpp.html
Normal file
20
doc/headers/enum.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/enum.hpp.html"><boost/preprocessor/repetition/enum.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/enum_params.hpp.html
Normal file
20
doc/headers/enum_params.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum_params.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum_params.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum_params.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/enum_params.hpp.html"><boost/preprocessor/repetition/enum_params.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/enum_params_with_a_default.hpp.html
Normal file
20
doc/headers/enum_params_with_a_default.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum_params_with_a_default.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum_params_with_a_default.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum_params_with_a_default.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/enum_params_with_a_default.hpp.html"><boost/preprocessor/repetition/enum_params_with_a_default.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/enum_params_with_defaults.hpp.html
Normal file
20
doc/headers/enum_params_with_defaults.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum_params_with_defaults.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum_params_with_defaults.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum_params_with_defaults.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/enum_params_with_defaults.hpp.html"><boost/preprocessor/repetition/enum_params_with_defaults.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/enum_shifted.hpp.html
Normal file
20
doc/headers/enum_shifted.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum_shifted.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum_shifted.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum_shifted.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/enum_shifted.hpp.html"><boost/preprocessor/repetition/enum_shifted.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/enum_shifted_params.hpp.html
Normal file
20
doc/headers/enum_shifted_params.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum_shifted_params.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum_shifted_params.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum_shifted_params.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/enum_shifted_params.hpp.html"><boost/preprocessor/repetition/enum_shifted_params.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/expand.hpp.html
Normal file
20
doc/headers/expand.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>expand.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>expand.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/expand.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="facilities/expand.hpp.html"><boost/preprocessor/facilities/expand.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/expr_if.hpp.html
Normal file
20
doc/headers/expr_if.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>expr_if.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>expr_if.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/expr_if.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="control/expr_if.hpp.html"><boost/preprocessor/control/expr_if.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
23
doc/headers/facilities.hpp.html
Normal file
23
doc/headers/facilities.hpp.html
Normal file
@ -0,0 +1,23 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>facilities.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>facilities.hpp</b> includes the headers in the <i>facilities</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/facilities.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="facilities/apply.hpp.html"><boost/preprocessor/facilities/apply.hpp></a></li>
|
||||
<li><a href="facilities/empty.hpp.html"><boost/preprocessor/facilities/empty.hpp></a></li>
|
||||
<li><a href="facilities/expand.hpp.html"><boost/preprocessor/facilities/expand.hpp></a></li>
|
||||
<li><a href="facilities/identity.hpp.html"><boost/preprocessor/facilities/identity.hpp></a></li>
|
||||
<li><a href="facilities/intercept.hpp.html"><boost/preprocessor/facilities/intercept.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/for.hpp.html
Normal file
20
doc/headers/for.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>for.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>for.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/for.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/for.hpp.html"><boost/preprocessor/repetition/for.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/identity.hpp.html
Normal file
20
doc/headers/identity.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>identity.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>identity.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/identity.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="facilities/identity.hpp.html"><boost/preprocessor/facilities/identity.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/if.hpp.html
Normal file
20
doc/headers/if.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>if.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>if.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/if.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="control/if.hpp.html"><boost/preprocessor/control/if.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/inc.hpp.html
Normal file
20
doc/headers/inc.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>inc.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>inc.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/inc.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="arithmetic/inc.hpp.html"><boost/preprocessor/arithmetic/inc.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/iterate.hpp.html
Normal file
20
doc/headers/iterate.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>iterate.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>iterate.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/iterate.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="iteration/iterate.hpp.html"><boost/preprocessor/iteration/iterate.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
21
doc/headers/iteration.hpp.html
Normal file
21
doc/headers/iteration.hpp.html
Normal file
@ -0,0 +1,21 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>iteration.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>iteration.hpp</b> includes the headers in the <i>iteration</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/iteration.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="iteration/iterate.hpp.html"><boost/preprocessor/iteration/iterate.hpp></a></li>
|
||||
<li><a href="iteration/local.hpp.html"><boost/preprocessor/iteration/local.hpp></a></li>
|
||||
<li><a href="iteration/self.hpp.html"><boost/preprocessor/iteration/self.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
15
doc/headers/library.hpp.html
Normal file
15
doc/headers/library.hpp.html
Normal file
@ -0,0 +1,15 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>library.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>library.hpp</b> includes the entire library.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/library.hpp></b>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/limits.hpp.html
Normal file
20
doc/headers/limits.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>limits.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>limits.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/limits.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="config/limits.hpp.html"><boost/preprocessor/config/limits.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
35
doc/headers/list.hpp.html
Normal file
35
doc/headers/list.hpp.html
Normal file
@ -0,0 +1,35 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>list.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>list.hpp</b> includes the headers in the <i>list</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/list.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="list/adt.hpp.html"><boost/preprocessor/list/adt.hpp></a></li>
|
||||
<li><a href="list/append.hpp.html"><boost/preprocessor/list/append.hpp></a></li>
|
||||
<li><a href="list/at.hpp.html"><boost/preprocessor/list/at.hpp></a></li>
|
||||
<li><a href="list/cat.hpp.html"><boost/preprocessor/list/cat.hpp></a></li>
|
||||
<li><a href="list/enum.hpp.html"><boost/preprocessor/list/enum.hpp></a></li>
|
||||
<li><a href="list/filter.hpp.html"><boost/preprocessor/list/filter.hpp></a></li>
|
||||
<li><a href="list/first_n.hpp.html"><boost/preprocessor/list/first_n.hpp></a></li>
|
||||
<li><a href="list/fold_left.hpp.html"><boost/preprocessor/list/fold_left.hpp></a></li>
|
||||
<li><a href="list/fold_right.hpp.html"><boost/preprocessor/list/fold_right.hpp></a></li>
|
||||
<li><a href="list/for_each.hpp.html"><boost/preprocessor/list/for_each.hpp></a></li>
|
||||
<li><a href="list/for_each_i.hpp.html"><boost/preprocessor/list/for_each_i.hpp></a></li>
|
||||
<li><a href="list/for_each_product.hpp.html"><boost/preprocessor/list/for_each_product.hpp></a></li>
|
||||
<li><a href="list/rest_n.hpp.html"><boost/preprocessor/list/rest_n.hpp></a></li>
|
||||
<li><a href="list/reverse.hpp.html"><boost/preprocessor/list/reverse.hpp></a></li>
|
||||
<li><a href="list/size.hpp.html"><boost/preprocessor/list/size.hpp></a></li>
|
||||
<li><a href="list/to_tuple.hpp.html"><boost/preprocessor/list/to_tuple.hpp></a></li>
|
||||
<li><a href="list/transform.hpp.html"><boost/preprocessor/list/transform.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
29
doc/headers/logical.hpp.html
Normal file
29
doc/headers/logical.hpp.html
Normal file
@ -0,0 +1,29 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>logical.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>logical.hpp</b> includes the headers in the <i>logical</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/logical.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="logical/and.hpp.html"><boost/preprocessor/logical/and.hpp></a></li>
|
||||
<li><a href="logical/bitand.hpp.html"><boost/preprocessor/logical/bitand.hpp></a></li>
|
||||
<li><a href="logical/bitnor.hpp.html"><boost/preprocessor/logical/bitnor.hpp></a></li>
|
||||
<li><a href="logical/bitor.hpp.html"><boost/preprocessor/logical/bitor.hpp></a></li>
|
||||
<li><a href="logical/bitxor.hpp.html"><boost/preprocessor/logical/bitxor.hpp></a></li>
|
||||
<li><a href="logical/bool.hpp.html"><boost/preprocessor/logical/bool.hpp></a></li>
|
||||
<li><a href="logical/compl.hpp.html"><boost/preprocessor/logical/compl.hpp></a></li>
|
||||
<li><a href="logical/nor.hpp.html"><boost/preprocessor/logical/nor.hpp></a></li>
|
||||
<li><a href="logical/not.hpp.html"><boost/preprocessor/logical/not.hpp></a></li>
|
||||
<li><a href="logical/or.hpp.html"><boost/preprocessor/logical/or.hpp></a></li>
|
||||
<li><a href="logical/xor.hpp.html"><boost/preprocessor/logical/xor.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/max.hpp.html
Normal file
20
doc/headers/max.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>max.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>max.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/max.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="selection/max.hpp.html"><boost/preprocessor/selection/max.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/min.hpp.html
Normal file
20
doc/headers/min.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>min.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>min.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/min.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="selection/min.hpp.html"><boost/preprocessor/selection/min.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
15
doc/headers/preprocessor.hpp.html
Normal file
15
doc/headers/preprocessor.hpp.html
Normal file
@ -0,0 +1,15 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>preprocessor.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>preprocessor.hpp</b> includes the entire library.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor.hpp></b>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
22
doc/headers/punctuation.hpp.html
Normal file
22
doc/headers/punctuation.hpp.html
Normal file
@ -0,0 +1,22 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>punctuation.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>punctuation.hpp</b> includes the headers in the <i>punctuation</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/punctuation.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="punctuation/comma.hpp.html"><boost/preprocessor/punctuation/comma.hpp></a></li>
|
||||
<li><a href="punctuation/comma_if.hpp.html"><boost/preprocessor/punctuation/comma_if.hpp></a></li>
|
||||
<li><a href="punctuation/paren.hpp.html"><boost/preprocessor/punctuation/paren.hpp></a></li>
|
||||
<li><a href="punctuation/paren_if.hpp.html"><boost/preprocessor/punctuation/paren_if.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/repeat.hpp.html
Normal file
20
doc/headers/repeat.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>repeat.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>repeat.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/repeat.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/repeat.hpp.html"><boost/preprocessor/repetition/repeat.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/repeat_2nd.hpp.html
Normal file
20
doc/headers/repeat_2nd.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>repeat_2nd.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>repeat_2nd.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/repeat_2nd.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/repeat.hpp.html"><boost/preprocessor/repetition/repeat.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/repeat_3rd.hpp.html
Normal file
20
doc/headers/repeat_3rd.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>repeat_3rd.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>repeat_3rd.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/repeat_3rd.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/repeat.hpp.html"><boost/preprocessor/repetition/repeat.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/repeat_from_to.hpp.html
Normal file
20
doc/headers/repeat_from_to.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>repeat_from_to.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>repeat_from_to.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/repeat_from_to.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/repeat_from_to.hpp.html"><boost/preprocessor/repetition/repeat_from_to.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/repeat_from_to_2nd.hpp.html
Normal file
20
doc/headers/repeat_from_to_2nd.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>repeat_from_to_2nd.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>repeat_from_to_2nd.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/repeat_from_to_2nd.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/repeat_from_to.hpp.html"><boost/preprocessor/repetition/repeat_from_to.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/repeat_from_to_3rd.hpp.html
Normal file
20
doc/headers/repeat_from_to_3rd.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>repeat_from_to_3rd.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>repeat_from_to_3rd.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/repeat_from_to_3rd.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/repeat_from_to.hpp.html"><boost/preprocessor/repetition/repeat_from_to.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
33
doc/headers/repetition.hpp.html
Normal file
33
doc/headers/repetition.hpp.html
Normal file
@ -0,0 +1,33 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>repetition.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>repetition.hpp</b> includes the headers in the <i>repetition</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/repetition.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/deduce_r.hpp.html"><boost/preprocessor/repetition/deduce_r.hpp></a></li>
|
||||
<li><a href="repetition/deduce_z.hpp.html"><boost/preprocessor/repetition/deduce_z.hpp></a></li>
|
||||
<li><a href="repetition/enum.hpp.html"><boost/preprocessor/repetition/enum.hpp></a></li>
|
||||
<li><a href="repetition/enum_binary_params.hpp.html"><boost/preprocessor/repetition/enum_binary_params.hpp></a></li>
|
||||
<li><a href="repetition/enum_params.hpp.html"><boost/preprocessor/repetition/enum_params.hpp></a></li>
|
||||
<li><a href="repetition/enum_params_with_a_default.hpp.html"><boost/preprocessor/repetition/enum_params_with_a_default.hpp></a></li>
|
||||
<li><a href="repetition/enum_params_with_defaults.hpp.html"><boost/preprocessor/repetition/enum_params_with_defaults.hpp></a></li>
|
||||
<li><a href="repetition/enum_shifted_params.hpp.html"><boost/preprocessor/repetition/enum_shifted_params.hpp></a></li>
|
||||
<li><a href="repetition/enum_shifted.hpp.html"><boost/preprocessor/repetition/enum_shifted.hpp></a></li>
|
||||
<li><a href="repetition/enum_trailing.hpp.html"><boost/preprocessor/repetition/enum_trailing.hpp></a></li>
|
||||
<li><a href="repetition/enum_trailing_binary_params.hpp.html"><boost/preprocessor/repetition/enum_trailing_binary_params.hpp></a></li>
|
||||
<li><a href="repetition/enum_trailing_params.hpp.html"><boost/preprocessor/repetition/enum_trailing_params.hpp></a></li>
|
||||
<li><a href="repetition/for.hpp.html"><boost/preprocessor/repetition/for.hpp></a></li>
|
||||
<li><a href="repetition/repeat.hpp.html"><boost/preprocessor/repetition/repeat.hpp></a></li>
|
||||
<li><a href="repetition/repeat_from_to.hpp.html"><boost/preprocessor/repetition/repeat_from_to.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/selection.hpp.html
Normal file
20
doc/headers/selection.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>selection.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>selection.hpp</b> includes the headers in the <i>selection</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/selection.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="selection/max.hpp.html"><boost/preprocessor/selection/max.hpp></a></li>
|
||||
<li><a href="selection/min.hpp.html"><boost/preprocessor/selection/min.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
19
doc/headers/slot.hpp.html
Normal file
19
doc/headers/slot.hpp.html
Normal file
@ -0,0 +1,19 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>slot.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>slot.hpp</b> includes the headers in the <i>slot</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/slot.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="slot/slot.hpp.html"><boost/preprocessor/slot/slot.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
19
doc/headers/stringize.hpp.html
Normal file
19
doc/headers/stringize.hpp.html
Normal file
@ -0,0 +1,19 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>stringize.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>stringize.hpp</b> header defines a stringizing macro.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/stringize.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../ref/stringize.html">BOOST_PP_STRINGIZE</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
23
doc/headers/tuple.hpp.html
Normal file
23
doc/headers/tuple.hpp.html
Normal file
@ -0,0 +1,23 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>tuple.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>tuple.hpp</b> includes the headers in the <i>tuple</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/tuple.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="tuple/elem.hpp.html"><boost/preprocessor/tuple/elem.hpp></a></li>
|
||||
<li><a href="tuple/eat.hpp.html"><boost/preprocessor/tuple/eat.hpp></a></li>
|
||||
<li><a href="tuple/rem.hpp.html"><boost/preprocessor/tuple/rem.hpp></a></li>
|
||||
<li><a href="tuple/reverse.hpp.html"><boost/preprocessor/tuple/reverse.hpp></a></li>
|
||||
<li><a href="tuple/to_list.hpp.html"><boost/preprocessor/tuple/to_list.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
20
doc/headers/while.hpp.html
Normal file
20
doc/headers/while.hpp.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>while.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>while.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/while.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="control/while.hpp.html"><boost/preprocessor/control/while.hpp></a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
13
doc/index.html
Normal file
13
doc/index.html
Normal file
@ -0,0 +1,13 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Boost.Preprocessor</title>
|
||||
</head>
|
||||
<frameset rows="65,*" frameborder="0">
|
||||
<frame name="top" src="top.html" scrolling="no" noresize>
|
||||
<frameset cols="350,*" frameborder="0" border="3">
|
||||
<frame name="index" src="contents.html" scrolling="auto">
|
||||
<frame name="desc" src="blank.html" scrolling="auto">
|
||||
</frameset>
|
||||
<noframes>..</noframes>
|
||||
</frameset>
|
||||
</html>
|
15
doc/miscellanea.html
Normal file
15
doc/miscellanea.html
Normal file
@ -0,0 +1,15 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>miscellanea.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
<base target="desc">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Miscellanea <small><a href="contents.html" target="index">[back]</a></small></h4>
|
||||
<ul>
|
||||
<li><a href="syntax.html">syntax highlighting</a></li>
|
||||
<li><a href="acknowledgements.html">acknowledgements</a></li>
|
||||
<li><a href="bibliography.html">bibliography</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
217
doc/ref.html
Normal file
217
doc/ref.html
Normal file
@ -0,0 +1,217 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>ref.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
<base target="desc">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Reference <small><a href="contents.html" target="index">[back]</a></small></h4>
|
||||
<ul>
|
||||
<!-- A -->
|
||||
<li><a href="ref/add.html">ADD</a></li>
|
||||
<li><a href="ref/add_d.html">ADD_D</a></li>
|
||||
<li><a href="ref/and.html">AND</a></li>
|
||||
<li><a href="ref/apply.html">APPLY</a></li>
|
||||
<li><a href="ref/array_data.html">ARRAY_DATA</a></li>
|
||||
<li><a href="ref/array_elem.html">ARRAY_ELEM</a></li>
|
||||
<li><a href="ref/array_size.html">ARRAY_SIZE</a></li>
|
||||
<li><a href="ref/assert.html">ASSERT</a></li>
|
||||
<li><a href="ref/assert_msg.html">ASSERT_MSG</a></li>
|
||||
<li><a href="ref/assign_slot.html">ASSIGN_SLOT</a></li>
|
||||
<!-- B -->
|
||||
<li><a href="ref/bitand.html">BITAND</a></li>
|
||||
<li><a href="ref/bitnor.html">BITNOR</a></li>
|
||||
<li><a href="ref/bitor.html">BITOR</a></li>
|
||||
<li><a href="ref/bitxor.html">BITXOR</a></li>
|
||||
<li><a href="ref/bool.html">BOOL</a></li>
|
||||
<!-- C -->
|
||||
<li><a href="ref/cat.html">CAT</a></li>
|
||||
<li><a href="ref/comma.html">COMMA</a></li>
|
||||
<li><a href="ref/comma_if.html">COMMA_IF</a></li>
|
||||
<li><a href="ref/compl.html">COMPL</a></li>
|
||||
<li><a href="ref/config_extended_line_info.html">CONFIG_EXTENDED_LINE_INFO</a></li>
|
||||
<!-- D -->
|
||||
<li><a href="ref/dec.html">DEC</a></li>
|
||||
<li><a href="ref/deduce_d.html">DEDUCE_D</a></li>
|
||||
<li><a href="ref/deduce_r.html">DEDUCE_R</a></li>
|
||||
<li><a href="ref/deduce_z.html">DEDUCE_Z</a></li>
|
||||
<li><a href="ref/div.html">DIV</a></li>
|
||||
<li><a href="ref/div_d.html">DIV_D</a></li>
|
||||
<!-- E -->
|
||||
<li><a href="ref/empty.html">EMPTY</a></li>
|
||||
<li><a href="ref/enum.html">ENUM</a></li>
|
||||
<li><a href="ref/enum_binary_params.html">ENUM_BINARY_PARAMS</a></li>
|
||||
<li><a href="ref/enum_binary_params_z.html">ENUM_BINARY_PARAMS_Z</a></li>
|
||||
<li><a href="ref/enum_params.html">ENUM_PARAMS</a></li>
|
||||
<li><a href="ref/enum_params_with_a_default.html">ENUM_PARAMS_WITH_A_DEFAULT*</a></li>
|
||||
<li><a href="ref/enum_params_with_defaults.html">ENUM_PARAMS_WITH_DEFAULTS*</a></li>
|
||||
<li><a href="ref/enum_params_z.html">ENUM_PARAMS_Z</a></li>
|
||||
<li><a href="ref/enum_shifted.html">ENUM_SHIFTED</a></li>
|
||||
<li><a href="ref/enum_shifted_params.html">ENUM_SHIFTED_PARAMS</a></li>
|
||||
<li><a href="ref/enum_shifted_params_z.html">ENUM_SHIFTED_PARAMS_Z</a></li>
|
||||
<li><a href="ref/enum_shifted_z.html">ENUM_SHIFTED_<i>z</i></a></li>
|
||||
<li><a href="ref/enum_trailing.html">ENUM_TRAILING</a></li>
|
||||
<li><a href="ref/enum_trailing_binary_params.html">ENUM_TRAILING_BINARY_PARAMS</a></li>
|
||||
<li><a href="ref/enum_trailing_binary_params_z.html">ENUM_TRAILING_BINARY_PARAMS_Z</a></li>
|
||||
<li><a href="ref/enum_trailing_params.html">ENUM_TRAILING_PARAMS</a></li>
|
||||
<li><a href="ref/enum_trailing_params_z.html">ENUM_TRAILING_PARAMS_Z</a></li>
|
||||
<li><a href="ref/enum_trailing_z.html">ENUM_TRAILING_<i>z</i></a></li>
|
||||
<li><a href="ref/enum_z.html">ENUM_<i>z</i></a></li>
|
||||
<li><a href="ref/equal.html">EQUAL</a></li>
|
||||
<li><a href="ref/equal_d.html">EQUAL_D*</a></li>
|
||||
<li><a href="ref/expand.html">EXPAND</a></li>
|
||||
<li><a href="ref/expr_if.html">EXPR_IF</a></li>
|
||||
<li><a href="ref/expr_iif.html">EXPR_IIF</a></li>
|
||||
<!-- F -->
|
||||
<li><a href="ref/filename_x.html">FILENAME_<i>x</i></a></li>
|
||||
<li><a href="ref/for.html">FOR</a></li>
|
||||
<li><a href="ref/for_r.html">FOR_<i>r</i></a></li>
|
||||
<li><a href="ref/frame_finish.html">FRAME_FINISH</a></li>
|
||||
<li><a href="ref/frame_flags.html">FRAME_FLAGS</a></li>
|
||||
<li><a href="ref/frame_iteration.html">FRAME_ITERATION</a></li>
|
||||
<li><a href="ref/frame_start.html">FRAME_START</a></li>
|
||||
<!-- G -->
|
||||
<li><a href="ref/greater.html">GREATER</a></li>
|
||||
<li><a href="ref/greater_d.html">GREATER_D</a></li>
|
||||
<li><a href="ref/greater_equal.html">GREATER_EQUAL</a></li>
|
||||
<li><a href="ref/greater_equal_d.html">GREATER_EQUAL_D</a></li>
|
||||
<!-- I -->
|
||||
<li><a href="ref/identity.html">IDENTITY</a></li>
|
||||
<li><a href="ref/if.html">IF</a></li>
|
||||
<li><a href="ref/iif.html">IIF</a></li>
|
||||
<li><a href="ref/inc.html">INC</a></li>
|
||||
<li><a href="ref/include_self.html">INCLUDE_SELF</a></li>
|
||||
<li><a href="ref/indirect_self.html">INDIRECT_SELF</a></li>
|
||||
<li><a href="ref/intercept.html">INTERCEPT</a></li>
|
||||
<li><a href="ref/is_iterating.html">IS_ITERATING</a></li>
|
||||
<li><a href="ref/is_selfish.html">IS_SELFISH</a></li>
|
||||
<li><a href="ref/iterate.html">ITERATE</a></li>
|
||||
<li><a href="ref/iteration.html">ITERATION</a></li>
|
||||
<li><a href="ref/iteration_depth.html">ITERATION_DEPTH</a></li>
|
||||
<li><a href="ref/iteration_finish.html">ITERATION_FINISH</a></li>
|
||||
<li><a href="ref/iteration_flags.html">ITERATION_FLAGS</a></li>
|
||||
<li><a href="ref/iteration_limits.html">ITERATION_LIMITS</a></li>
|
||||
<li><a href="ref/iteration_params_x.html">ITERATION_PARAMS_<i>x</i></a></li>
|
||||
<li><a href="ref/iteration_start.html">ITERATION_START</a></li>
|
||||
<!-- L -->
|
||||
<li><a href="ref/less.html">LESS</a></li>
|
||||
<li><a href="ref/less_d.html">LESS_D</a></li>
|
||||
<li><a href="ref/less_equal.html">LESS_EQUAL</a></li>
|
||||
<li><a href="ref/less_equal_d.html">LESS_EQUAL_D</a></li>
|
||||
<li><a href="ref/limit_dim.html">LIMIT_DIM</a></li>
|
||||
<li><a href="ref/limit_for.html">LIMIT_FOR</a></li>
|
||||
<li><a href="ref/limit_iteration.html">LIMIT_ITERATION</a></li>
|
||||
<li><a href="ref/limit_iteration_dim.html">LIMIT_ITERATION_DIM</a></li>
|
||||
<li><a href="ref/limit_mag.html">LIMIT_MAG</a></li>
|
||||
<li><a href="ref/limit_repeat.html">LIMIT_REPEAT</a></li>
|
||||
<li><a href="ref/limit_slot_count.html">LIMIT_SLOT_COUNT</a></li>
|
||||
<li><a href="ref/limit_slot_sig.html">LIMIT_SLOT_SIG</a></li>
|
||||
<li><a href="ref/limit_tuple.html">LIMIT_TUPLE</a></li>
|
||||
<li><a href="ref/limit_while.html">LIMIT_WHILE</a></li>
|
||||
<li><a href="ref/line.html">LINE</a></li>
|
||||
<li><a href="ref/list_append.html">LIST_APPEND</a></li>
|
||||
<li><a href="ref/list_append_d.html">LIST_APPEND_D</a></li>
|
||||
<li><a href="ref/list_at.html">LIST_AT</a></li>
|
||||
<li><a href="ref/list_at_d.html">LIST_AT_D</a></li>
|
||||
<li><a href="ref/list_cat.html">LIST_CAT</a></li>
|
||||
<li><a href="ref/list_cat_d.html">LIST_CAT_D</a></li>
|
||||
<li><a href="ref/list_cons.html">LIST_CONS*</a></li>
|
||||
<li><a href="ref/list_enum.html">LIST_ENUM</a></li>
|
||||
<li><a href="ref/list_enum_r.html">LIST_ENUM_R</a></li>
|
||||
<li><a href="ref/list_filter.html">LIST_FILTER</a></li>
|
||||
<li><a href="ref/list_filter_d.html">LIST_FILTER_D</a></li>
|
||||
<li><a href="ref/list_first.html">LIST_FIRST</a></li>
|
||||
<li><a href="ref/list_first_n.html">LIST_FIRST_N</a></li>
|
||||
<li><a href="ref/list_first_n_d.html">LIST_FIRST_N_D</a></li>
|
||||
<li><a href="ref/list_fold_left.html">LIST_FOLD_LEFT</a></li>
|
||||
<li><a href="ref/list_fold_left_2nd.html">LIST_FOLD_LEFT_2ND*</a></li>
|
||||
<li><a href="ref/list_fold_left_2nd_d.html">LIST_FOLD_LEFT_2ND_D*</a></li>
|
||||
<li><a href="ref/list_fold_left_d.html">LIST_FOLD_LEFT_<i>d</i></a></li>
|
||||
<li><a href="ref/list_fold_left_d_old.html">LIST_FOLD_LEFT_D*</a></li>
|
||||
<li><a href="ref/list_fold_right.html">LIST_FOLD_RIGHT</a></li>
|
||||
<li><a href="ref/list_fold_right_2nd.html">LIST_FOLD_RIGHT_2ND*</a></li>
|
||||
<li><a href="ref/list_fold_right_2nd_d.html">LIST_FOLD_RIGHT_2ND_D*</a></li>
|
||||
<li><a href="ref/list_fold_right_d.html">LIST_FOLD_RIGHT_<i>d</i></a></li>
|
||||
<li><a href="ref/list_fold_right_d_old.html">LIST_FOLD_RIGHT_D*</a></li>
|
||||
<li><a href="ref/list_for_each.html">LIST_FOR_EACH</a></li>
|
||||
<li><a href="ref/list_for_each_i.html">LIST_FOR_EACH_I</a></li>
|
||||
<li><a href="ref/list_for_each_i_r.html">LIST_FOR_EACH_I_R</a></li>
|
||||
<li><a href="ref/list_for_each_product.html">LIST_FOR_EACH_PRODUCT</a></li>
|
||||
<li><a href="ref/list_for_each_product_r.html">LIST_FOR_EACH_PRODUCT_R</a></li>
|
||||
<li><a href="ref/list_for_each_r.html">LIST_FOR_EACH_R</a></li>
|
||||
<li><a href="ref/list_is_cons.html">LIST_IS_CONS</a></li>
|
||||
<li><a href="ref/list_is_nil.html">LIST_IS_NIL</a></li>
|
||||
<li><a href="ref/list_nil.html">LIST_NIL*</a></li>
|
||||
<li><a href="ref/list_rest.html">LIST_REST</a></li>
|
||||
<li><a href="ref/list_rest_n.html">LIST_REST_N</a></li>
|
||||
<li><a href="ref/list_rest_n_d.html">LIST_REST_N_D</a></li>
|
||||
<li><a href="ref/list_reverse.html">LIST_REVERSE</a></li>
|
||||
<li><a href="ref/list_reverse_d.html">LIST_REVERSE_D</a></li>
|
||||
<li><a href="ref/list_size.html">LIST_SIZE</a></li>
|
||||
<li><a href="ref/list_size_d.html">LIST_SIZE_D</a></li>
|
||||
<li><a href="ref/list_to_tuple.html">LIST_TO_TUPLE</a></li>
|
||||
<li><a href="ref/list_to_tuple_r.html">LIST_TO_TUPLE_R</a></li>
|
||||
<li><a href="ref/list_transform.html">LIST_TRANSFORM</a></li>
|
||||
<li><a href="ref/list_transform_d.html">LIST_TRANSFORM_D</a></li>
|
||||
<li><a href="ref/local_iterate.html">LOCAL_ITERATE</a></li>
|
||||
<li><a href="ref/local_limits.html">LOCAL_LIMITS</a></li>
|
||||
<li><a href="ref/local_macro.html">LOCAL_MACRO</a></li>
|
||||
<li><a href="ref/lparen.html">LPAREN</a></li>
|
||||
<li><a href="ref/lparen_if.html">LPAREN_IF</a></li>
|
||||
<!-- M -->
|
||||
<li><a href="ref/max.html">MAX</a></li>
|
||||
<li><a href="ref/max_d.html">MAX_D</a></li>
|
||||
<li><a href="ref/min.html">MIN</a></li>
|
||||
<li><a href="ref/min_d.html">MIN_D</a></li>
|
||||
<li><a href="ref/mod.html">MOD</a></li>
|
||||
<li><a href="ref/mod_d.html">MOD_D</a></li>
|
||||
<li><a href="ref/mul.html">MUL</a></li>
|
||||
<li><a href="ref/mul_d.html">MUL_D</a></li>
|
||||
<!-- N -->
|
||||
<li><a href="ref/nil.html">NIL</a></li>
|
||||
<li><a href="ref/nor.html">NOR</a></li>
|
||||
<li><a href="ref/not.html">NOT</a></li>
|
||||
<li><a href="ref/not_equal.html">NOT_EQUAL</a></li>
|
||||
<li><a href="ref/not_equal_d.html">NOT_EQUAL_D*</a></li>
|
||||
<!-- O -->
|
||||
<li><a href="ref/or.html">OR</a></li>
|
||||
<!-- R -->
|
||||
<li><a href="ref/relative_finish.html">RELATIVE_FINISH</a></li>
|
||||
<li><a href="ref/relative_flags.html">RELATIVE_FLAGS</a></li>
|
||||
<li><a href="ref/relative_iteration.html">RELATIVE_ITERATION</a></li>
|
||||
<li><a href="ref/relative_start.html">RELATIVE_START</a></li>
|
||||
<li><a href="ref/repeat.html">REPEAT</a></li>
|
||||
<li><a href="ref/repeat_1st.html">REPEAT_1ST*</a></li>
|
||||
<li><a href="ref/repeat_2nd.html">REPEAT_2ND*</a></li>
|
||||
<li><a href="ref/repeat_3rd.html">REPEAT_3RD*</a></li>
|
||||
<li><a href="ref/repeat_from_to.html">REPEAT_FROM_TO</a></li>
|
||||
<li><a href="ref/repeat_from_to_1st.html">REPEAT_FROM_TO_1ST*</a></li>
|
||||
<li><a href="ref/repeat_from_to_2nd.html">REPEAT_FROM_TO_2ND*</a></li>
|
||||
<li><a href="ref/repeat_from_to_3rd.html">REPEAT_FROM_TO_3RD*</a></li>
|
||||
<li><a href="ref/repeat_from_to_d.html">REPEAT_FROM_TO_D</a></li>
|
||||
<li><a href="ref/repeat_from_to_d_z.html">REPEAT_FROM_TO_D_<i>z</i></a></li>
|
||||
<li><a href="ref/repeat_from_to_z.html">REPEAT_FROM_TO_<i>z</i></a></li>
|
||||
<li><a href="ref/repeat_z.html">REPEAT_<i>z</i></a></li>
|
||||
<li><a href="ref/rparen.html">RPAREN</a></li>
|
||||
<li><a href="ref/rparen_if.html">RPAREN_IF</a></li>
|
||||
<!-- S -->
|
||||
<li><a href="ref/slot.html">SLOT</a></li>
|
||||
<li><a href="ref/stringize.html">STRINGIZE</a></li>
|
||||
<li><a href="ref/sub.html">SUB</a></li>
|
||||
<li><a href="ref/sub_d.html">SUB_D</a></li>
|
||||
<!-- T -->
|
||||
<li><a href="ref/tuple_eat.html">TUPLE_EAT</a></li>
|
||||
<li><a href="ref/tuple_elem.html">TUPLE_ELEM</a></li>
|
||||
<li><a href="ref/tuple_rem.html">TUPLE_REM</a></li>
|
||||
<li><a href="ref/tuple_reverse.html">TUPLE_REVERSE</a></li>
|
||||
<li><a href="ref/tuple_to_list.html">TUPLE_TO_LIST</a></li>
|
||||
<!-- V -->
|
||||
<li><a href="ref/value.html">VALUE</a></li>
|
||||
<!-- W -->
|
||||
<li><a href="ref/while.html">WHILE</a></li>
|
||||
<li><a href="ref/while_d.html">WHILE_<i>d</i></a></li>
|
||||
<!-- X -->
|
||||
<li><a href="ref/xor.html">XOR</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
57
doc/ref/add.html
Normal file
57
doc/ref/add.html
Normal file
@ -0,0 +1,57 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ADD</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ADD</b> macro expands to the sum of its arguments.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ADD</b>(<i>x</i>, <i>y</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The first addend of the operation.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
<dt>y</dt>
|
||||
<dd>
|
||||
The second addend of the operation.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If the sum of <i>x</i> and <i>y</i> is greater than <b>BOOST_PP_LIMIT_MAG</b>, the result is saturated to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</div>
|
||||
<div>
|
||||
Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.
|
||||
There is no longer any such restriction.
|
||||
It is more efficient, however, to use <b>BOOST_PP_ADD_D</b> in such a situation.
|
||||
</div>
|
||||
<div>
|
||||
This macro is the most efficient when <i>x</i> is less than or equal to <i>y</i>.
|
||||
However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.
|
||||
In other words, <i>x</i> should be the addend that is <i>most likely</i> to be the largest of the two operands.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="add_d.html">BOOST_PP_ADD_D</a></li>
|
||||
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/arithmetic/add.hpp.html"><boost/preprocessor/arithmetic/add.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <a href="../headers/arithmetic/add.hpp.html"><boost/preprocessor/arithmetic/add.hpp></a>
|
||||
|
||||
<a href="add.html">BOOST_PP_ADD</a>(4, 3) // expands to 7
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
79
doc/ref/add_d.html
Normal file
79
doc/ref/add_d.html
Normal file
@ -0,0 +1,79 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ADD_D</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ADD_D</b> macro expands to the sum of its second and third arguments.
|
||||
It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ADD_D</b>(<i>d</i>, <i>x</i>, <i>y</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>d</dt>
|
||||
<dd>
|
||||
The next available <b>BOOST_PP_WHILE</b> iteration.
|
||||
</dd>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The first addend of the operation.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
<dt>y</dt>
|
||||
<dd>
|
||||
The second addend of the operation.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If the sum of <i>x</i> and <i>y</i> is greater than <b>BOOST_PP_LIMIT_MAG</b>, the result is saturated to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</div>
|
||||
<div>
|
||||
This macro is the most efficient when <i>x</i> is less than or equal to <i>y</i>.
|
||||
However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.
|
||||
In other words, <i>x</i> should be the addend that is <i>most likely</i> to be the largest of the two operands.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="add.html">BOOST_PP_ADD</a></li>
|
||||
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/arithmetic/add.hpp.html"><boost/preprocessor/arithmetic/add.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/arithmetic/add.hpp.html">boost/preprocessor/arithmetic/add.hpp</a>>
|
||||
#include <<a href="../headers/arithmetic/dec.hpp.html">boost/preprocessor/arithmetic/dec.hpp</a>>
|
||||
#include <<a href="../headers/control/while.hpp.html">boost/preprocessor/control/while.hpp</a>>
|
||||
#include <<a href="../headers/tuple/elem.hpp.html">boost/preprocessor/tuple/elem.hpp</a>>
|
||||
|
||||
#define PRED(d, data) <a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(2, 0, data)
|
||||
|
||||
#define OP(d, data) \
|
||||
( \
|
||||
<a href="dec.html">BOOST_PP_DEC</a>( \
|
||||
<a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(2, 0, data) \
|
||||
), \
|
||||
<a href="add_d.html">BOOST_PP_ADD_D</a>( \
|
||||
d, \
|
||||
<a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(2, 1, data), \
|
||||
2 \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
|
||||
// increment 'x' by 2 'n' times
|
||||
#define STRIDE(x, n) <a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(2, 1, <a href="while.html">BOOST_PP_WHILE</a>(PRED, OP, (n, x)))
|
||||
|
||||
STRIDE(10, 2) // expands to 14
|
||||
STRIDE(51, 6) // expands to 63
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
53
doc/ref/and.html
Normal file
53
doc/ref/and.html
Normal file
@ -0,0 +1,53 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_AND</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_AND</b> macro expands to the logical <i>AND</i> of its operands.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_AND</b>(<i>p</i>, <i>q</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>p</dt>
|
||||
<dd>
|
||||
The left operand of the operation.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
<dt>q</dt>
|
||||
<dd>
|
||||
The right operand of the operation.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If both <i>p</i> and <i>q</i> are non-zero, this macro expands to <i>1</i>.
|
||||
Otherwise, it expands to <i>0</i>.
|
||||
</div>
|
||||
<div>
|
||||
This macro performs a boolean conversion on each operand before performing the logical <i>AND</i> operation.
|
||||
If that conversion is not necessary, use <b>BOOST_PP_BITAND</b> instead.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="bitand.html">BOOST_PP_BITAND</a></li>
|
||||
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/logical/and.hpp.html"><boost/preprocessor/logical/and.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/logical/and.hpp.html">boost/preprocessor/logical/and.hpp</a>>
|
||||
|
||||
<a href="and.html">BOOST_PP_AND</a>(4, 3) // expands to 1
|
||||
<a href="and.html">BOOST_PP_AND</a>(5, 0) // expands to 0
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
53
doc/ref/apply.html
Normal file
53
doc/ref/apply.html
Normal file
@ -0,0 +1,53 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_APPLY</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_APPLY</b> macro abstracts the difference between an argument and nothing.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_APPLY</b>(<i>x</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The abstracted argument.
|
||||
This argument must be either <b>BOOST_PP_NIL</b> or a <i>tuple</i> with one element--such as <i>(arg)</i> or <i>((a, b))</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If <i>x</i> is <b>BOOST_PP_NIL</b>, this macro expands to nothing.
|
||||
If <i>x</i> is a one element <i>tuple</i>, it expands to the contents of that <i>tuple</i>.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="nil.html">BOOST_PP_NIL</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/facilities/apply.hpp.html"><boost/preprocessor/facilities/apply.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/facilities/apply.hpp.html">boost/preprocessor/facilities/apply.hpp</a>>
|
||||
#include <<a href="../headers/tuple/elem.hpp.html">boost/preprocessor/tuple/elem.hpp</a>>
|
||||
|
||||
#define CV(i) \
|
||||
<a href="apply.html">BOOST_PP_APPLY</a>( \
|
||||
<a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>( \
|
||||
4, i, \
|
||||
(<a href="nil.html">BOOST_PP_NIL</a>, (const), (volatile), (const volatile)) \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
|
||||
CV(0) // expands to nothing
|
||||
CV(1) // expands to const
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
38
doc/ref/array_data.html
Normal file
38
doc/ref/array_data.html
Normal file
@ -0,0 +1,38 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ARRAY_DATA</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ARRAY_DATA</b> macro extracts the <i>tuple</i> data from an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ARRAY_DATA</b>(<i>array</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>array</dt>
|
||||
<dd>
|
||||
An <i>array</i> to be converted to a <i>tuple</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the data portion of an <i>array</i> which is a <i>tuple</i>.
|
||||
</div>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/array/data.hpp.html"><boost/preprocessor/array/data.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/array/data.hpp.html">boost/preprocessor/array/data.hpp</a>>
|
||||
|
||||
#define ARRAY (3, (x, y, z))
|
||||
|
||||
<a href="array_data.html">BOOST_PP_ARRAY_DATA</a>(ARRAY) // expands to (x, y, z)
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
40
doc/ref/array_elem.html
Normal file
40
doc/ref/array_elem.html
Normal file
@ -0,0 +1,40 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ARRAY_ELEM</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ARRAY_ELEM</b> macro extracts an element from a <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ARRAY_ELEM</b>(<i>i</i>, <i>array</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>i</dt>
|
||||
<dd>
|
||||
The zero-based index into the <i>array</i> of the element to be extracted.
|
||||
</dd>
|
||||
<dt>array</dt>
|
||||
<dd>
|
||||
The <i>array</i> from which an element is to be extracted.
|
||||
This <i>array</i> must contain at least <i>i</i> + <i>1</i> elements.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/array/elem.hpp.html"><boost/preprocessor/array/elem.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/array/elem.hpp.html">boost/preprocessor/array/elem.hpp</a>>
|
||||
|
||||
#define ARRAY (4, (a, b, c, d))
|
||||
|
||||
<a href="array_elem.html">BOOST_PP_ARRAY_ELEM</a>(0, ARRAY) // expands to a
|
||||
<a href="array_elem.html">BOOST_PP_ARRAY_ELEM</a>(3, ARRAY) // expands to d
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
34
doc/ref/array_size.html
Normal file
34
doc/ref/array_size.html
Normal file
@ -0,0 +1,34 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ARRAY_SIZE</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ARRAY_SIZE</b> macro expands to the size of the <i>array</i> passed to it.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ARRAY_SIZE</b>(<i>array</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>array</dt>
|
||||
<dd>
|
||||
An <i>array</i> whose size is to be extracted.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/array/size.hpp.html"><boost/preprocessor/array/size.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/array/size.hpp.html">boost/preprocessor/array/size.hpp</a>>
|
||||
|
||||
#define ARRAY (3, (x, y, z))
|
||||
|
||||
<a href="array_size.html">BOOST_PP_ARRAY_SIZE</a>(ARRAY) // expands to 3
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
103
doc/ref/assert.html
Normal file
103
doc/ref/assert.html
Normal file
@ -0,0 +1,103 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ASSERT</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ASSERT</b> macro conditionally causes a preprocessing error.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ASSERT</b>(<i>cond</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>cond</dt>
|
||||
<dd>
|
||||
A condition that determines whether an assertion occurs.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If <i>cond</i> expands to <i>0</i>, this macro causes a preprocessing error.
|
||||
Otherwise, it expands to nothing.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="assert_msg.html">BOOST_PP_ASSERT_MSG</a></li>
|
||||
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/debug/assert.hpp.html"><boost/preprocessor/debug/assert.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>>
|
||||
#include <<a href="../headers/debug/assert.hpp.html">boost/preprocessor/debug/assert.hpp</a>>
|
||||
#include <<a href="../headers/logical/bitnor.hpp.html">boost/preprocessor/logical/bitnor.hpp</a>>
|
||||
#include <<a href="../headers/logical/compl.hpp.html">boost/preprocessor/logical/compl.hpp</a>>
|
||||
|
||||
// The is BOOST_PP_IS_NULLARY macro is not part of
|
||||
// the public interface of the library because it
|
||||
// doesn't work on Borland preprocessors. It is
|
||||
// only used here to illustrate assertions. In
|
||||
// effect, it detects whether an argument is empty
|
||||
// parenthesis or some text.
|
||||
|
||||
#include <boost/preprocessor/detail/is_nullary.hpp>
|
||||
|
||||
#define IS_EDISON_DESIGN_GROUP() \
|
||||
<a href="compl.html">BOOST_PP_COMPL</a>( \
|
||||
BOOST_PP_IS_NULLARY( \
|
||||
<a href="cat.html">BOOST_PP_CAT</a>(IS_EDG_CHECK, __EDG_VERSION) \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
#define IS_EDG_CHECK__EDG_VERSION ()
|
||||
|
||||
#define IS_METROWERKS() \
|
||||
<a href="compl.html">BOOST_PP_COMPL</a>( \
|
||||
BOOST_PP_IS_NULLARY( \
|
||||
<a href="cat.html">BOOST_PP_CAT</a>(IS_MWERKS_CHECK, __MWERKS__) \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
#define IS_MWERKS_CHECK__MWERKS__ ()
|
||||
|
||||
#define IS_MICROSOFT() \
|
||||
<a href="bitnor.html">BOOST_PP_BITNOR</a>( \
|
||||
IS_MICROSOFT_ROOT(), \
|
||||
IS_EDISON_DESIGN_GROUP() \
|
||||
) \
|
||||
/**/
|
||||
#define IS_MICROSOFT_ROOT() \
|
||||
BOOST_PP_IS_NULLARY( \
|
||||
<a href="cat.html">BOOST_PP_CAT</a>(IS_MSVC_CHECK, _MSC_VER) \
|
||||
) \
|
||||
/**/
|
||||
#define IS_MSVC_CHECK_MS_VER ()
|
||||
|
||||
// this macro doesn't work on EDG...
|
||||
// (this is just an example)
|
||||
|
||||
#define MACRO(n) \
|
||||
<a href="cat.html">BOOST_PP_CAT</a>( \
|
||||
MACRO_, \
|
||||
IS_EDISON_DESIGN_GROUP() \
|
||||
)(n) \
|
||||
/**/
|
||||
|
||||
#define MACRO_1(n) \
|
||||
<a href="assert.html">BOOST_PP_ASSERT</a>(0) \
|
||||
"Edison Design Group is not supported" \
|
||||
/**/
|
||||
|
||||
#define MACRO_0(n) normal mode: n
|
||||
|
||||
MACRO(10)
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
55
doc/ref/assert_msg.html
Normal file
55
doc/ref/assert_msg.html
Normal file
@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ASSERT_MSG</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ASSERT_MSG</b> macro conditionally inserts debugging text.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ASSERT_MSG</b>(<i>cond</i>, <i>msg</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>cond</dt>
|
||||
<dd>
|
||||
A condition that determines whether an assertion occurs.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
<dt>msg</dt>
|
||||
<dd>
|
||||
A message to display if <i>cond</i> evaluates to <i>0</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If <i>cond</i> expands to <i>0</i>, this macro expands to <i>msg</i>.
|
||||
Otherwise, it expands to nothing.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="assert_msg.html">BOOST_PP_ASSERT_MSG</a></li>
|
||||
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/debug/assert.hpp.html"><boost/preprocessor/debug/assert.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/comparison/equal.hpp.html">boost/preprocessor/comparison/equal.hpp</a>>
|
||||
#include <<a href="../headers/debug/assert.hpp.html">boost/preprocessor/debug/assert.hpp</a>>
|
||||
|
||||
// lines are supposed to be counted
|
||||
// in translation phase 1
|
||||
|
||||
#line 9
|
||||
<a href="assert_msg.html">BOOST_PP_ASSERT_MSG</a>( \
|
||||
BOOST_PP_EQUAL(__LINE__, 9), \
|
||||
"incorrect line numbering detected" \
|
||||
)
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
50
doc/ref/assign_slot.html
Normal file
50
doc/ref/assign_slot.html
Normal file
@ -0,0 +1,50 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ASSIGN_SLOT</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ASSIGN_SLOT</b> macro fully evaluates a numeric macro or expression.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b>BOOST_PP_ASSIGN_SLOT</b>(<i>i</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>i</dt>
|
||||
<dd>
|
||||
The <i>slot</i> index that is to be assigned.
|
||||
This value must be in the range of <i>1</i> to <b>BOOST_PP_LIMIT_SLOT_COUNT</b>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
Prior to use, the <i>named external argument</i> <b>BOOST_PP_VALUE</b> must be defined.
|
||||
Also, it must expand to a numeric value that is in the range of <i>0</i> to <i>2</i>^<i>32</i> - <i>1</i>.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="limit_slot_count.html">BOOST_PP_LIMIT_SLOT_COUNT</a></li>
|
||||
<li><a href="value.html">BOOST_PP_VALUE</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/slot/slot.hpp.html"><boost/preprocessor/slot/slot.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/slot/slot.hpp.html">boost/preprocessor/slot/slot.hpp</a>>
|
||||
|
||||
#define X() 4
|
||||
|
||||
#define <a href="value.html">BOOST_PP_VALUE</a> 1 + 2 + 3 + X()
|
||||
#include <a href="assign_slot.html">BOOST_PP_ASSIGN_SLOT</a>(1)
|
||||
|
||||
#undef X
|
||||
|
||||
<a href="slot.html">BOOST_PP_SLOT</a>(1) // expands to 10
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
54
doc/ref/bitand.html
Normal file
54
doc/ref/bitand.html
Normal file
@ -0,0 +1,54 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_BITAND</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_BITAND</b> macro expands to the bitwise <i>AND</i> of its operands.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_BITAND</b>(<i>x</i>, <i>y</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The left operand of the operation.
|
||||
This value must expand to <i>0</i> or <i>1</i>.
|
||||
</dd>
|
||||
<dt>y</dt>
|
||||
<dd>
|
||||
The right operand of the operation.
|
||||
This value must expand to <i>0</i> or <i>1</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If both <i>x</i> and <i>y</i> are <i>1</i>, this macro expands to <i>1</i>.
|
||||
Otherwise, it expands to <i>0</i>.
|
||||
</div>
|
||||
<div>
|
||||
This macro <i>does not</i> perform a boolean conversion on either operand before performing the bitwise <i>AND</i> operation.
|
||||
If that conversion is necessary, use <b>BOOST_PP_AND</b> instead.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="and.html">BOOST_PP_AND</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/logical/bitand.hpp.html"><boost/preprocessor/logical/bitand.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/logical/bitand.hpp.html">boost/preprocessor/logical/bitand.hpp</a>>
|
||||
|
||||
<a href="bitand.html">BOOST_PP_BITAND</a>(0, 0) // expands to 0
|
||||
<a href="bitand.html">BOOST_PP_BITAND</a>(0, 1) // expands to 0
|
||||
<a href="bitand.html">BOOST_PP_BITAND</a>(1, 0) // expands to 0
|
||||
<a href="bitand.html">BOOST_PP_BITAND</a>(1, 1) // expands to 1
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
54
doc/ref/bitnor.html
Normal file
54
doc/ref/bitnor.html
Normal file
@ -0,0 +1,54 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_BITNOR</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_BITNOR</b> macro expands to the bitwise <i>NOR</i> of its operands.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_BITNOR</b>(<i>x</i>, <i>y</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The left operand of the operation.
|
||||
This value must expand to <i>0</i> or <i>1</i>.
|
||||
</dd>
|
||||
<dt>y</dt>
|
||||
<dd>
|
||||
The right operand of the operation.
|
||||
This value must expand to <i>0</i> or <i>1</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If neither <i>x</i> nor <i>y</i> is <i>1</i>, this macro expands to <i>1</i>.
|
||||
Otherwise, it expands to <i>0</i>.
|
||||
</div>
|
||||
<div>
|
||||
This macro <i>does not</i> perform a boolean conversion on either operand before performing the bitwise <i>NOR</i> operation.
|
||||
If that conversion is necessary, use <b>BOOST_PP_NOR</b> instead.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="nor.html">BOOST_PP_NOR</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/logical/bitnor.hpp.html"><boost/preprocessor/logical/bitnor.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/logical/bitnor.hpp.html">boost/preprocessor/logical/bitnor.hpp</a>>
|
||||
|
||||
<a href="bitnor.html">BOOST_PP_BITNOR</a>(0, 0) // expands to 1
|
||||
<a href="bitnor.html">BOOST_PP_BITNOR</a>(0, 1) // expands to 0
|
||||
<a href="bitnor.html">BOOST_PP_BITNOR</a>(1, 0) // expands to 0
|
||||
<a href="bitnor.html">BOOST_PP_BITNOR</a>(1, 1) // expands to 0
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
54
doc/ref/bitor.html
Normal file
54
doc/ref/bitor.html
Normal file
@ -0,0 +1,54 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_BITOR</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_BITOR</b> macro expands to the bitwise <i>OR</i> of its operands.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_BITOR</b>(<i>x</i>, <i>y</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The left operand of the operation.
|
||||
This value must expand to <i>0</i> or <i>1</i>.
|
||||
</dd>
|
||||
<dt>y</dt>
|
||||
<dd>
|
||||
The right operand of the operation.
|
||||
This value must expand to <i>0</i> or <i>1</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If either <i>x</i> or <i>y</i> is <i>1</i>, this macro expands to <i>1</i>.
|
||||
Otherwise, it expands to <i>0</i>.
|
||||
</div>
|
||||
<div>
|
||||
This macro <i>does not</i> perform a boolean conversion on either operand before performing the bitwise <i>OR</i> operation.
|
||||
If that conversion is necessary, use <b>BOOST_PP_OR</b> instead.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="or.html">BOOST_PP_OR</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/logical/bitor.hpp.html"><boost/preprocessor/logical/bitor.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/logical/bitor.hpp.html">boost/preprocessor/logical/bitor.hpp</a>>
|
||||
|
||||
<a href="bitor.html">BOOST_PP_BITOR</a>(0, 0) // expands to 0
|
||||
<a href="bitor.html">BOOST_PP_BITOR</a>(0, 1) // expands to 1
|
||||
<a href="bitor.html">BOOST_PP_BITOR</a>(1, 0) // expands to 1
|
||||
<a href="bitor.html">BOOST_PP_BITOR</a>(1, 1) // expands to 1
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
55
doc/ref/bitxor.html
Normal file
55
doc/ref/bitxor.html
Normal file
@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_BITXOR</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_BITXOR</b> macro expands to the bitwise <i>XOR</i> of its operands.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_BITXOR</b>(<i>x</i>, <i>y</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The left operand of the operation.
|
||||
This value must expand to <i>0</i> or <i>1</i>.
|
||||
</dd>
|
||||
<dt>y</dt>
|
||||
<dd>
|
||||
The right operand of the operation.
|
||||
This value must expand to <i>0</i> or <i>1</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If either <i>x</i> or <i>y</i> is <i>1</i> exclusively, this macro expands to <i>1</i>.
|
||||
Otherwise, it expands to <i>0</i>.
|
||||
</div>
|
||||
<div>
|
||||
This macro <i>does not</i> perform a boolean conversion on either operand before performing the bitwise <i>OR</i> operation.
|
||||
If that conversion is necessary, use <b>BOOST_PP_XOR</b> instead.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="xor.html">BOOST_PP_XOR</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/logical/bitxor.hpp.html"><boost/preprocessor/logical/bitxor.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/logical/bitxor.hpp.html">boost/preprocessor/logical/bitxor.hpp</a>>
|
||||
|
||||
<a href="bitxor.html">BOOST_PP_BITXOR</a>(0, 0) // expands to 0
|
||||
<a href="bitxor.html">BOOST_PP_BITXOR</a>(0, 1) // expands to 1
|
||||
<a href="bitxor.html">BOOST_PP_BITXOR</a>(1, 0) // expands to 1
|
||||
<a href="bitxor.html">BOOST_PP_BITXOR</a>(1, 1) // expands to 0
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
43
doc/ref/bool.html
Normal file
43
doc/ref/bool.html
Normal file
@ -0,0 +1,43 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_BOOL</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_BOOL</b> macro performs a boolean conversion on its operand.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_BOOL</b>(<i>x</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The value to be converted.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If <i>x</i> is <i>0</i>, this macro expands to <i>0</i>.
|
||||
Otherwise it expands to <i>1</i>.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/logical/bool.hpp.html"><boost/preprocessor/logical/bool.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/logical/bool.hpp.html">boost/preprocessor/logical/bool.hpp</a>>
|
||||
|
||||
<a href="bool.hpp">BOOST_PP_BOOL</a>(6) // expands to 1
|
||||
<a href="bool.hpp">BOOST_PP_BOOL</a>(0) // expands to 0
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
46
doc/ref/cat.html
Normal file
46
doc/ref/cat.html
Normal file
@ -0,0 +1,46 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_CAT</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_CAT</b> macro concatenates its arguments after they have been expanded.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_CAT</b>(<i>a</i>, <i>b</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>a</dt>
|
||||
<dd>
|
||||
The left operand of the concatenation.
|
||||
</dd>
|
||||
<dt>b</dt>
|
||||
<dd>
|
||||
The right operand of the concatenation.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
The preprocessor token-pasting operator (<b>##</b>) prevents arguments from expanding.
|
||||
This macro allows its arguments to expand before concatenation.
|
||||
</div>
|
||||
<div>
|
||||
Concatenation must not result in an invocation of a macro that uses <b>BOOST_PP_CAT</b>.
|
||||
If that happens, <b>BOOST_PP_CAT</b> will not expand the second time.
|
||||
</div>
|
||||
<!-- <h4>See Also</h4> -->
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/cat.hpp.html"><boost/preprocessor/cat.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>>
|
||||
|
||||
<a href="cat.html">BOOST_PP_CAT</a>(x, <a href="cat.html">BOOST_PP_CAT</a>(y, z)) // expands to xyz
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
32
doc/ref/comma.html
Normal file
32
doc/ref/comma.html
Normal file
@ -0,0 +1,32 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_COMMA</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_COMMA</b> macro expands to a comma.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_COMMA</b>()
|
||||
</div>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
The preprocessor interprets commas as argument separators in macro invocations.
|
||||
Because of this, commas require special handling.
|
||||
</div>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/punctuation/comma.hpp.html"><boost/preprocessor/punctuation/comma.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/control/if.hpp.html">boost/preprocessor/control/if.hpp</a>>
|
||||
#include <<a href="../headers/facilities/empty.hpp.html">boost/preprocessor/facilities/empty.hpp</a>>
|
||||
#include <<a href="../headers/punctuation/comma.hpp.html">boost/preprocessor/punctuation/comma.hpp</a>>
|
||||
|
||||
<a href="if.html">BOOST_PP_IF</a>(1, <a href="comma.html">BOOST_PP_COMMA</a>, <a href="empty.html">BOOST_PP_EMPTY</a>)() // expands to ,
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
49
doc/ref/comma_if.html
Normal file
49
doc/ref/comma_if.html
Normal file
@ -0,0 +1,49 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_COMMA_IF</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_COMMA_IF</b> macro conditionally expands to a comma.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_COMMA_IF</b>(<i>cond</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>cond</dt>
|
||||
<dd>
|
||||
The condition that determines if a the macro expands to a comma or nothing.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If <i>cond</i> expands to <i>0</i>, this macro expands to nothing.
|
||||
Otherwise, it expands to a comma.
|
||||
</div>
|
||||
<div>
|
||||
The preprocessor interprets commas as argument separators in macro invocations.
|
||||
Because of this, commas require special handling.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/punctuation/comma_if.hpp.html"><boost/preprocessor/punctuation/comma_if.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/punctuation/comma_if.hpp.html">boost/preprocessor/punctuation/comma_if.hpp</a>>
|
||||
#include <<a href="../headers/repetition/repeat.hpp.html">boost/preprocessor/repetition/repeat.hpp</a>>
|
||||
|
||||
#define MACRO(z, n, text) <a href="comma_if.html">BOOST_PP_COMMA_IF</a>(n) text
|
||||
|
||||
<a href="repeat.html">BOOST_PP_REPEAT</a>(3, MACRO, class) // expands to class, class, class
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
47
doc/ref/compl.html
Normal file
47
doc/ref/compl.html
Normal file
@ -0,0 +1,47 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_COMPL</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_COMPL</b> macro performs a bitwise inversion (bitwise <i>NOT</i> or one's complement) on its operand.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_COMPL</b>(<i>x</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The value to be converted.
|
||||
This value must expand to <i>0</i> or <i>1</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If <i>x</i> is <i>0</i>, this macro expands to <i>1</i>.
|
||||
If <i>x</i> is <i>1</i>, this it expands to <i>0</i>.
|
||||
</div>
|
||||
<div>
|
||||
This macro <i>does not</i> perform a boolean conversion on its operand before performing the inversion <i>OR</i> operation.
|
||||
If that conversion is necessary, use <b>BOOST_PP_NOT</b> instead.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="not.html">BOOST_PP_NOT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/logical/compl.hpp.html"><boost/preprocessor/logical/compl.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/logical/compl.hpp.html">boost/preprocessor/logical/compl.hpp</a>>
|
||||
|
||||
<a href="compl.html">BOOST_PP_COMPL</a>(1) // expands to 0
|
||||
<a href="compl.html">BOOST_PP_COMPL</a>(0) // expands to 1
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
33
doc/ref/config_extended_line_info.html
Normal file
33
doc/ref/config_extended_line_info.html
Normal file
@ -0,0 +1,33 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</b> is a user-defined macro that determines whether <b>BOOST_PP_LINE</b> outputs extended <i>file-iteration</i> state information.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#define <b>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</b> <i>n</i>
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>n</dt>
|
||||
<dd>
|
||||
The value that determines if <b>BOOST_PP_LINE</b> outputs extended <i>file-iteration</i> information.
|
||||
This value must be <i>0</i> or <i>1</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If <i>n</i> is <i>1</i>, <b>BOOST_PP_LINE</b> will output extended data.
|
||||
By default, this macro is set to <i>0</i>.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="line.html">BOOST_PP_LINE</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
43
doc/ref/dec.html
Normal file
43
doc/ref/dec.html
Normal file
@ -0,0 +1,43 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_DEC</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_DEC</b> macro expands to one less than its argument.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_DEC</b>(<i>x</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The value to be decremented.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If <i>x</i> is <i>0</i>, the result is saturated to <i>0</i>.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="inc.html">BOOST_PP_INC</a></li>
|
||||
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/arithmetic/dec.hpp.html"><boost/preprocessor/arithmetic/dec.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/arithmetic/dec.hpp.html">boost/preprocessor/arithmetic/dec.hpp</a>>
|
||||
|
||||
<a href="dec.html">BOOST_PP_DEC</a>(<a href="dec.html">BOOST_PP_DEC</a>(6)) // expands to 4
|
||||
<a href="dec.html">BOOST_PP_DEC</a>(0) // expands to 0
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
71
doc/ref/deduce_d.html
Normal file
71
doc/ref/deduce_d.html
Normal file
@ -0,0 +1,71 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_DEDUCE_D</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_DEDUCE_D</b> macro manually deduces the state of the <b>BOOST_PP_WHILE</b> construct.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_DEDUCE_D</b>()
|
||||
</div>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro is intended to avoid the use of <i>automatic-recursion</i> at deep expansion depths.
|
||||
<i>Automatic-recursion</i> at such depths can be inefficient on some preprocessors.
|
||||
It is not intended to be used directly with the invocation of macros with a <b>_D</b> suffix such as:
|
||||
<div>
|
||||
<b>BOOST_PP_ADD_D</b>(<b>BOOST_PP_DEDUCE_D</b>(), <i>x</i>, <i>y</i>)
|
||||
</div>
|
||||
If it is used in this context, the <b>_D</b> macro will fail.
|
||||
The <b>_D</b> macros directly concatenate to the <i>d</i> parameter that is passed to them,
|
||||
which would prevent <b>BOOST_PP_DEDUCE_D</b>() from expanding.
|
||||
Furthermore, it is pointless to use this macro in a situation such as this
|
||||
because it would already be too late to gain any efficiency.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="while.html">BOOST_PP_WHILE</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/control/deduce_d.hpp.html"><boost/preprocessor/control/deduce_d.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/arithmetic/add.hpp.html">boost/preprocessor/arithmetic/add.hpp</a>>
|
||||
#include <<a href="../headers/arithmetic/inc.hpp.html">boost/preprocessor/arithmetic/inc.hpp</a>>
|
||||
#include <<a href="../headers/arithmetic/sub.hpp.html">boost/preprocessor/arithmetic/sub.hpp</a>>
|
||||
#include <<a href="../headers/control/deduce_d.hpp.html">boost/preprocessor/control/deduce_d.hpp</a>>
|
||||
#include <<a href="../headers/punctuation/comma_if.hpp.html">boost/preprocessor/punctuation/comma_if.hpp</a>>
|
||||
#include <<a href="../headers/repetition/repeat.hpp.html">boost/preprocessor/repetition/repeat.hpp</a>>
|
||||
#include <<a href="../headers/tuple/elem.hpp.html">boost/preprocessor/tuple/elem.hpp</a>>
|
||||
|
||||
#define RANGE(first, last) \
|
||||
<a href="repeat.html">BOOST_PP_REPEAT</a>( \
|
||||
<a href="inc.html">BOOST_PP_INC</a>( \
|
||||
<a href="sub.html">BOOST_PP_SUB</a>(last, first) \
|
||||
, \
|
||||
RANGE_M, \
|
||||
(first, <a href="deduce_d.html">BOOST_PP_DEDUCE_D</a>()) \
|
||||
) \
|
||||
/**/
|
||||
|
||||
#define RANGE_M(z, n, data) \
|
||||
RANGE_M_2( \
|
||||
n, \
|
||||
<a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(2, 0, data), \
|
||||
<a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(2, 1, data) \
|
||||
) \
|
||||
/**/
|
||||
|
||||
#define RANGE_M_2(n, first, d) \
|
||||
<a href="comma_if.html">BOOST_PP_COMMA_IF</a>(n) <a href="add_d.html">BOOST_PP_ADD_D</a>(d, n, first) \
|
||||
/**/
|
||||
|
||||
RANGE(5, 10) // expands to 5, 6, 7, 8, 9, 10
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
37
doc/ref/deduce_r.html
Normal file
37
doc/ref/deduce_r.html
Normal file
@ -0,0 +1,37 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_DEDUCE_R</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_DEDUCE_R</b> macro manually deduces the state of the <b>BOOST_PP_FOR</b> construct.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_DEDUCE_R</b>()
|
||||
</div>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro is intended to avoid the use of <i>automatic-recursion</i> at deep expansion depths.
|
||||
<i>Automatic-recursion</i> at such depths can be inefficient on some preprocessors.
|
||||
It is not intended to be used directly with the invocation of macros with a <b>_R</b> suffix such as:
|
||||
<div>
|
||||
<b>BOOST_PP_LIST_ENUM_R</b>(<b>BOOST_PP_DEDUCE_R</b>(), (a, (b, (c, <b>BOOST_PP_NIL</b>))))
|
||||
</div>
|
||||
If it is used in this context, the <b>_R</b> macro will fail.
|
||||
The <b>_R</b> macros directly concatenate to the <i>r</i> parameter that is passed to them,
|
||||
which would prevent <b>BOOST_PP_DEDUCE_R</b>() from expanding.
|
||||
Furthermore, it is pointless to use this macro in a situation such as this
|
||||
because it would already be too late to gain any efficiency.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="for.html">BOOST_PP_FOR</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/deduce_r.hpp.html"><boost/preprocessor/repetition/deduce_r.hpp></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
37
doc/ref/deduce_z.html
Normal file
37
doc/ref/deduce_z.html
Normal file
@ -0,0 +1,37 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_DEDUCE_Z</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_DEDUCE_Z</b> macro manually deduces the state of the <b>BOOST_PP_REPEAT</b> construct.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_DEDUCE_Z</b>()
|
||||
</div>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro is intended to avoid the use of <i>automatic-recursion</i> at deep expansion depths.
|
||||
<i>Automatic-recursion</i> at such depths can be inefficient on some preprocessors.
|
||||
It is not intended to be used directly with the invocation of macros with a <b>_Z</b> suffix such as:
|
||||
<div>
|
||||
<b>BOOST_PP_ENUM_PARAMS_Z</b>(<b>BOOST_PP_DEDUCE_Z</b>(), (a, (b, (c, <b>BOOST_PP_NIL</b>))))
|
||||
</div>
|
||||
If it is used in this context, the <b>_Z</b> macro will fail.
|
||||
The <b>_Z</b> macros directly concatenate to the <i>r</i> parameter that is passed to them,
|
||||
which would prevent <b>BOOST_PP_DEDUCE_Z</b>() from expanding.
|
||||
Furthermore, it is pointless to use this macro in a situation such as this
|
||||
because it would already be too late to gain any efficiency.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="repeat.html">BOOST_PP_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/deduce_z.hpp.html"><boost/preprocessor/repetition/deduce_z.hpp></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
52
doc/ref/div.html
Normal file
52
doc/ref/div.html
Normal file
@ -0,0 +1,52 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_DIV</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_DIV</b> macro expands to the quotient of its arguments.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_DIV</b>(<i>x</i>, <i>y</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The dividend (numerator) of the operation.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
<dt>y</dt>
|
||||
<dd>
|
||||
The divisor (denominator) of the operation.
|
||||
Valid values range from <i>1</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.
|
||||
There is no longer any such restriction.
|
||||
It is more efficient, however, to use <b>BOOST_PP_DIV_D</b> in such a situation.
|
||||
</div>
|
||||
<div>
|
||||
If <i>y</i> is <i>0</i>, the result is undefined.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="div_d.html">BOOST_PP_DIV_D</a></li>
|
||||
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/arithmetic/div.hpp.html"><boost/preprocessor/arithmetic/div.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/arithmetic/div.hpp.html">boost/preprocessor/arithmetic/div.hpp</a>>
|
||||
|
||||
<a href="div.html">BOOST_PP_DIV</a>(11, 5) // expands to 2
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
74
doc/ref/div_d.html
Normal file
74
doc/ref/div_d.html
Normal file
@ -0,0 +1,74 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_DIV_D</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_DIV_D</b> macro expands to the quotient of its second and third arguments.
|
||||
It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_DIV_D</b>(<i>d</i>, <i>x</i>, <i>y</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>d</dt>
|
||||
<dd>
|
||||
The next available <b>BOOST_PP_WHILE</b> iteration.
|
||||
</dd>
|
||||
<dt>x</dt>
|
||||
<dd>
|
||||
The dividend (numerator) of the operation.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
<dt>y</dt>
|
||||
<dd>
|
||||
The divisor (denominator) of the operation.
|
||||
Valid values range from <i>1</i> to <b>BOOST_PP_LIMIT_MAG</b>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
If <i>y</i> is <i>0</i>, the result is undefined.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="div.html">BOOST_PP_DIV</a></li>
|
||||
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/arithmetic/div.hpp.html"><boost/preprocessor/arithmetic/div.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/arithmetic/dec.hpp.html">boost/preprocessor/arithmetic/dec.hpp</a>>
|
||||
#include <<a href="../headers/arithmetic/div.hpp.html">boost/preprocessor/arithmetic/div.hpp</a>>
|
||||
#include <<a href="../headers/control/while.hpp.html">boost/preprocessor/control/while.hpp</a>>
|
||||
#include <<a href="../headers/tuple/elem.hpp.html">boost/preprocessor/tuple/elem.hpp</a>>
|
||||
|
||||
#define PRED(d, data) <a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(2, 0, data)
|
||||
|
||||
#define OP(d, data) \
|
||||
( \
|
||||
<a href="dec.html">BOOST_PP_DEC</a>( \
|
||||
<a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(2, 0, data) \
|
||||
), \
|
||||
<a href="div_d.html">BOOST_PP_DIV_D</a>( \
|
||||
d, \
|
||||
<a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(2, 1, data), \
|
||||
2 \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
|
||||
// halve 'x' 'n' times
|
||||
#define HALVE(x, n) <a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(2, 1, <a href="while.html">BOOST_PP_WHILE</a>(PRED, OP, (n, x)))
|
||||
|
||||
HALVE(8, 2) // expands to 2
|
||||
HALVE(16, 1) // expands to 8
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
36
doc/ref/empty.html
Normal file
36
doc/ref/empty.html
Normal file
@ -0,0 +1,36 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_EMPTY</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_EMPTY</b> macro is a nullary utility macro that expands to nothing.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_EMPTY</b>()
|
||||
</div>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro is helps avoid inefficient macro-expansion.
|
||||
It is primarily useful as arguments to <b>BOOST_PP_IF</b> or <b>BOOST_PP_IIF</b>.
|
||||
</div>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/facilities/empty.hpp.html"><boost/preprocessor/facilities/empty.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/control/if.hpp.html">boost/preprocessor/control/if.hpp</a>>
|
||||
#include <<a href="../headers/facilities/empty.hpp.html">boost/preprocessor/facilities/empty.hpp</a>>
|
||||
|
||||
#define X() result
|
||||
#define MACRO(c) <a href="if.html">BOOST_PP_IF</a>(c, X, <a href="empty.html">BOOST_PP_EMPTY</a>)()
|
||||
|
||||
MACRO(0) // expands to nothing
|
||||
MACRO(1) // expands to result
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
69
doc/ref/enum.html
Normal file
69
doc/ref/enum.html
Normal file
@ -0,0 +1,69 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM</b> macro generates a comma-separated list.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM</b>(<i>count</i>, <i>macro</i>, <i>data</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of repetitious calls to <i>macro</i>.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>macro</dt>
|
||||
<dd>
|
||||
A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).
|
||||
This macro is expanded by <b>BOOST_PP_ENUM</b> with the next available repetition depth,
|
||||
the current repetition number, and the auxiliary <i>data</i> argument.
|
||||
</dd>
|
||||
<dt>data</dt>
|
||||
<dd>
|
||||
Auxiliary data passed to <i>macro</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
<i>macro</i>(<i>z</i>, <i>0</i>, <i>data</i>), <i>macro</i>(<i>z</i>, <i>1</i>, <i>data</i>), ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <i>data</i>)
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
The <i>z</i> value that is passed to <i>macro</i> represents the next available repetition dimension.
|
||||
Other macros that have <b>_Z</b> suffix variants internally use <b>BOOST_PP_REPEAT</b>--for example, <b>BOOST_PP_ENUM_PARAMS</b> and <b>BOOST_PP_ENUM_PARAMS_Z</b>.
|
||||
Using these <b>_Z</b> versions is not strictly necessary, but passing the <i>z</i> value (that is passed to <i>macro</i>) to these macros allows them to reenter <b>BOOST_PP_REPEAT</b> with maximum efficiency.
|
||||
</div>
|
||||
<div>
|
||||
To directly use this <i>z</i> value, rather than simply passing it to another macro, see <b>BOOST_PP_ENUM_<i>z</i></b>.
|
||||
</div>
|
||||
<div>
|
||||
Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.
|
||||
This limitation no longer exists, as the library can automatically detect the next available repetition depth.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="enum_z.html">BOOST_PP_ENUM_<i>z</i></a></li>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum.hpp.html"><boost/preprocessor/repetition/enum.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/repetition/enum.hpp.html">boost/preprocessor/repetition/enum.hpp</a>>
|
||||
|
||||
#define TEXT(z, n, text) text
|
||||
|
||||
<a href="enum.html">BOOST_PP_ENUM</a>(4, TEXT, class) // expands to class, class, class, class
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
65
doc/ref/enum_binary_params.html
Normal file
65
doc/ref/enum_binary_params.html
Normal file
@ -0,0 +1,65 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_BINARY_PARAMS</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_BINARY_PARAMS</b> macro generates a comma-separated list of binary parameters.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_BINARY_PARAMS</b>(<i>count</i>, <i>p1</i>, <i>p2</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of parameters to generate.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>p1</dt>
|
||||
<dd>
|
||||
The text of the first part of the parameter.
|
||||
<b>BOOST_PP_ENUM_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
<dt>p2</dt>
|
||||
<dd>
|
||||
The text of the first part of the parameter.
|
||||
<b>BOOST_PP_ENUM_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
<i>p1</i> ## <i>0</i> <i>p2</i> ## <i>0</i>, <i>p1</i> ## <i>1</i> <i>p2</i> ## <i>1</i>, ... <i>p1</i> ## <i>count</i> - <i>1</i> <i>p2</i> ## <i>count</i> - <i>1</i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
To use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ENUM_BINARY_PARAMS_Z</b>.
|
||||
</div>
|
||||
<div>
|
||||
This macro is a replacement for both <b>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</b> and <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b>.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="enum_binary_params_z.html">BOOST_PP_ENUM_BINARY_PARAMS_Z</a></li>
|
||||
<li><a href="enum_params_with_a_default.html">BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</a></li>
|
||||
<li><a href="enum_params_with_defaults.html">BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</a></li>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_binary_params.hpp.html"><boost/preprocessor/repetition/enum_binary_params.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/repetition/enum_binary_params.hpp.html">boost/preprocessor/repetition/enum_binary_params.hpp</a>>
|
||||
|
||||
<a href="enum_binary_params.html">BOOST_PP_ENUM_BINARY_PARAMS</a>(3, T, p) // expands to T0 p0, T1 p1, T2 p2
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
82
doc/ref/enum_binary_params_z.html
Normal file
82
doc/ref/enum_binary_params_z.html
Normal file
@ -0,0 +1,82 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_BINARY_PARAMS_Z</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_BINARY_PARAMS_Z</b> macro generates a comma-separated list of binary parameters.
|
||||
It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_BINARY_PARAMS_Z</b>(<i>z</i>, <i>count</i>, <i>p1</i>, <i>p2</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>z</dt>
|
||||
<dd>
|
||||
The next available <b>BOOST_PP_REPEAT</b> dimension.
|
||||
</dd>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of parameters to generate.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>p1</dt>
|
||||
<dd>
|
||||
The text of the first part of the parameter.
|
||||
<b>BOOST_PP_ENUM_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
<dt>p2</dt>
|
||||
<dd>
|
||||
The text of the first part of the parameter.
|
||||
<b>BOOST_PP_ENUM_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
<i>p1</i> ## <i>0</i> <i>p2</i> ## <i>0</i>, <i>p1</i> ## <i>1</i> <i>p2</i> ## <i>1</i>, ... <i>p1</i> ## <i>count</i> - <i>1</i> <i>p2</i> ## <i>count</i> - <i>1</i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
This macro is a replacement for both <b>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</b> and <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b>.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="enum_binary_params.html">BOOST_PP_ENUM_BINARY_PARAMS</a></li>
|
||||
<li><a href="enum_params_with_a_default.html">BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</a></li>
|
||||
<li><a href="enum_params_with_defaults.html">BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</a></li>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_binary_params.hpp.html"><boost/preprocessor/repetition/enum_binary_params.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/arithmetic/inc.hpp.html">boost/preprocessor/arithmetic/inc.hpp</a>>
|
||||
#include <<a href="../headers/repetition/enum_binary_params.hpp.html">boost/preprocessor/repetition/enum_binary_params.hpp</a>>
|
||||
#include <<a href="../headers/repetition/enum_params.hpp.html">boost/preprocessor/repetition/enum_params.hpp</a>>
|
||||
|
||||
#define FUNCTION(z, n, _) \
|
||||
template<<a href="enum_params_z.html">BOOST_PP_ENUM_PARAMS_Z</a>(z, <a href="inc.html">BOOST_PP_INC</a>(n), class T)> \
|
||||
void f(<a href="enum_binary_params_z.html">BOOST_PP_ENUM_BINARY_PARAMS_Z</a>(z, <a href="inc.html">BOOST_PP_INC</a>(n), T, p)) { \
|
||||
/* ... */ \
|
||||
} \
|
||||
/**/
|
||||
|
||||
<a href="repeat.html">BOOST_PP_REPEAT</a>(2, FUNCTION, nil)
|
||||
/*
|
||||
expands to...
|
||||
|
||||
template<class T0> void f(T0 p0) { }
|
||||
template<class T0, class T1> void f(T0 p0, T1 p1) { }
|
||||
*/
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
58
doc/ref/enum_params.html
Normal file
58
doc/ref/enum_params.html
Normal file
@ -0,0 +1,58 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_PARAMS</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_PARAMS</b> macro generates a comma-separated list of parameters.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_PARAMS</b>(<i>count</i>, <i>param</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of parameters to generate.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>param</dt>
|
||||
<dd>
|
||||
The text of the parameter.
|
||||
<b>BOOST_PP_ENUM_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
<i>param</i> ## <i>0</i>, <i>param</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
To use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ENUM_PARAMS_Z</b>.
|
||||
</div>
|
||||
<div>
|
||||
Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.
|
||||
This limitation no longer exists, as the library can automatically detect the next available repetition depth.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="enum_params_z.html">BOOST_PP_ENUM_PARAMS_Z</a></li>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_params.hpp.html"><boost/preprocessor/repetition/enum_params.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/repetition/enum_params.hpp.html">boost/preprocessor/repetition/enum_params.hpp</a>>
|
||||
|
||||
<a href="enum_params.html">BOOST_PP_ENUM_PARAMS</a>(3, class T) // expands to class T0, class T1, class T2
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
72
doc/ref/enum_params_with_a_default.html
Normal file
72
doc/ref/enum_params_with_a_default.html
Normal file
@ -0,0 +1,72 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</b> macro generates a comma-separated list of parameters with a default argument.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</b>(<i>count</i>, <i>param</i>, <i>def</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of parameters to generate.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>param</dt>
|
||||
<dd>
|
||||
The text of the parameter.
|
||||
<b>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
<dt>def</dt>
|
||||
<dd>
|
||||
The default value that trails each parameter.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
<i>param</i> ## <i>0</i> = <i>def</i>, <i>param</i> ## <i>1</i> = <i>def</i>, ... <i>param</i> ## <i>count</i> - <i>1</i> = <i>def</i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.
|
||||
This limitation no longer exists, as the library can automatically detect the next available repetition depth.
|
||||
</div>
|
||||
<div>
|
||||
This macro is deprecated.
|
||||
It only exists for backward compatibility.
|
||||
Use <b>BOOST_PP_ENUM_BINARY_PARAMS</b> with <b>BOOST_PP_INTERCEPT</b> instead:
|
||||
<div>
|
||||
<b>BOOST_PP_ENUM_BINARY_PARAMS</b>(<i>count</i>, <i>param</i>, = <i>def</i> <b>BOOST_PP_INTERCEPT</b>)
|
||||
</div>
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="enum_binary_params.html">BOOST_PP_ENUM_BINARY_PARAMS</a></li>
|
||||
<li><a href="intercept.html">BOOST_PP_INTERCEPT</a></li>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_params_with_a_default.hpp.html"><boost/preprocessor/repetition/enum_params_with_a_default.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/repetition/enum_params_with_a_default.hpp.html">boost/preprocessor/repetition/enum_params_with_a_default.hpp</a>>
|
||||
|
||||
<a href="enum_params_with_a_default.html">BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</a>(3, class T, int)
|
||||
// expands to T0 = int, T1 = int, T2 = int
|
||||
|
||||
<a href="enum_binary_params.html">BOOST_PP_ENUM_BINARY_PARAMS</a>(3, class T, = int <a href="intercept.html">BOOST_PP_INTERCEPT</a>)
|
||||
// expands to T0 = int, T1 = int, T2 = int
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
73
doc/ref/enum_params_with_defaults.html
Normal file
73
doc/ref/enum_params_with_defaults.html
Normal file
@ -0,0 +1,73 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b> macro generates a comma-separated list of parameters with default arguments.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b>(<i>count</i>, <i>param</i>, <i>def</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of parameters to generate.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>param</dt>
|
||||
<dd>
|
||||
The text of the parameter.
|
||||
<b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
<dt>def</dt>
|
||||
<dd>
|
||||
The default value that trails each parameter.
|
||||
<b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
|
||||
to generate default arguments.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
<i>param</i> ## <i>0</i> = <i>def</i> ## <i>0</i>, <i>param</i> ## <i>1</i> = <i>def</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i> = <i>def</i> ## <i>count</i> - <i>1</i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.
|
||||
This limitation no longer exists, as the library can automatically detect the next available repetition depth.
|
||||
</div>
|
||||
<div>
|
||||
This macro is deprecated.
|
||||
It only exists for backward compatibility.
|
||||
Use <b>BOOST_PP_ENUM_BINARY_PARAMS</b> instead:
|
||||
<div>
|
||||
<b>BOOST_PP_ENUM_BINARY_PARAMS</b>(<i>count</i>, <i>param</i>, = <i>def</i>)
|
||||
</div>
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="enum_binary_params.html">BOOST_PP_ENUM_BINARY_PARAMS</a></li>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_params_with_defaults.hpp.html"><boost/preprocessor/repetition/enum_params_with_defaults.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/repetition/enum_params_with_defaults.hpp.html">boost/preprocessor/repetition/enum_params_with_defaults.hpp</a>>
|
||||
|
||||
<a href="enum_params_with_defaults.html">BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</a>(3, class T, U)
|
||||
// expands to T0 = U0, T1 = U1, T2 = U2
|
||||
|
||||
<a href="enum_binary_params.html">BOOST_PP_ENUM_BINARY_PARAMS</a>(3, class T, = U)
|
||||
// expands to T0 = U0, T1 = U1, T2 = U2
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
71
doc/ref/enum_params_z.html
Normal file
71
doc/ref/enum_params_z.html
Normal file
@ -0,0 +1,71 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_PARAMS_Z</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_PARAMS_Z</b> macro generates a comma-separated list of parameters.
|
||||
It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_PARAMS_Z</b>(<i>z</i>, <i>count</i>, <i>param</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>z</dt>
|
||||
<dd>
|
||||
The next available <b>BOOST_PP_REPEAT</b> dimension.
|
||||
</dd>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of parameters to generate.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>param</dt>
|
||||
<dd>
|
||||
The text of the parameter.
|
||||
<b>BOOST_PP_ENUM_PARAMS_Z</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
<i>param</i> ## <i>0</i>, <i>param</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i>
|
||||
</div>
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="enum_params.html">BOOST_PP_ENUM_PARAMS</a></li>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_params.hpp.html"><boost/preprocessor/repetition/enum_params.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div id="sample"><pre>
|
||||
#include <<a href="../headers/arithmetic/inc.hpp.html">boost/preprocessor/arithmetic/inc.hpp</a>>
|
||||
#include <<a href="../headers/repetition/enum_params.hpp.html">boost/preprocessor/repetition/enum_params.hpp</a>>
|
||||
#include <<a href="../headers/repetition/repeat.hpp.html">boost/preprocessor/repetition/repeat.hpp</a>>
|
||||
|
||||
#define MACRO(z, n, _) \
|
||||
template< \
|
||||
<a href="enum_params_z.html">BOOST_PP_ENUM_PARAMS_Z</a>(z, <a href="inc.html">BOOST_PP_INC</a>(n), class T) \
|
||||
> class X ## n { \
|
||||
/* ... */ \
|
||||
}; \
|
||||
/**/
|
||||
|
||||
<a href="repeat.html">BOOST_PP_REPEAT</a>(2, MACRO, nil)
|
||||
/*
|
||||
expands to...
|
||||
template<class T0> class X0 { };
|
||||
template<class T0, class T1> class X1 { };
|
||||
*/
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
71
doc/ref/enum_shifted.html
Normal file
71
doc/ref/enum_shifted.html
Normal file
@ -0,0 +1,71 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_SHIFTED</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_SHIFTED</b> macro generates a comma-separated, shifted list.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_SHIFTED</b>(<i>count</i>, <i>macro</i>, <i>data</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of repetitious calls to <i>macro</i>.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>macro</dt>
|
||||
<dd>
|
||||
A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).
|
||||
This macro is expanded by <b>BOOST_PP_ENUM_SHIFTED</b> with the next available repetition depth,
|
||||
the current repetition number, and the auxiliary <i>data</i> argument.
|
||||
</dd>
|
||||
<dt>data</dt>
|
||||
<dd>
|
||||
Auxiliary data passed to <i>macro</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
<i>macro</i>(<i>z</i>, <i>1</i>, <i>data</i>), ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <i>data</i>)
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
The <i>z</i> value that is passed to <i>macro</i> represents the next available repetition dimension.
|
||||
Other macros that have <b>_Z</b> suffix variants internally use <b>BOOST_PP_REPEAT</b>--for example, <b>BOOST_PP_ENUM_PARAMS</b> and <b>BOOST_PP_ENUM_PARAMS_Z</b>.
|
||||
Using these <b>_Z</b> versions is not strictly necessary, but passing the <i>z</i> value (that is passed to <i>macro</i>) to these macros allows them to reenter <b>BOOST_PP_REPEAT</b> with maximum efficiency.
|
||||
</div>
|
||||
<div>
|
||||
To directly use this <i>z</i> value, rather than simply passing it to another macro, see <b>BOOST_PP_ENUM_SHIFTED_<i>z</i></b>.
|
||||
</div>
|
||||
<div>
|
||||
Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.
|
||||
This limitation no longer exists, as the library can automatically detect the next available repetition depth.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="enum_shifted_z.html">BOOST_PP_ENUM_SHIFTED_<i>z</i></a></li>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_shifted.hpp.html"><boost/preprocessor/repetition/enum_shifted.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/repetition/enum.hpp.html">boost/preprocessor/repetition/enum.hpp</a>>
|
||||
#include <<a href="../headers/repetition/enum_shifted.hpp.html">boost/preprocessor/repetition/enum_shifted.hpp</a>>
|
||||
|
||||
#define TYPE(z, n, type) type
|
||||
|
||||
<a href="enum.html">BOOST_PP_ENUM</a>(5, TYPE, int) // expands to int, int, int, int, int
|
||||
<a href="enum_shifted.html">BOOST_PP_ENUM_SHIFTED</a>(5, TYPE, int) // expands to int, int, int, int
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
62
doc/ref/enum_shifted_params.html
Normal file
62
doc/ref/enum_shifted_params.html
Normal file
@ -0,0 +1,62 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_SHIFTED_PARAMS</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_SHIFTED_PARAMS</b> macro generates a comma-separated, shifted list of parameters.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_SHIFTED_PARAMS</b>(<i>count</i>, <i>param</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of parameters to generate.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>param</dt>
|
||||
<dd>
|
||||
The text of the parameter.
|
||||
<b>BOOST_PP_ENUM_SHIFTED_PARAMS</b> concatenates numbers ranging from <i>1</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
<i>param</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
This macro facilitates a typical usage of the library.
|
||||
Shifted parameter lists are common in template metaprograms.
|
||||
</div>
|
||||
<div>
|
||||
To use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ENUM_SHIFTED_PARAMS_Z</b>.
|
||||
</div>
|
||||
<div>
|
||||
Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.
|
||||
This limitation no longer exists, as the library can automatically detect the next available repetition depth.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
<li><a href="enum_shifted_params_z.html">BOOST_PP_SHIFTED_ENUM_PARAMS_<i>z</i></a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_shifted_params.hpp.html"><boost/preprocessor/repetition/enum_shifted_params.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/repetition/enum_shifted_params.hpp.html">boost/preprocessor/repetition/enum_shifted_params.hpp</a>>
|
||||
|
||||
<a href="enum_shifted_params.html">BOOST_PP_ENUM_SHIFTED_PARAMS</a>(3, class T) // expands to class T1, class T2
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
68
doc/ref/enum_shifted_params_z.html
Normal file
68
doc/ref/enum_shifted_params_z.html
Normal file
@ -0,0 +1,68 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_SHIFTED_PARAMS_Z</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_SHIFTED_PARAMS_Z</b> macro generates a comma-separated, shifted list of parameters.
|
||||
It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_SHIFTED_PARAMS_Z</b>(<i>z</i>, <i>count</i>, <i>param</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>z</dt>
|
||||
<dd>
|
||||
The next available <b>BOOST_PP_REPEAT</b> dimension.
|
||||
</dd>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of parameters to generate.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>param</dt>
|
||||
<dd>
|
||||
The text of the parameter.
|
||||
<b>BOOST_PP_ENUM_SHIFTED_PARAMS_Z</b> concatenates numbers ranging from <i>1</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
<i>param</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i>
|
||||
</div>
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
<li><a href="enum_shifted_params.html">BOOST_PP_ENUM_SHIFTED_PARAMS</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_shifted_params.hpp.html"><boost/preprocessor/repetition/enum_shifted_params.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/repetition/enum_params.hpp.html">boost/preprocessor/repetition/enum_params.hpp</a>>
|
||||
#include <<a href="../headers/repetition/enum_shifted_params.hpp.html">boost/preprocessor/repetition/enum_shifted_params.hpp</a>>
|
||||
#include <<a href="../headers/repetition/repeat.hpp.html">boost/preprocessor/repetition/repeat.hpp</a>>
|
||||
|
||||
int add(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define ADD_F(z, n, _) \
|
||||
int add_f(<a href="enum_params_z.html">BOOST_PP_ENUM_PARAMS_Z</a>(z, <a href="inc.html">BOOST_PP_INC</a>(n), int p)) { \
|
||||
return p0 + add_f(<a href="enum_shifted_params_z.html">BOOST_PP_ENUM_SHIFTED_PARAMS_Z</a>(z, <a href="inc.html">BOOST_PP_INC</a>(n), p)); \
|
||||
} \
|
||||
/**/
|
||||
|
||||
<a href="repeat.html">BOOST_PP_REPEAT</a>(5, ADD_F, nil)
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
82
doc/ref/enum_shifted_z.html
Normal file
82
doc/ref/enum_shifted_z.html
Normal file
@ -0,0 +1,82 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_SHIFTED_z</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_SHIFTED_<i>z</i></b> macro represents a reentry into the <b>BOOST_PP_ENUM_SHIFTED</b> repetition construct.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_SHIFTED_</b> ## <i>z</i>(<i>count</i>, <i>macro</i>, <i>data</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>z</dt>
|
||||
<dd>
|
||||
The next available <b>BOOST_PP_REPEAT</b> dimension.
|
||||
</dd>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of repetitious calls to <i>macro</i>.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>macro</dt>
|
||||
<dd>
|
||||
A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).
|
||||
This macro is expanded by <b>BOOST_PP_ENUM_SHIFTED</b> with the next available repetition depth,
|
||||
the current repetition number, and the auxiliary <i>data</i> argument.
|
||||
</dd>
|
||||
<dt>data</dt>
|
||||
<dd>
|
||||
Auxiliary data passed to <i>macro</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the sequence:
|
||||
<div>
|
||||
<i>macro</i>(<i>z</i>, <i>1</i>, <i>data</i>), ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <i>data</i>)
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
At certain times, it may be necessary to perform the concatenation with <b>BOOST_PP_CAT</b> rather than the preprocessor token-pasting operator.
|
||||
This happens when the <i>z</i> value is a macro invocation itself.
|
||||
It needs a delay to allow it to expand.
|
||||
The syntax in such a scenario becomes:
|
||||
<div>
|
||||
<b>BOOST_PP_CAT</b>(<b>BOOST_PP_ENUM_SHIFTED_</b>, <i>z</i>)(<i>count</i>, <i>macro</i>, <i>data</i>).
|
||||
</div>
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="cat.html">BOOST_PP_CAT</a></li>
|
||||
<li><a href="enum_shifted.html">BOOST_PP_ENUM_SHIFTED</a></li>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_shifted.hpp.html"><boost/preprocessor/repetition/enum_shifted.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/arithmetic/inc.hpp.html">boost/preprocessor/arithmetic/inc.hpp</a>>
|
||||
#include <<a href="../headers/repetition/enum_shifted.hpp.html">boost/preprocessor/repetition/enum_shifted.hpp</a>>
|
||||
#include <<a href="../headers/repetition/repeat.hpp.html">boost/preprocessor/repetition/repeat.hpp</a>>
|
||||
|
||||
#define TEXT(z, n, text) text
|
||||
|
||||
#define MACRO(z, n, data) \
|
||||
( \
|
||||
<a href="enum_shifted_z.html">BOOST_PP_ENUM_SHIFTED_</a> ## z( \
|
||||
BOOST_PP_INC(n), \
|
||||
TEXT, data \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
|
||||
<a href="repeat.html">BOOST_PP_REPEAT</a>(3, MACRO, class) // expands to () (class) (class, class)
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
72
doc/ref/enum_trailing.html
Normal file
72
doc/ref/enum_trailing.html
Normal file
@ -0,0 +1,72 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_TRAILING</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_TRAILING</b> macro generates a comma-separated list with a leading comma.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_TRAILING</b>(<i>count</i>, <i>macro</i>, <i>data</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of repetitious calls to <i>macro</i>.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>macro</dt>
|
||||
<dd>
|
||||
A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).
|
||||
This macro is expanded by <b>BOOST_PP_ENUM</b> with the next available repetition depth,
|
||||
the current repetition number, and the auxiliary <i>data</i> argument.
|
||||
</dd>
|
||||
<dt>data</dt>
|
||||
<dd>
|
||||
Auxiliary data passed to <i>macro</i>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
, <i>macro</i>(<i>z</i>, <i>0</i>, <i>data</i>), <i>macro</i>(<i>z</i>, <i>1</i>, <i>data</i>), ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <i>data</i>)
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
The <i>z</i> value that is passed to <i>macro</i> represents the next available repetition dimension.
|
||||
Other macros that have <b>_Z</b> suffix variants internally use <b>BOOST_PP_REPEAT</b>--for example, <b>BOOST_PP_ENUM_PARAMS</b> and <b>BOOST_PP_ENUM_PARAMS_Z</b>.
|
||||
Using these <b>_Z</b> versions is not strictly necessary, but passing the <i>z</i> value (that is passed to <i>macro</i>) to these macros allows them to reenter <b>BOOST_PP_REPEAT</b> with maximum efficiency.
|
||||
</div>
|
||||
<div>
|
||||
To directly use this <i>z</i> value, rather than simply passing it to another macro, see <b>BOOST_PP_ENUM_TRAILING_<i>z</i></b>.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="enum_trailing_z.html">BOOST_PP_ENUM_TRAILING_<i>z</i></a></li>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_trailing.hpp.html"><boost/preprocessor/repetition/enum_trailing.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/repetition/enum_trailing.hpp.html">boost/preprocessor/repetition/enum_trailing.hpp</a>>
|
||||
|
||||
#define TEXT(z, n, text) text
|
||||
|
||||
template<class <a href="enum_trailing.html">BOOST_PP_ENUM_TRAILING</a>(3, TEXT, class)>
|
||||
class X { };
|
||||
/*
|
||||
expands to...
|
||||
|
||||
template<class, class, class, class>
|
||||
class X { };
|
||||
*/
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
72
doc/ref/enum_trailing_binary_params.html
Normal file
72
doc/ref/enum_trailing_binary_params.html
Normal file
@ -0,0 +1,72 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b> macro generates a comma-separated list of binary parameters with a leading comma.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
<b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b>(<i>count</i>, <i>p1</i>, <i>p2</i>)
|
||||
</div>
|
||||
<h4>Arguments</h4>
|
||||
<dl>
|
||||
<dt>count</dt>
|
||||
<dd>
|
||||
The number of parameters to generate.
|
||||
Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
|
||||
</dd>
|
||||
<dt>p1</dt>
|
||||
<dd>
|
||||
The text of the first part of the parameter.
|
||||
<b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
<dt>p2</dt>
|
||||
<dd>
|
||||
The text of the first part of the parameter.
|
||||
<b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
|
||||
to generate parameters.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro expands to the comma-separated sequence:
|
||||
<div>
|
||||
, <i>p1</i> ## <i>0</i> <i>p2</i> ## <i>0</i>, <i>p1</i> ## <i>1</i> <i>p2</i> ## <i>1</i>, ... <i>p1</i> ## <i>count</i> - <i>1</i> <i>p2</i> ## <i>count</i> - <i>1</i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
To use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</b>.
|
||||
</div>
|
||||
<h4>See Also</h4>
|
||||
<ul>
|
||||
<li><a href="enum_trailing_binary_params_z.html">BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</a></li>
|
||||
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
</ul>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
<b>Header:</b> <a href="../headers/repetition/enum_trailing_binary_params.hpp.html"><boost/preprocessor/repetition/enum_trailing_binary_params.hpp></a>
|
||||
</div>
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/facilities/intercept.hpp.html">boost/preprocessor/facilities/intercept.hpp</a>>
|
||||
#include <<a href="../headers/repetition/enum_trailing_binary_params.hpp.html">boost/preprocessor/repetition/enum_trailing_binary_params.hpp</a>>
|
||||
|
||||
template<class X <a href="enum_trailing_binary_params.html">BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</a>(4, class A, = X <a href="intercept.html">BOOST_PP_INTERCEPT</a>)>
|
||||
struct sample {
|
||||
// ...
|
||||
};
|
||||
|
||||
/* expands to...
|
||||
|
||||
template<class X, class A0 = X, class A1 = X, class A2 = X, class A3 = X>
|
||||
struct sample {
|
||||
// ...
|
||||
}
|
||||
*/
|
||||
</pre></div>
|
||||
</body>
|
||||
</html>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user