set -> seq

[SVN r16150]
This commit is contained in:
Paul Mensonides
2002-11-07 23:39:29 +00:00
parent 54bdb38619
commit 5be4c6ee5a
74 changed files with 3787 additions and 2492 deletions

View File

@ -1,16 +1,18 @@
<html> <html>
<head> <head>
<title>data.html</title> <title>data.html</title>
<link rel="stylesheet" type="text/css" href="styles.css"> <link rel="stylesheet" type="text/css" href="styles.css">
<base target="desc"> <base target="desc">
</head> </head>
<body> <body>
<h4>Data Types <small><a href="contents.html" target="index">[back]</a></small></h4> <h4>
<ul> Data Types <small><a href="contents.html" target="index">[back]</a></small>
<li><a href="data/arrays.html">arrays</a></li> </h4>
<li><a href="data/lists.html">lists</a></li> <ul>
<li><a href="data/sets.html">sets</a></li> <li><a href="data/arrays.html">arrays</a></li>
<li><a href="data/tuples.html">tuples</a></li> <li><a href="data/lists.html">lists</a></li>
</ul> <li><a href="data/sequences.html">sequences</a></li>
</body> <li><a href="data/tuples.html">tuples</a></li>
</ul>
</body>
</html> </html>

View File

@ -1,57 +1,64 @@
<html> <html>
<head> <head>
<title>sets.html</title> <title>seqs.html</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<h4>Sets</h4> <h4>
<div> Sets
A <i>set</i> is a group of adjacent parenthesized elements. </h4>
For example, <div>
</div> A <i>seq</i> is a group of adjacent parenthesized elements. For example,
<div class="code"> </div>
(<i>a</i>)(<i>b</i>)(<i>c</i>) <div class="code">
</div> (<i>a</i>)(<i>b</i>)(<i>c</i>)
<div> </div>
...is a <i>set</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>. <div>
</div> ...is a <i>seq</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
<div> </div>
<i>Sets</i> are data structures that merge the properties of both <i>lists</i> and <i>tuples</i> <div>
with the exception that <i>sets</i> cannot be empty.&nbsp; <i>Sets</i> are data structures that merge the properties of both <i>lists</i> and
Therefore, an "empty" <i>set</i> is considered a special case scenario that must be handled separately in C++. <i>tuples</i> with the exception that <i>seqs</i> cannot be empty.&nbsp;
</div> Therefore, an "empty" <i>seq</i> is considered a special case scenario that
<div class="code"><pre> must be handled separately in C++.
#define SET (x)(y)(z) </div>
<div class="code">
<pre>
#define SEQ (x)(y)(z)
#define REVERSE(s, state, elem) (elem) state #define REVERSE(s, state, elem) (elem) state
// append to head ^ // append to head ^
BOOST_PP_SET_FOLD_LEFT(REVERSE, BOOST_PP_EMPTY, SET)() BOOST_PP_SEQ_FOLD_LEFT(REVERSE, BOOST_PP_EMPTY, SEQ)()
// #1 #2 // #1 #2
// 1) placeholder for "empty" set // 1) placeholder for "empty" seq
// 2) remove placeholder // 2) remove placeholder
#define SET_B (1)(2)(3) #define SEQ_B (1)(2)(3)
#define INC(s, state, elem) state (BOOST_PP_INC(elem)) #define INC(s, state, elem) state (BOOST_PP_INC(elem))
// append to tail ^ // append to tail ^
BOOST_PP_SET_FOLD_RIGHT(INC, BOOST_PP_SET_NIL, SET) BOOST_PP_SEQ_FOLD_RIGHT(INC, BOOST_PP_SEQ_NIL, SEQ)
// ^ // ^
// special placeholder that will be "eaten" // special placeholder that will be "eaten"
// by appending to the tail // by appending to the tail
</pre></div> </pre>
<div> </div>
<i>Sets</i> are extremely efficient.&nbsp; <div>
Element access speed approaches random access--even with <i>sets</i> of up to <i>256</i> elements.&nbsp; <i>Sets</i> are extremely efficient.&nbsp; Element access speed approaches
This is because element access (among other things) is implemented iteratively rather than recursively.&nbsp; random access--even with <i>seqs</i> of up to <i>256</i> elements.&nbsp; This
Therefore, elements can be accessed at extremely high indices even on preprocessors with low maximum expansion depths. is because element access (among other things) is implemented iteratively
</div> rather than recursively.&nbsp; Therefore, elements can be accessed at extremely
<div> high indices even on preprocessors with low maximum expansion depths.
Elements of a <i>set</i> can be extracted with </div>
<b>BOOST_PP_SET_ELEM</b>. <div>
</div> Elements of a <i>seq</i> can be extracted with <b>BOOST_PP_SEQ_ELEM</b>.
<h4>Primitives</h4> </div>
<h4>
Primitives
</h4>
<ul> <ul>
<li><a href="../ref/set_elem.html">BOOST_PP_SET_ELEM</a></li> <li>
<a href="../ref/seq_elem.html">BOOST_PP_SEQ_ELEM</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,201 +1,389 @@
<html> <html>
<head> <head>
<title>headers.html</title> <title>headers.html</title>
<link rel="stylesheet" type="text/css" href="styles.css"> <link rel="stylesheet" type="text/css" href="styles.css">
<base target="desc"> <base target="desc">
<style> <style>
.ps { margin-left: 30px; } .ps { margin-left: 30px; }
</style> </style>
</head> </head>
<body> <body>
<h4>Headers <small><a href="contents.html" target="index">[back]</a></small></h4> <h4>
<ul> Headers <small><a href="contents.html" target="index">[back]</a></small>
<li>../</li> </h4>
<li class="ps"><a href="headers/preprocessor.hpp.html">preprocessor.hpp</a></li> <ul>
<li><a href="headers/arithmetic.hpp.html">arithmetic.hpp</a></li> <li>
<li>arithmetic/</li> ../</li>
<li class="ps"><a href="headers/arithmetic/add.hpp.html">add.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/arithmetic/dec.hpp.html">dec.hpp</a></li> <a href="headers/preprocessor.hpp.html">preprocessor.hpp</a></li>
<li class="ps"><a href="headers/arithmetic/div.hpp.html">div.hpp</a></li> <li>
<li class="ps"><a href="headers/arithmetic/inc.hpp.html">inc.hpp</a></li> <a href="headers/arithmetic.hpp.html">arithmetic.hpp</a></li>
<li class="ps"><a href="headers/arithmetic/mod.hpp.html">mod.hpp</a></li> <li>
<li class="ps"><a href="headers/arithmetic/mul.hpp.html">mul.hpp</a></li> arithmetic/</li>
<li class="ps"><a href="headers/arithmetic/sub.hpp.html">sub.hpp</a></li> <li class="ps">
<li><a href="headers/array.hpp.html">array.hpp</a></li> <a href="headers/arithmetic/add.hpp.html">add.hpp</a></li>
<li>array/</li> <li class="ps">
<li class="ps"><a href="headers/array/data.hpp.html">data.hpp</a></li> <a href="headers/arithmetic/dec.hpp.html">dec.hpp</a></li>
<li class="ps"><a href="headers/array/elem.hpp.html">elem.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/array/insert.hpp.html">insert.hpp</a></li> <a href="headers/arithmetic/div.hpp.html">div.hpp</a></li>
<li class="ps"><a href="headers/array/pop_back.hpp.html">pop_back.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/array/pop_front.hpp.html">pop_front.hpp</a></li> <a href="headers/arithmetic/inc.hpp.html">inc.hpp</a></li>
<li class="ps"><a href="headers/array/push_back.hpp.html">push_back.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/array/push_front.hpp.html">push_front.hpp</a></li> <a href="headers/arithmetic/mod.hpp.html">mod.hpp</a></li>
<li class="ps"><a href="headers/array/remove.hpp.html">remove.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/array/replace.hpp.html">replace.hpp</a></li> <a href="headers/arithmetic/mul.hpp.html">mul.hpp</a></li>
<li class="ps"><a href="headers/array/reverse.hpp.html">reverse.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/array/size.hpp.html">size.hpp</a></li> <a href="headers/arithmetic/sub.hpp.html">sub.hpp</a></li>
<li><a href="headers/assert_msg.hpp.html">assert_msg.hpp*</a></li> <li>
<li><a href="headers/cat.hpp.html">cat.hpp</a></li> <a href="headers/array.hpp.html">array.hpp</a></li>
<li><a href="headers/comma.hpp.html">comma.hpp*</a></li> <li>
<li><a href="headers/comma_if.hpp.html">comma_if.hpp*</a></li> array/</li>
<li><a href="headers/comparison.hpp.html">comparison.hpp</a></li> <li class="ps">
<li>comparison/</li> <a href="headers/array/data.hpp.html">data.hpp</a></li>
<li class="ps"><a href="headers/comparison/equal.hpp.html">equal.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/comparison/greater.hpp.html">greater.hpp</a></li> <a href="headers/array/elem.hpp.html">elem.hpp</a></li>
<li class="ps"><a href="headers/comparison/greater_equal.hpp.html">greater_equal.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/comparison/less.hpp.html">less.hpp</a></li> <a href="headers/array/insert.hpp.html">insert.hpp</a></li>
<li class="ps"><a href="headers/comparison/less_equal.hpp.html">less_equal.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/comparison/not_equal.hpp.html">not_equal.hpp</a></li> <a href="headers/array/pop_back.hpp.html">pop_back.hpp</a></li>
<li>config/</li> <li class="ps">
<li class="ps"><a href="headers/config/limits.hpp.html">limits.hpp</a></li> <a href="headers/array/pop_front.hpp.html">pop_front.hpp</a></li>
<li><a href="headers/control.hpp.html">control.hpp</a></li> <li class="ps">
<li>control/</li> <a href="headers/array/push_back.hpp.html">push_back.hpp</a></li>
<li class="ps"><a href="headers/control/deduce_d.hpp.html">deduce_d.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/control/expr_if.hpp.html">expr_if.hpp</a></li> <a href="headers/array/push_front.hpp.html">push_front.hpp</a></li>
<li class="ps"><a href="headers/control/expr_iif.hpp.html">expr_iif.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/control/if.hpp.html">if.hpp</a></li> <a href="headers/array/remove.hpp.html">remove.hpp</a></li>
<li class="ps"><a href="headers/control/iif.hpp.html">iif.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/control/while.hpp.html">while.hpp</a></li> <a href="headers/array/replace.hpp.html">replace.hpp</a></li>
<li><a href="headers/debug.hpp.html">debug.hpp</a></li> <li class="ps">
<li>debug/</li> <a href="headers/array/reverse.hpp.html">reverse.hpp</a></li>
<li class="ps"><a href="headers/debug/assert.hpp.html">assert.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/debug/line.hpp.html">line.hpp</a></li> <a href="headers/array/size.hpp.html">size.hpp</a></li>
<li><a href="headers/dec.hpp.html">dec.hpp*</a></li> <li>
<li><a href="headers/empty.hpp.html">empty.hpp*</a></li> <a href="headers/assert_msg.hpp.html">assert_msg.hpp*</a></li>
<li><a href="headers/enum.hpp.html">enum.hpp*</a></li> <li>
<li><a href="headers/enum_params.hpp.html">enum_params.hpp*</a></li> <a href="headers/cat.hpp.html">cat.hpp</a></li>
<li><a href="headers/enum_params_with_a_default.hpp.html">enum_params_with_a_default.hpp*</a></li> <li>
<li><a href="headers/enum_params_with_defaults.hpp.html">enum_params_with_defaults.hpp*</a></li> <a href="headers/comma.hpp.html">comma.hpp*</a></li>
<li><a href="headers/enum_shifted.hpp.html">enum_shifted.hpp*</a></li> <li>
<li><a href="headers/enum_shifted_params.hpp.html">enum_shifted_params.hpp*</a></li> <a href="headers/comma_if.hpp.html">comma_if.hpp*</a></li>
<li><a href="headers/expand.hpp.html">expand.hpp*</a></li> <li>
<li><a href="headers/expr_if.hpp.html">expr_if.hpp*</a></li> <a href="headers/comparison.hpp.html">comparison.hpp</a></li>
<li><a href="headers/facilities.hpp.html">facilities.hpp</a></li> <li>
<li>facilities/</li> comparison/</li>
<li class="ps"><a href="headers/facilities/apply.hpp.html">apply.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/facilities/empty.hpp.html">empty.hpp</a></li> <a href="headers/comparison/equal.hpp.html">equal.hpp</a></li>
<li class="ps"><a href="headers/facilities/expand.hpp.html">expand.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/facilities/identity.hpp.html">identity.hpp</a></li> <a href="headers/comparison/greater.hpp.html">greater.hpp</a></li>
<li class="ps"><a href="headers/facilities/intercept.hpp.html">intercept.hpp</a></li> <li class="ps">
<li><a href="headers/for.hpp.html">for.hpp*</a></li> <a href="headers/comparison/greater_equal.hpp.html">greater_equal.hpp</a></li>
<li><a href="headers/identity.hpp.html">identity.hpp*</a></li> <li class="ps">
<li><a href="headers/if.hpp.html">if.hpp*</a></li> <a href="headers/comparison/less.hpp.html">less.hpp</a></li>
<li><a href="headers/inc.hpp.html">inc.hpp*</a></li> <li class="ps">
<li><a href="headers/iterate.hpp.html">iterate.hpp*</a></li> <a href="headers/comparison/less_equal.hpp.html">less_equal.hpp</a></li>
<li><a href="headers/iteration.hpp.html">iteration.hpp</a></li> <li class="ps">
<li>iteration/</li> <a href="headers/comparison/not_equal.hpp.html">not_equal.hpp</a></li>
<li class="ps"><a href="headers/iteration/iterate.hpp.html">iterate.hpp</a></li> <li>
<li class="ps"><a href="headers/iteration/local.hpp.html">local.hpp</a></li> config/</li>
<li class="ps"><a href="headers/iteration/self.hpp.html">self.hpp</a></li> <li class="ps">
<li><a href="headers/library.hpp.html">library.hpp</a></li> <a href="headers/config/limits.hpp.html">limits.hpp</a></li>
<li><a href="headers/limits.hpp.html">limits.hpp*</a></li> <li>
<li><a href="headers/list.hpp.html">list.hpp</a></li> <a href="headers/control.hpp.html">control.hpp</a></li>
<li>list/</li> <li>
<li class="ps"><a href="headers/list/adt.hpp.html">adt.hpp</a></li> control/</li>
<li class="ps"><a href="headers/list/append.hpp.html">append.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/list/at.hpp.html">at.hpp</a></li> <a href="headers/control/deduce_d.hpp.html">deduce_d.hpp</a></li>
<li class="ps"><a href="headers/list/cat.hpp.html">cat.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/list/enum.hpp.html">enum.hpp</a></li> <a href="headers/control/expr_if.hpp.html">expr_if.hpp</a></li>
<li class="ps"><a href="headers/list/filter.hpp.html">filter.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/list/first_n.hpp.html">first_n.hpp</a></li> <a href="headers/control/expr_iif.hpp.html">expr_iif.hpp</a></li>
<li class="ps"><a href="headers/list/fold_left.hpp.html">fold_left.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/list/fold_right.hpp.html">fold_right.hpp</a></li> <a href="headers/control/if.hpp.html">if.hpp</a></li>
<li class="ps"><a href="headers/list/for_each.hpp.html">for_each.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/list/for_each_i.hpp.html">for_each_i.hpp</a></li> <a href="headers/control/iif.hpp.html">iif.hpp</a></li>
<li class="ps"><a href="headers/list/for_each_product.hpp.html">for_each_product.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/list/rest_n.hpp.html">rest_n.hpp</a></li> <a href="headers/control/while.hpp.html">while.hpp</a></li>
<li class="ps"><a href="headers/list/reverse.hpp.html">reverse.hpp</a></li> <li>
<li class="ps"><a href="headers/list/size.hpp.html">size.hpp</a></li> <a href="headers/debug.hpp.html">debug.hpp</a></li>
<li class="ps"><a href="headers/list/to_tuple.hpp.html">to_tuple.hpp</a></li> <li>
<li class="ps"><a href="headers/list/transform.hpp.html">transform.hpp</a></li> debug/</li>
<li><a href="headers/logical.hpp.html">logical.hpp</a></li> <li class="ps">
<li>logical/</li> <a href="headers/debug/assert.hpp.html">assert.hpp</a></li>
<li class="ps"><a href="headers/logical/and.hpp.html">and.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/logical/bitand.hpp.html">bitand.hpp</a></li> <a href="headers/debug/line.hpp.html">line.hpp</a></li>
<li class="ps"><a href="headers/logical/bitnor.hpp.html">bitnor.hpp</a></li> <li>
<li class="ps"><a href="headers/logical/bitor.hpp.html">bitor.hpp</a></li> <a href="headers/dec.hpp.html">dec.hpp*</a></li>
<li class="ps"><a href="headers/logical/bitxor.hpp.html">bitxor.hpp</a></li> <li>
<li class="ps"><a href="headers/logical/bool.hpp.html">bool.hpp</a></li> <a href="headers/empty.hpp.html">empty.hpp*</a></li>
<li class="ps"><a href="headers/logical/compl.hpp.html">compl.hpp</a></li> <li>
<li class="ps"><a href="headers/logical/nor.hpp.html">nor.hpp</a></li> <a href="headers/enum.hpp.html">enum.hpp*</a></li>
<li class="ps"><a href="headers/logical/not.hpp.html">not.hpp</a></li> <li>
<li class="ps"><a href="headers/logical/or.hpp.html">or.hpp</a></li> <a href="headers/enum_params.hpp.html">enum_params.hpp*</a></li>
<li class="ps"><a href="headers/logical/xor.hpp.html">xor.hpp</a></li> <li>
<li><a href="headers/max.hpp.html">max.hpp*</a></li> <a href="headers/enum_params_with_a_default.hpp.html">enum_params_with_a_default.hpp*</a></li>
<li><a href="headers/min.hpp.html">min.hpp*</a></li> <li>
<li><a href="headers/punctuation.hpp.html">punctuation.hpp</a></li> <a href="headers/enum_params_with_defaults.hpp.html">enum_params_with_defaults.hpp*</a></li>
<li>punctuation/</li> <li>
<li class="ps"><a href="headers/punctuation/comma.hpp.html">comma.hpp</a></li> <a href="headers/enum_shifted.hpp.html">enum_shifted.hpp*</a></li>
<li class="ps"><a href="headers/punctuation/comma_if.hpp.html">comma_if.hpp</a></li> <li>
<li class="ps"><a href="headers/punctuation/paren.hpp.html">paren.hpp</a></li> <a href="headers/enum_shifted_params.hpp.html">enum_shifted_params.hpp*</a></li>
<li class="ps"><a href="headers/punctuation/paren_if.hpp.html">paren_if.hpp</a></li> <li>
<li><a href="headers/repeat.hpp.html">repeat.hpp*</a></li> <a href="headers/expand.hpp.html">expand.hpp*</a></li>
<li><a href="headers/repeat_2nd.hpp.html">repeat_2nd.hpp*</a></li> <li>
<li><a href="headers/repeat_3rd.hpp.html">repeat_3rd.hpp*</a></li> <a href="headers/expr_if.hpp.html">expr_if.hpp*</a></li>
<li><a href="headers/repeat_from_to.hpp.html">repeat_from_to.hpp*</a></li> <li>
<li><a href="headers/repeat_from_to_2nd.hpp.html">repeat_from_to_2nd.hpp*</a></li> <a href="headers/facilities.hpp.html">facilities.hpp</a></li>
<li><a href="headers/repeat_from_to_3rd.hpp.html">repeat_from_to_3rd.hpp*</a></li> <li>
<li><a href="headers/repetition.hpp.html">repetition.hpp</a></li> facilities/</li>
<li>repetition/</li> <li class="ps">
<li class="ps"><a href="headers/repetition/deduce_r.hpp.html">deduce_r.hpp</a></li> <a href="headers/facilities/apply.hpp.html">apply.hpp</a></li>
<li class="ps"><a href="headers/repetition/deduce_z.hpp.html">deduce_z.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/repetition/enum.hpp.html">enum.hpp</a></li> <a href="headers/facilities/empty.hpp.html">empty.hpp</a></li>
<li class="ps"><a href="headers/repetition/enum_binary_params.hpp.html">enum_binary_params.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/repetition/enum_params.hpp.html">enum_params.hpp</a></li> <a href="headers/facilities/expand.hpp.html">expand.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">
<li class="ps"><a href="headers/repetition/enum_params_with_defaults.hpp.html">enum_params_with_defaults.hpp</a></li> <a href="headers/facilities/identity.hpp.html">identity.hpp</a></li>
<li class="ps"><a href="headers/repetition/enum_shifted_params.hpp.html">enum_shifted_params.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/repetition/enum_shifted.hpp.html">enum_shifted.hpp</a></li> <a href="headers/facilities/intercept.hpp.html">intercept.hpp</a></li>
<li class="ps"><a href="headers/repetition/enum_trailing.hpp.html">enum_trailing.hpp</a></li> <li>
<li class="ps"><a href="headers/repetition/enum_trailing_binary_params.hpp.html">enum_trailing_binary_params.hpp</a></li> <a href="headers/for.hpp.html">for.hpp*</a></li>
<li class="ps"><a href="headers/repetition/enum_trailing_params.hpp.html">enum_trailing_params.hpp</a></li> <li>
<li class="ps"><a href="headers/repetition/for.hpp.html">for.hpp</a></li> <a href="headers/identity.hpp.html">identity.hpp*</a></li>
<li class="ps"><a href="headers/repetition/repeat.hpp.html">repeat.hpp</a></li> <li>
<li class="ps"><a href="headers/repetition/repeat_from_to.hpp.html">repeat_from_to.hpp</a></li> <a href="headers/if.hpp.html">if.hpp*</a></li>
<li><a href="headers/selection.hpp.html">selection.hpp</a></li> <li>
<li>selection/</li> <a href="headers/inc.hpp.html">inc.hpp*</a></li>
<li class="ps"><a href="headers/selection/max.hpp.html">max.hpp</a></li> <li>
<li class="ps"><a href="headers/selection/min.hpp.html">min.hpp</a></li> <a href="headers/iterate.hpp.html">iterate.hpp*</a></li>
<li><a href="headers/set.hpp.html">set.hpp</a></li> <li>
<li>set/</li> <a href="headers/iteration.hpp.html">iteration.hpp</a></li>
<li class="ps"><a href="headers/set/cat.hpp.html">cat.hpp</a></li> <li>
<li class="ps"><a href="headers/set/elem.hpp.html">elem.hpp</a></li> iteration/</li>
<li class="ps"><a href="headers/set/enum.hpp.html">enum.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/set/filter.hpp.html">filter.hpp</a></li> <a href="headers/iteration/iterate.hpp.html">iterate.hpp</a></li>
<li class="ps"><a href="headers/set/first_n.hpp.html">first_n.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/set/fold_left.hpp.html">fold_left.hpp</a></li> <a href="headers/iteration/local.hpp.html">local.hpp</a></li>
<li class="ps"><a href="headers/set/fold_right.hpp.html">fold_right.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/set/for_each.hpp.html">for_each.hpp</a></li> <a href="headers/iteration/self.hpp.html">self.hpp</a></li>
<li class="ps"><a href="headers/set/for_each_i.hpp.html">for_each_i.hpp</a></li> <li>
<li class="ps"><a href="headers/set/for_each_product.hpp.html">for_each_product.hpp</a></li> <a href="headers/library.hpp.html">library.hpp</a></li>
<li class="ps"><a href="headers/set/insert.hpp.html">insert.hpp</a></li> <li>
<li class="ps"><a href="headers/set/pop_back.hpp.html">pop_back.hpp</a></li> <a href="headers/limits.hpp.html">limits.hpp*</a></li>
<li class="ps"><a href="headers/set/pop_front.hpp.html">pop_front.hpp</a></li> <li>
<li class="ps"><a href="headers/set/push_back.hpp.html">push_back.hpp</a></li> <a href="headers/list.hpp.html">list.hpp</a></li>
<li class="ps"><a href="headers/set/push_front.hpp.html">push_front.hpp</a></li> <li>
<li class="ps"><a href="headers/set/remove.hpp.html">remove.hpp</a></li> list/</li>
<li class="ps"><a href="headers/set/replace.hpp.html">replace.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/set/rest_n.hpp.html">rest_n.hpp</a></li> <a href="headers/list/adt.hpp.html">adt.hpp</a></li>
<li class="ps"><a href="headers/set/reverse.hpp.html">reverse.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/set/set.hpp.html">set.hpp</a></li> <a href="headers/list/append.hpp.html">append.hpp</a></li>
<li class="ps"><a href="headers/set/size.hpp.html">size.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/set/subset.hpp.html">subset.hpp</a></li> <a href="headers/list/at.hpp.html">at.hpp</a></li>
<li class="ps"><a href="headers/set/to_array.hpp.html">to_array.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/set/to_tuple.hpp.html">to_tuple.hpp</a></li> <a href="headers/list/cat.hpp.html">cat.hpp</a></li>
<li class="ps"><a href="headers/set/transform.hpp.html">transform.hpp</a></li> <li class="ps">
<li><a href="headers/slot.hpp.html">slot.hpp</a></li> <a href="headers/list/enum.hpp.html">enum.hpp</a></li>
<li>slot/</li> <li class="ps">
<li class="ps"><a href="headers/slot/slot.hpp.html">slot.hpp</a></li> <a href="headers/list/filter.hpp.html">filter.hpp</a></li>
<li><a href="headers/tuple.hpp.html">tuple.hpp</a></li> <li class="ps">
<li>tuple/</li> <a href="headers/list/first_n.hpp.html">first_n.hpp</a></li>
<li class="ps"><a href="headers/tuple/elem.hpp.html">elem.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/tuple/eat.hpp.html">eat.hpp</a></li> <a href="headers/list/fold_left.hpp.html">fold_left.hpp</a></li>
<li class="ps"><a href="headers/tuple/rem.hpp.html">rem.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/tuple/reverse.hpp.html">reverse.hpp</a></li> <a href="headers/list/fold_right.hpp.html">fold_right.hpp</a></li>
<li class="ps"><a href="headers/tuple/to_list.hpp.html">to_list.hpp</a></li> <li class="ps">
<li class="ps"><a href="headers/tuple/to_set.hpp.html">to_set.hpp</a></li> <a href="headers/list/for_each.hpp.html">for_each.hpp</a></li>
<li><a href="headers/stringize.hpp.html">stringize.hpp</a></li> <li class="ps">
<li><a href="headers/while.hpp.html">while.hpp*</a></li> <a href="headers/list/for_each_i.hpp.html">for_each_i.hpp</a></li>
</ul> <li class="ps">
</body> <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/seq.hpp.html">seq.hpp</a></li>
<li>
seq/</li>
<li class="ps">
<a href="headers/seq/cat.hpp.html">cat.hpp</a></li>
<li class="ps">
<a href="headers/seq/elem.hpp.html">elem.hpp</a></li>
<li class="ps">
<a href="headers/seq/enum.hpp.html">enum.hpp</a></li>
<li class="ps">
<a href="headers/seq/filter.hpp.html">filter.hpp</a></li>
<li class="ps">
<a href="headers/seq/first_n.hpp.html">first_n.hpp</a></li>
<li class="ps">
<a href="headers/seq/fold_left.hpp.html">fold_left.hpp</a></li>
<li class="ps">
<a href="headers/seq/fold_right.hpp.html">fold_right.hpp</a></li>
<li class="ps">
<a href="headers/seq/for_each.hpp.html">for_each.hpp</a></li>
<li class="ps">
<a href="headers/seq/for_each_i.hpp.html">for_each_i.hpp</a></li>
<li class="ps">
<a href="headers/seq/for_each_product.hpp.html">for_each_product.hpp</a></li>
<li class="ps">
<a href="headers/seq/insert.hpp.html">insert.hpp</a></li>
<li class="ps">
<a href="headers/seq/pop_back.hpp.html">pop_back.hpp</a></li>
<li class="ps">
<a href="headers/seq/pop_front.hpp.html">pop_front.hpp</a></li>
<li class="ps">
<a href="headers/seq/push_back.hpp.html">push_back.hpp</a></li>
<li class="ps">
<a href="headers/seq/push_front.hpp.html">push_front.hpp</a></li>
<li class="ps">
<a href="headers/seq/remove.hpp.html">remove.hpp</a></li>
<li class="ps">
<a href="headers/seq/replace.hpp.html">replace.hpp</a></li>
<li class="ps">
<a href="headers/seq/rest_n.hpp.html">rest_n.hpp</a></li>
<li class="ps">
<a href="headers/seq/reverse.hpp.html">reverse.hpp</a></li>
<li class="ps">
<a href="headers/seq/seq.hpp.html">seq.hpp</a></li>
<li class="ps">
<a href="headers/seq/size.hpp.html">size.hpp</a></li>
<li class="ps">
<a href="headers/seq/subseq.hpp.html">subseq.hpp</a></li>
<li class="ps">
<a href="headers/seq/to_array.hpp.html">to_array.hpp</a></li>
<li class="ps">
<a href="headers/seq/to_tuple.hpp.html">to_tuple.hpp</a></li>
<li class="ps">
<a href="headers/seq/transform.hpp.html">transform.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 class="ps">
<a href="headers/tuple/to_seq.hpp.html">to_seq.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> </html>

View File

@ -1,29 +1,44 @@
<html> <html>
<head> <head>
<title>config/limits.hpp</title> <title>config/limits.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>config/limits.hpp</b> header defines various library limits. The <b>config/limits.hpp</b> header defines various library limits.
</div> </div>
<h4>Usage</h4> <h4>
Usage
</h4>
<div class="code"> <div class="code">
#include <b>&lt;boost/preprocessor/config/limits.hpp&gt;</b> #include <b>&lt;boost/preprocessor/config/limits.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/limit_dim.html">BOOST_PP_LIMIT_DIM</a></li> <li>
<li><a href="../../ref/limit_for.html">BOOST_PP_LIMIT_FOR</a></li> <a href="../../ref/limit_dim.html">BOOST_PP_LIMIT_DIM</a></li>
<li><a href="../../ref/limit_iteration.html">BOOST_PP_LIMIT_ITERATION</a></li> <li>
<li><a href="../../ref/limit_iteration_dim.html">BOOST_PP_LIMIT_ITERATION_DIM</a></li> <a href="../../ref/limit_for.html">BOOST_PP_LIMIT_FOR</a></li>
<li><a href="../../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a></li> <li>
<li><a href="../../ref/limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li> <a href="../../ref/limit_iteration.html">BOOST_PP_LIMIT_ITERATION</a></li>
<li><a href="../../ref/limit_set.html">BOOST_PP_LIMIT_SET</a></li> <li>
<li><a href="../../ref/limit_slot_count.html">BOOST_PP_LIMIT_SLOT_COUNT</a></li> <a href="../../ref/limit_iteration_dim.html">BOOST_PP_LIMIT_ITERATION_DIM</a></li>
<li><a href="../../ref/limit_slot_sig.html">BOOST_PP_LIMIT_SLOT_SIG</a></li> <li>
<li><a href="../../ref/limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a></li> <a href="../../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
<li><a href="../../ref/limit_while.html">BOOST_PP_LIMIT_WHILE</a></li> <li>
<a href="../../ref/limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
<li>
<a href="../../ref/limit_seq.html">BOOST_PP_LIMIT_SEQ</a></li>
<li>
<a href="../../ref/limit_slot_count.html">BOOST_PP_LIMIT_SLOT_COUNT</a></li>
<li>
<a href="../../ref/limit_slot_sig.html">BOOST_PP_LIMIT_SLOT_SIG</a></li>
<li>
<a href="../../ref/limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a></li>
<li>
<a href="../../ref/limit_while.html">BOOST_PP_LIMIT_WHILE</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,43 +1,72 @@
<html> <html>
<head> <head>
<title>set.hpp</title> <title>seq.hpp</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set.hpp</b> includes the headers in the <i>set</i> folder. The <b>seq.hpp</b> includes the headers in the <i>seq</i> folder.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set.hpp&gt;</b>
</div> </div>
<h4>Includes</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq.hpp&gt;</b>
</div>
<h4>
Includes
</h4>
<ul> <ul>
<li><a href="set/cat.hpp.html">&lt;boost/preprocessor/set/cat.hpp&gt;</a></li> <li>
<li><a href="set/elem.hpp.html">&lt;boost/preprocessor/set/elem.hpp&gt;</a></li> <a href="seq/cat.hpp.html">&lt;boost/preprocessor/seq/cat.hpp&gt;</a></li>
<li><a href="set/enum.hpp.html">&lt;boost/preprocessor/set/enum.hpp&gt;</a></li> <li>
<li><a href="set/filter.hpp.html">&lt;boost/preprocessor/set/filter.hpp&gt;</a></li> <a href="seq/elem.hpp.html">&lt;boost/preprocessor/seq/elem.hpp&gt;</a></li>
<li><a href="set/first_n.hpp.html">&lt;boost/preprocessor/set/first_n.hpp&gt;</a></li> <li>
<li><a href="set/fold_left.hpp.html">&lt;boost/preprocessor/set/fold_left.hpp&gt;</a></li> <a href="seq/enum.hpp.html">&lt;boost/preprocessor/seq/enum.hpp&gt;</a></li>
<li><a href="set/fold_right.hpp.html">&lt;boost/preprocessor/set/fold_right.hpp&gt;</a></li> <li>
<li><a href="set/for_each.hpp.html">&lt;boost/preprocessor/set/for_each.hpp&gt;</a></li> <a href="seq/filter.hpp.html">&lt;boost/preprocessor/seq/filter.hpp&gt;</a></li>
<li><a href="set/for_each_i.hpp.html">&lt;boost/preprocessor/set/for_each_i.hpp&gt;</a></li> <li>
<li><a href="set/for_each_product.hpp.html">&lt;boost/preprocessor/set/for_each_product.hpp&gt;</a></li> <a href="seq/first_n.hpp.html">&lt;boost/preprocessor/seq/first_n.hpp&gt;</a></li>
<li><a href="set/insert.hpp.html">&lt;boost/preprocessor/set/insert.hpp&gt;</a></li> <li>
<li><a href="set/pop_back.hpp.html">&lt;boost/preprocessor/set/pop_back.hpp&gt;</a></li> <a href="seq/fold_left.hpp.html">&lt;boost/preprocessor/seq/fold_left.hpp&gt;</a></li>
<li><a href="set/pop_front.hpp.html">&lt;boost/preprocessor/set/pop_front.hpp&gt;</a></li> <li>
<li><a href="set/push_back.hpp.html">&lt;boost/preprocessor/set/push_back.hpp&gt;</a></li> <a href="seq/fold_right.hpp.html">&lt;boost/preprocessor/seq/fold_right.hpp&gt;</a></li>
<li><a href="set/push_front.hpp.html">&lt;boost/preprocessor/set/push_front.hpp&gt;</a></li> <li>
<li><a href="set/remove.hpp.html">&lt;boost/preprocessor/set/remove.hpp&gt;</a></li> <a href="seq/for_each.hpp.html">&lt;boost/preprocessor/seq/for_each.hpp&gt;</a></li>
<li><a href="set/replace.hpp.html">&lt;boost/preprocessor/set/replace.hpp&gt;</a></li> <li>
<li><a href="set/rest_n.hpp.html">&lt;boost/preprocessor/set/rest_n.hpp&gt;</a></li> <a href="seq/for_each_i.hpp.html">&lt;boost/preprocessor/seq/for_each_i.hpp&gt;</a></li>
<li><a href="set/reverse.hpp.html">&lt;boost/preprocessor/set/reverse.hpp&gt;</a></li> <li>
<li><a href="set/set.hpp.html">&lt;boost/preprocessor/set/set.hpp&gt;</a></li> <a href="seq/for_each_product.hpp.html">&lt;boost/preprocessor/seq/for_each_product.hpp&gt;</a></li>
<li><a href="set/size.hpp.html">&lt;boost/preprocessor/set/size.hpp&gt;</a></li> <li>
<li><a href="set/subset.hpp.html">&lt;boost/preprocessor/set/subset.hpp&gt;</a></li> <a href="seq/insert.hpp.html">&lt;boost/preprocessor/seq/insert.hpp&gt;</a></li>
<li><a href="set/to_array.hpp.html">&lt;boost/preprocessor/set/to_array.hpp&gt;</a></li> <li>
<li><a href="set/to_tuple.hpp.html">&lt;boost/preprocessor/set/to_tuple.hpp&gt;</a></li> <a href="seq/pop_back.hpp.html">&lt;boost/preprocessor/seq/pop_back.hpp&gt;</a></li>
<li><a href="set/transform.hpp.html">&lt;boost/preprocessor/set/transform.hpp&gt;</a></li> <li>
<a href="seq/pop_front.hpp.html">&lt;boost/preprocessor/seq/pop_front.hpp&gt;</a></li>
<li>
<a href="seq/push_back.hpp.html">&lt;boost/preprocessor/seq/push_back.hpp&gt;</a></li>
<li>
<a href="seq/push_front.hpp.html">&lt;boost/preprocessor/seq/push_front.hpp&gt;</a></li>
<li>
<a href="seq/remove.hpp.html">&lt;boost/preprocessor/seq/remove.hpp&gt;</a></li>
<li>
<a href="seq/replace.hpp.html">&lt;boost/preprocessor/seq/replace.hpp&gt;</a></li>
<li>
<a href="seq/rest_n.hpp.html">&lt;boost/preprocessor/seq/rest_n.hpp&gt;</a></li>
<li>
<a href="seq/reverse.hpp.html">&lt;boost/preprocessor/seq/reverse.hpp&gt;</a></li>
<li>
<a href="seq/seq.hpp.html">&lt;boost/preprocessor/seq/seq.hpp&gt;</a></li>
<li>
<a href="seq/size.hpp.html">&lt;boost/preprocessor/seq/size.hpp&gt;</a></li>
<li>
<a href="seq/subseq.hpp.html">&lt;boost/preprocessor/seq/subseq.hpp&gt;</a></li>
<li>
<a href="seq/to_array.hpp.html">&lt;boost/preprocessor/seq/to_array.hpp&gt;</a></li>
<li>
<a href="seq/to_tuple.hpp.html">&lt;boost/preprocessor/seq/to_tuple.hpp&gt;</a></li>
<li>
<a href="seq/transform.hpp.html">&lt;boost/preprocessor/seq/transform.hpp&gt;</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,20 +1,27 @@
<html> <html>
<head> <head>
<title>set/cat.hpp</title> <title>seq/cat.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/cat.hpp</b> header defines macros for concatenating all elements in a <i>set</i>. The <b>seq/cat.hpp</b> header defines macros for concatenating all elements in
</div> a <i>seq</i>.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/cat.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/cat.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_cat.html">BOOST_PP_SET_CAT</a></li> <li>
<li><a href="../../ref/set_cat_s.html">BOOST_PP_SET_CAT_S</a></li> <a href="../../ref/seq_cat.html">BOOST_PP_SEQ_CAT</a></li>
<li>
<a href="../../ref/seq_cat_s.html">BOOST_PP_SEQ_CAT_S</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,24 @@
<html> <html>
<head> <head>
<title>set/elem.hpp</title> <title>seq/elem.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/elem.hpp</b> header defines a macro to extract an element from a <i>set</i>. The <b>seq/elem.hpp</b> header defines a macro to extract an element from a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/elem.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/elem.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_elem.html">BOOST_PP_SET_ELEM</a></li> <li>
<a href="../../ref/seq_elem.html">BOOST_PP_SEQ_ELEM</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,24 @@
<html> <html>
<head> <head>
<title>set/enum.hpp</title> <title>seq/enum.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/enum.hpp</b> header defines a macro to enumerate the elements in a <i>set</i>. The <b>seq/enum.hpp</b> header defines a macro to enumerate the elements in a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/enum.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/enum.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_enum.html">BOOST_PP_SET_ENUM</a></li> <li>
<a href="../../ref/seq_enum.html">BOOST_PP_SEQ_ENUM</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,20 +1,26 @@
<html> <html>
<head> <head>
<title>set/filter.hpp</title> <title>seq/filter.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/filter.hpp</b> header defines macros to filter a <i>set</i>. The <b>seq/filter.hpp</b> header defines macros to filter a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/filter.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/filter.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_filter.html">BOOST_PP_SET_FILTER</a></li> <li>
<li><a href="../../ref/set_filter_s.html">BOOST_PP_SET_FILTER_S</a></li> <a href="../../ref/seq_filter.html">BOOST_PP_SEQ_FILTER</a></li>
<li>
<a href="../../ref/seq_filter_s.html">BOOST_PP_SEQ_FILTER_S</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,25 @@
<html> <html>
<head> <head>
<title>set/first_n.hpp</title> <title>seq/first_n.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/first_n.hpp</b> header defines a macro that returns the first <i>N</i> elements of a <i>set</i>. The <b>seq/first_n.hpp</b> header defines a macro that returns the first <i>N</i>
</div> elements of a <i>seq</i>.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/first_n.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/first_n.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_first_n.html">BOOST_PP_SET_FIRST_N</a></li> <li>
<a href="../../ref/seq_first_n.html">BOOST_PP_SEQ_FIRST_N</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,20 +1,27 @@
<html> <html>
<head> <head>
<title>set/fold_left.hpp</title> <title>seq/fold_left.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/fold_left.hpp</b> header defines macros for folding (or accumulating) a <i>set</i> left-to-right. The <b>seq/fold_left.hpp</b> header defines macros for folding (or
</div> accumulating) a <i>seq</i> left-to-right.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/fold_left.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/fold_left.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_fold_left.html">BOOST_PP_SET_FOLD_LEFT</a></li> <li>
<li><a href="../../ref/set_fold_left_s.html">BOOST_PP_SET_FOLD_LEFT_<i>s</i></a></li> <a href="../../ref/seq_fold_left.html">BOOST_PP_SEQ_FOLD_LEFT</a></li>
<li>
<a href="../../ref/seq_fold_left_s.html">BOOST_PP_SEQ_FOLD_LEFT_<i>s</i></a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,20 +1,27 @@
<html> <html>
<head> <head>
<title>set/fold_right.hpp</title> <title>seq/fold_right.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/fold_right.hpp</b> header defines macros for folding (or accumulating) a <i>set</i> right-to-left. The <b>seq/fold_right.hpp</b> header defines macros for folding (or
</div> accumulating) a <i>seq</i> right-to-left.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/fold_right.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/fold_right.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_fold_right.html">BOOST_PP_SET_FOLD_RIGHT</a></li> <li>
<li><a href="../../ref/set_fold_right_s.html">BOOST_PP_SET_FOLD_RIGHT_<i>s</i></a></li> <a href="../../ref/seq_fold_right.html">BOOST_PP_SEQ_FOLD_RIGHT</a></li>
<li>
<a href="../../ref/seq_fold_right_s.html">BOOST_PP_SEQ_FOLD_RIGHT_<i>s</i></a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,20 +1,27 @@
<html> <html>
<head> <head>
<title>set/for_each.hpp</title> <title>seq/for_each.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/for_each.hpp</b> header defines macros to repeat a macro for each element in a <i>set</i>. The <b>seq/for_each.hpp</b> header defines macros to repeat a macro for each
</div> element in a <i>seq</i>.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/for_each.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/for_each.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_for_each.html">BOOST_PP_SET_FOR_EACH</a></li> <li>
<li><a href="../../ref/set_for_each_r.html">BOOST_PP_SET_FOR_EACH_R</a></li> <a href="../../ref/seq_for_each.html">BOOST_PP_SEQ_FOR_EACH</a></li>
<li>
<a href="../../ref/seq_for_each_r.html">BOOST_PP_SEQ_FOR_EACH_R</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,20 +1,27 @@
<html> <html>
<head> <head>
<title>set/for_each_i.hpp</title> <title>seq/for_each_i.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/for_each_i.hpp</b> header defines macros to repeat a macro for each element in a <i>set</i>. The <b>seq/for_each_i.hpp</b> header defines macros to repeat a macro for each
</div> element in a <i>seq</i>.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/for_each_i.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/for_each_i.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_for_each_i.html">BOOST_PP_SET_FOR_EACH_I</a></li> <li>
<li><a href="../../ref/set_for_each_i_r.html">BOOST_PP_SET_FOR_EACH_I_R</a></li> <a href="../../ref/seq_for_each_i.html">BOOST_PP_SEQ_FOR_EACH_I</a></li>
<li>
<a href="../../ref/seq_for_each_i_r.html">BOOST_PP_SEQ_FOR_EACH_I_R</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,20 +1,27 @@
<html> <html>
<head> <head>
<title>set/for_each_product.hpp</title> <title>seq/for_each_product.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/for_each_product.hpp</b> header defines macros to repeat a macro for each cartesian product of several <i>sets</i>. The <b>seq/for_each_product.hpp</b> header defines macros to repeat a macro for
</div> each cartesian product of several <i>seqs</i>.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/for_each_product.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/for_each_product.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_for_each_product.html">BOOST_PP_SET_FOR_EACH_PRODUCT</a></li> <li>
<li><a href="../../ref/set_for_each_product_r.html">BOOST_PP_SET_FOR_EACH_PRODUCT_R</a></li> <a href="../../ref/seq_for_each_product.html">BOOST_PP_SEQ_FOR_EACH_PRODUCT</a></li>
<li>
<a href="../../ref/seq_for_each_product_r.html">BOOST_PP_SEQ_FOR_EACH_PRODUCT_R</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,24 @@
<html> <html>
<head> <head>
<title>set/insert.hpp</title> <title>seq/insert.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/insert.hpp</b> header defines a macro to insert an element into a <i>set</i>. The <b>seq/insert.hpp</b> header defines a macro to insert an element into a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/insert.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/insert.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_insert.html">BOOST_PP_SET_INSERT</a></li> <li>
<a href="../../ref/seq_insert.html">BOOST_PP_SEQ_INSERT</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,25 @@
<html> <html>
<head> <head>
<title>set/pop_back.hpp</title> <title>seq/pop_back.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/pop_back.hpp</b> header defines a macro to pop the last element off a <i>set</i>. The <b>seq/pop_back.hpp</b> header defines a macro to pop the last element off
</div> a <i>seq</i>.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/pop_back.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/pop_back.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_pop_back.html">BOOST_PP_SET_POP_BACK</a></li> <li>
<a href="../../ref/seq_pop_back.html">BOOST_PP_SEQ_POP_BACK</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,25 @@
<html> <html>
<head> <head>
<title>set/pop_front.hpp</title> <title>seq/pop_front.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/pop_front.hpp</b> header defines a macro to pop the first element off a <i>set</i>. The <b>seq/pop_front.hpp</b> header defines a macro to pop the first element
</div> off a <i>seq</i>.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/pop_front.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/pop_front.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_pop_front.html">BOOST_PP_SET_POP_FRONT</a></li> <li>
<a href="../../ref/seq_pop_front.html">BOOST_PP_SEQ_POP_FRONT</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,24 @@
<html> <html>
<head> <head>
<title>set/push_back.hpp</title> <title>seq/push_back.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/push_back.hpp</b> header defines a macro to append an element to a <i>set</i>. The <b>seq/push_back.hpp</b> header defines a macro to append an element to a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/push_back.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/push_back.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_push_back.html">BOOST_PP_SET_PUSH_BACK</a></li> <li>
<a href="../../ref/seq_push_back.html">BOOST_PP_SEQ_PUSH_BACK</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,24 @@
<html> <html>
<head> <head>
<title>set/push_front.hpp</title> <title>seq/push_front.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/push_front.hpp</b> header defines a macro to prepend an element to a <i>set</i>. The <b>seq/push_front.hpp</b> header defines a macro to prepend an element to a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/push_front.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/push_front.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_push_front.html">BOOST_PP_SET_PUSH_FRONT</a></li> <li>
<a href="../../ref/seq_push_front.html">BOOST_PP_SEQ_PUSH_FRONT</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,24 @@
<html> <html>
<head> <head>
<title>set/remove.hpp</title> <title>seq/remove.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/remove.hpp</b> header defines a macro to remove an element from a <i>set</i>. The <b>seq/remove.hpp</b> header defines a macro to remove an element from a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/remove.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/remove.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_remove.html">BOOST_PP_SET_REMOVE</a></li> <li>
<a href="../../ref/seq_remove.html">BOOST_PP_SEQ_REMOVE</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,24 @@
<html> <html>
<head> <head>
<title>set/replace.hpp</title> <title>seq/replace.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/replace.hpp</b> header defines a macro to replace an element in a <i>set</i>. The <b>seq/replace.hpp</b> header defines a macro to replace an element in a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/replace.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/replace.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_replace.html">BOOST_PP_SET_REPLACE</a></li> <li>
<a href="../../ref/seq_replace.html">BOOST_PP_SEQ_REPLACE</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,25 @@
<html> <html>
<head> <head>
<title>set/rest_n.hpp</title> <title>seq/rest_n.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/rest_n.hpp</b> header defines a macro for extracting a group of elements from the end of a <i>set</i>. The <b>seq/rest_n.hpp</b> header defines a macro for extracting a group of
</div> elements from the end of a <i>seq</i>.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/rest_n.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/rest_n.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_rest_n.html">BOOST_PP_SET_REST_N</a></li> <li>
<a href="../../ref/seq_rest_n.html">BOOST_PP_SEQ_REST_N</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,20 +1,26 @@
<html> <html>
<head> <head>
<title>set/reverse.hpp</title> <title>seq/reverse.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/reverse.hpp</b> header defines macros to reverse a <i>set</i>. The <b>seq/reverse.hpp</b> header defines macros to reverse a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/reverse.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/reverse.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_reverse.html">BOOST_PP_SET_REVERSE</a></li> <li>
<li><a href="../../ref/set_reverse_s.html">BOOST_PP_SET_REVERSE_S</a></li> <a href="../../ref/seq_reverse.html">BOOST_PP_SEQ_REVERSE</a></li>
<li>
<a href="../../ref/seq_reverse_s.html">BOOST_PP_SEQ_REVERSE_S</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,21 +1,28 @@
<html> <html>
<head> <head>
<title>set/set.hpp</title> <title>seq/seq.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/set.hpp</b> header defines basic primitives for manipulating <i>sets</i>. The <b>seq/seq.hpp</b> header defines basic primitives for manipulating <i>seqs</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/set.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/seq.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_head.html">BOOST_PP_SET_HEAD</a></li> <li>
<li><a href="../../ref/set_nil.html">BOOST_PP_SET_NIL</a></li> <a href="../../ref/seq_head.html">BOOST_PP_SEQ_HEAD</a></li>
<li><a href="../../ref/set_tail.html">BOOST_PP_SET_TAIL</a></li> <li>
<a href="../../ref/seq_nil.html">BOOST_PP_SEQ_NIL</a></li>
<li>
<a href="../../ref/seq_tail.html">BOOST_PP_SEQ_TAIL</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,24 @@
<html> <html>
<head> <head>
<title>set/size.hpp</title> <title>seq/size.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/size.hpp</b> header defines a macro to calculate the size of a <i>set</i>. The <b>seq/size.hpp</b> header defines a macro to calculate the size of a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/size.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/size.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_size.html">BOOST_PP_SET_SIZE</a></li> <li>
<a href="../../ref/seq_size.html">BOOST_PP_SEQ_SIZE</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,24 @@
<html> <html>
<head> <head>
<title>set/subset.hpp</title> <title>seq/subseq.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/subset.hpp</b> header defines a macro that extracts a subset from a <i>set</i>. The <b>seq/subseq.hpp</b> header defines a macro that extracts a subseq from a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/subset.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/subseq.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_subset.html">BOOST_PP_SET_SUBSET</a></li> <li>
<a href="../../ref/seq_subseq.html">BOOST_PP_SEQ_SUBSEQ</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,25 @@
<html> <html>
<head> <head>
<title>set/to_array.hpp</title> <title>seq/to_array.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/to_array.hpp</b> header defines a macro that converts a <i>set</i> to an <i>array</i>. The <b>seq/to_array.hpp</b> header defines a macro that converts a <i>seq</i> to
</div> an <i>array</i>.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/to_array.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/to_array.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_to_array.html">BOOST_PP_SET_TO_ARRAY</a></li> <li>
<a href="../../ref/seq_to_array.html">BOOST_PP_SEQ_TO_ARRAY</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,25 @@
<html> <html>
<head> <head>
<title>set/to_tuple.hpp</title> <title>seq/to_tuple.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/to_tuple.hpp</b> header defines a macro that converts a <i>set</i> to an <i>tuple</i>. The <b>seq/to_tuple.hpp</b> header defines a macro that converts a <i>seq</i> to
</div> an <i>tuple</i>.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/to_tuple.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/to_tuple.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_to_tuple.html">BOOST_PP_SET_TO_TUPLE</a></li> <li>
<a href="../../ref/seq_to_tuple.html">BOOST_PP_SEQ_TO_TUPLE</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,20 +1,26 @@
<html> <html>
<head> <head>
<title>set/transform.hpp</title> <title>seq/transform.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>set/transform.hpp</b> header defines macros to transform a <i>set</i>. The <b>seq/transform.hpp</b> header defines macros to transform a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/set/transform.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/transform.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/set_transform.html">BOOST_PP_SET_TRANSFORM</a></li> <li>
<li><a href="../../ref/set_transform_s.html">BOOST_PP_SET_TRANSFORM_S</a></li> <a href="../../ref/seq_transform.html">BOOST_PP_SEQ_TRANSFORM</a></li>
<li>
<a href="../../ref/seq_transform_s.html">BOOST_PP_SEQ_TRANSFORM_S</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,19 +1,25 @@
<html> <html>
<head> <head>
<title>tuple/to_set.hpp</title> <title>tuple/to_seq.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <link rel="stylesheet" type="text/css" href="../../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>tuple/to_set.hpp</b> header defines a macro that converts a <i>tuple</i> to a <i>set</i>. The <b>tuple/to_seq.hpp</b> header defines a macro that converts a <i>tuple</i>
</div> to a <i>seq</i>.
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/tuple/to_set.hpp&gt;</b>
</div> </div>
<h4>Contents</h4> <h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/tuple/to_seq.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul> <ul>
<li><a href="../../ref/tuple_to_set.html">BOOST_PP_TUPLE_TO_SET</a></li> <li>
<a href="../../ref/tuple_to_seq.html">BOOST_PP_TUPLE_TO_SEQ</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,13 +1,14 @@
<html> <html>
<head> <head>
<title>Boost.Preprocessor</title> <title>Boost.Preprocessor</title>
</head> </head>
<frameset rows="65,*" frameborder="0"> <frameset rows="65,*" frameborder="0">
<frame name="top" src="top.html" scrolling="no" noresize> <frame name="top" src="top.html" scrolling="no" noresize>
<frameset cols="350,*" frameborder="0" border="3"> <frameset cols="350,*" frameborder="0" border="3">
<frame name="index" src="contents.html" scrolling="auto"> <frame name="index" src="contents.html" scrolling="auto">
<frame name="desc" src="blank.html" scrolling="auto"> <frame name="desc" src="blank.html" scrolling="auto">
</frameset> </frameseq>
<noframes>..</noframes> <noframes>
</frameset> ..</noframes>
</frameseq>
</html> </html>

View File

@ -1,269 +1,510 @@
<html> <html>
<head> <head>
<title>ref.html</title> <title>ref.html</title>
<link rel="stylesheet" type="text/css" href="styles.css"> <link rel="stylesheet" type="text/css" href="styles.css">
<base target="desc"> <base target="desc">
</head> </head>
<body> <body>
<h4>Reference <small><a href="contents.html" target="index">[back]</a></small></h4> <h4>
<ul> Reference <small><a href="contents.html" target="index">[back]</a></small>
<!-- A --> </h4>
<li><a href="ref/add.html">ADD</a></li> <ul>
<li><a href="ref/add_d.html">ADD_D</a></li> <!-- A -->
<li><a href="ref/and.html">AND</a></li> <li>
<li><a href="ref/apply.html">APPLY</a></li> <a href="ref/add.html">ADD</a></li>
<li><a href="ref/array_data.html">ARRAY_DATA</a></li> <li>
<li><a href="ref/array_elem.html">ARRAY_ELEM</a></li> <a href="ref/add_d.html">ADD_D</a></li>
<li><a href="ref/array_insert.html">ARRAY_INSERT</a></li> <li>
<li><a href="ref/array_insert_d.html">ARRAY_INSERT_D</a></li> <a href="ref/and.html">AND</a></li>
<li><a href="ref/array_pop_back.html">ARRAY_POP_BACK</a></li> <li>
<li><a href="ref/array_pop_back_z.html">ARRAY_POP_BACK_Z</a></li> <a href="ref/apply.html">APPLY</a></li>
<li><a href="ref/array_pop_front.html">ARRAY_POP_FRONT</a></li> <li>
<li><a href="ref/array_pop_front_z.html">ARRAY_POP_FRONT_Z</a></li> <a href="ref/array_data.html">ARRAY_DATA</a></li>
<li><a href="ref/array_push_back.html">ARRAY_PUSH_BACK</a></li> <li>
<li><a href="ref/array_push_front.html">ARRAY_PUSH_FRONT</a></li> <a href="ref/array_elem.html">ARRAY_ELEM</a></li>
<li><a href="ref/array_remove.html">ARRAY_REMOVE</a></li> <li>
<li><a href="ref/array_remove_d.html">ARRAY_REMOVE_D</a></li> <a href="ref/array_insert.html">ARRAY_INSERT</a></li>
<li><a href="ref/array_replace.html">ARRAY_REPLACE</a></li> <li>
<li><a href="ref/array_replace_d.html">ARRAY_REPLACE_D</a></li> <a href="ref/array_insert_d.html">ARRAY_INSERT_D</a></li>
<li><a href="ref/array_reverse.html">ARRAY_REVERSE</a></li> <li>
<li><a href="ref/array_size.html">ARRAY_SIZE</a></li> <a href="ref/array_pop_back.html">ARRAY_POP_BACK</a></li>
<li><a href="ref/assert.html">ASSERT</a></li> <li>
<li><a href="ref/assert_msg.html">ASSERT_MSG</a></li> <a href="ref/array_pop_back_z.html">ARRAY_POP_BACK_Z</a></li>
<li><a href="ref/assign_slot.html">ASSIGN_SLOT</a></li> <li>
<!-- B --> <a href="ref/array_pop_front.html">ARRAY_POP_FRONT</a></li>
<li><a href="ref/bitand.html">BITAND</a></li> <li>
<li><a href="ref/bitnor.html">BITNOR</a></li> <a href="ref/array_pop_front_z.html">ARRAY_POP_FRONT_Z</a></li>
<li><a href="ref/bitor.html">BITOR</a></li> <li>
<li><a href="ref/bitxor.html">BITXOR</a></li> <a href="ref/array_push_back.html">ARRAY_PUSH_BACK</a></li>
<li><a href="ref/bool.html">BOOL</a></li> <li>
<!-- C --> <a href="ref/array_push_front.html">ARRAY_PUSH_FRONT</a></li>
<li><a href="ref/cat.html">CAT</a></li> <li>
<li><a href="ref/comma.html">COMMA</a></li> <a href="ref/array_remove.html">ARRAY_REMOVE</a></li>
<li><a href="ref/comma_if.html">COMMA_IF</a></li> <li>
<li><a href="ref/compl.html">COMPL</a></li> <a href="ref/array_remove_d.html">ARRAY_REMOVE_D</a></li>
<li><a href="ref/config_extended_line_info.html">CONFIG_EXTENDED_LINE_INFO</a></li> <li>
<!-- D --> <a href="ref/array_replace.html">ARRAY_REPLACE</a></li>
<li><a href="ref/dec.html">DEC</a></li> <li>
<li><a href="ref/deduce_d.html">DEDUCE_D</a></li> <a href="ref/array_replace_d.html">ARRAY_REPLACE_D</a></li>
<li><a href="ref/deduce_r.html">DEDUCE_R</a></li> <li>
<li><a href="ref/deduce_z.html">DEDUCE_Z</a></li> <a href="ref/array_reverse.html">ARRAY_REVERSE</a></li>
<li><a href="ref/div.html">DIV</a></li> <li>
<li><a href="ref/div_d.html">DIV_D</a></li> <a href="ref/array_size.html">ARRAY_SIZE</a></li>
<!-- E --> <li>
<li><a href="ref/empty.html">EMPTY</a></li> <a href="ref/assert.html">ASSERT</a></li>
<li><a href="ref/enum.html">ENUM</a></li> <li>
<li><a href="ref/enum_binary_params.html">ENUM_BINARY_PARAMS</a></li> <a href="ref/assert_msg.html">ASSERT_MSG</a></li>
<li><a href="ref/enum_binary_params_z.html">ENUM_BINARY_PARAMS_Z</a></li> <li>
<li><a href="ref/enum_params.html">ENUM_PARAMS</a></li> <a href="ref/assign_slot.html">ASSIGN_SLOT</a></li>
<li><a href="ref/enum_params_with_a_default.html">ENUM_PARAMS_WITH_A_DEFAULT*</a></li> <!-- B -->
<li><a href="ref/enum_params_with_defaults.html">ENUM_PARAMS_WITH_DEFAULTS*</a></li> <li>
<li><a href="ref/enum_params_z.html">ENUM_PARAMS_Z</a></li> <a href="ref/bitand.html">BITAND</a></li>
<li><a href="ref/enum_shifted.html">ENUM_SHIFTED</a></li> <li>
<li><a href="ref/enum_shifted_params.html">ENUM_SHIFTED_PARAMS</a></li> <a href="ref/bitnor.html">BITNOR</a></li>
<li><a href="ref/enum_shifted_params_z.html">ENUM_SHIFTED_PARAMS_Z</a></li> <li>
<li><a href="ref/enum_shifted_z.html">ENUM_SHIFTED_<i>z</i></a></li> <a href="ref/bitor.html">BITOR</a></li>
<li><a href="ref/enum_trailing.html">ENUM_TRAILING</a></li> <li>
<li><a href="ref/enum_trailing_binary_params.html">ENUM_TRAILING_BINARY_PARAMS</a></li> <a href="ref/bitxor.html">BITXOR</a></li>
<li><a href="ref/enum_trailing_binary_params_z.html">ENUM_TRAILING_BINARY_PARAMS_Z</a></li> <li>
<li><a href="ref/enum_trailing_params.html">ENUM_TRAILING_PARAMS</a></li> <a href="ref/bool.html">BOOL</a></li>
<li><a href="ref/enum_trailing_params_z.html">ENUM_TRAILING_PARAMS_Z</a></li> <!-- C -->
<li><a href="ref/enum_trailing_z.html">ENUM_TRAILING_<i>z</i></a></li> <li>
<li><a href="ref/enum_z.html">ENUM_<i>z</i></a></li> <a href="ref/cat.html">CAT</a></li>
<li><a href="ref/equal.html">EQUAL</a></li> <li>
<li><a href="ref/equal_d.html">EQUAL_D*</a></li> <a href="ref/comma.html">COMMA</a></li>
<li><a href="ref/expand.html">EXPAND</a></li> <li>
<li><a href="ref/expr_if.html">EXPR_IF</a></li> <a href="ref/comma_if.html">COMMA_IF</a></li>
<li><a href="ref/expr_iif.html">EXPR_IIF</a></li> <li>
<!-- F --> <a href="ref/compl.html">COMPL</a></li>
<li><a href="ref/filename_x.html">FILENAME_<i>x</i></a></li> <li>
<li><a href="ref/for.html">FOR</a></li> <a href="ref/config_extended_line_info.html">CONFIG_EXTENDED_LINE_INFO</a></li>
<li><a href="ref/for_r.html">FOR_<i>r</i></a></li> <!-- D -->
<li><a href="ref/frame_finish.html">FRAME_FINISH</a></li> <li>
<li><a href="ref/frame_flags.html">FRAME_FLAGS</a></li> <a href="ref/dec.html">DEC</a></li>
<li><a href="ref/frame_iteration.html">FRAME_ITERATION</a></li> <li>
<li><a href="ref/frame_start.html">FRAME_START</a></li> <a href="ref/deduce_d.html">DEDUCE_D</a></li>
<!-- G --> <li>
<li><a href="ref/greater.html">GREATER</a></li> <a href="ref/deduce_r.html">DEDUCE_R</a></li>
<li><a href="ref/greater_d.html">GREATER_D</a></li> <li>
<li><a href="ref/greater_equal.html">GREATER_EQUAL</a></li> <a href="ref/deduce_z.html">DEDUCE_Z</a></li>
<li><a href="ref/greater_equal_d.html">GREATER_EQUAL_D</a></li> <li>
<!-- I --> <a href="ref/div.html">DIV</a></li>
<li><a href="ref/identity.html">IDENTITY</a></li> <li>
<li><a href="ref/if.html">IF</a></li> <a href="ref/div_d.html">DIV_D</a></li>
<li><a href="ref/iif.html">IIF</a></li> <!-- E -->
<li><a href="ref/inc.html">INC</a></li> <li>
<li><a href="ref/include_self.html">INCLUDE_SELF</a></li> <a href="ref/empty.html">EMPTY</a></li>
<li><a href="ref/indirect_self.html">INDIRECT_SELF</a></li> <li>
<li><a href="ref/intercept.html">INTERCEPT</a></li> <a href="ref/enum.html">ENUM</a></li>
<li><a href="ref/is_iterating.html">IS_ITERATING</a></li> <li>
<li><a href="ref/is_selfish.html">IS_SELFISH</a></li> <a href="ref/enum_binary_params.html">ENUM_BINARY_PARAMS</a></li>
<li><a href="ref/iterate.html">ITERATE</a></li> <li>
<li><a href="ref/iteration.html">ITERATION</a></li> <a href="ref/enum_binary_params_z.html">ENUM_BINARY_PARAMS_Z</a></li>
<li><a href="ref/iteration_depth.html">ITERATION_DEPTH</a></li> <li>
<li><a href="ref/iteration_finish.html">ITERATION_FINISH</a></li> <a href="ref/enum_params.html">ENUM_PARAMS</a></li>
<li><a href="ref/iteration_flags.html">ITERATION_FLAGS</a></li> <li>
<li><a href="ref/iteration_limits.html">ITERATION_LIMITS</a></li> <a href="ref/enum_params_with_a_default.html">ENUM_PARAMS_WITH_A_DEFAULT*</a></li>
<li><a href="ref/iteration_params_x.html">ITERATION_PARAMS_<i>x</i></a></li> <li>
<li><a href="ref/iteration_start.html">ITERATION_START</a></li> <a href="ref/enum_params_with_defaults.html">ENUM_PARAMS_WITH_DEFAULTS*</a></li>
<!-- L --> <li>
<li><a href="ref/less.html">LESS</a></li> <a href="ref/enum_params_z.html">ENUM_PARAMS_Z</a></li>
<li><a href="ref/less_d.html">LESS_D</a></li> <li>
<li><a href="ref/less_equal.html">LESS_EQUAL</a></li> <a href="ref/enum_shifted.html">ENUM_SHIFTED</a></li>
<li><a href="ref/less_equal_d.html">LESS_EQUAL_D</a></li> <li>
<li><a href="ref/limit_dim.html">LIMIT_DIM</a></li> <a href="ref/enum_shifted_params.html">ENUM_SHIFTED_PARAMS</a></li>
<li><a href="ref/limit_for.html">LIMIT_FOR</a></li> <li>
<li><a href="ref/limit_iteration.html">LIMIT_ITERATION</a></li> <a href="ref/enum_shifted_params_z.html">ENUM_SHIFTED_PARAMS_Z</a></li>
<li><a href="ref/limit_iteration_dim.html">LIMIT_ITERATION_DIM</a></li> <li>
<li><a href="ref/limit_mag.html">LIMIT_MAG</a></li> <a href="ref/enum_shifted_z.html">ENUM_SHIFTED_<i>z</i></a></li>
<li><a href="ref/limit_repeat.html">LIMIT_REPEAT</a></li> <li>
<li><a href="ref/limit_set.html">LIMIT_SET</a></li> <a href="ref/enum_trailing.html">ENUM_TRAILING</a></li>
<li><a href="ref/limit_slot_count.html">LIMIT_SLOT_COUNT</a></li> <li>
<li><a href="ref/limit_slot_sig.html">LIMIT_SLOT_SIG</a></li> <a href="ref/enum_trailing_binary_params.html">ENUM_TRAILING_BINARY_PARAMS</a></li>
<li><a href="ref/limit_tuple.html">LIMIT_TUPLE</a></li> <li>
<li><a href="ref/limit_while.html">LIMIT_WHILE</a></li> <a href="ref/enum_trailing_binary_params_z.html">ENUM_TRAILING_BINARY_PARAMS_Z</a></li>
<li><a href="ref/line.html">LINE</a></li> <li>
<li><a href="ref/list_append.html">LIST_APPEND</a></li> <a href="ref/enum_trailing_params.html">ENUM_TRAILING_PARAMS</a></li>
<li><a href="ref/list_append_d.html">LIST_APPEND_D</a></li> <li>
<li><a href="ref/list_at.html">LIST_AT</a></li> <a href="ref/enum_trailing_params_z.html">ENUM_TRAILING_PARAMS_Z</a></li>
<li><a href="ref/list_at_d.html">LIST_AT_D</a></li> <li>
<li><a href="ref/list_cat.html">LIST_CAT</a></li> <a href="ref/enum_trailing_z.html">ENUM_TRAILING_<i>z</i></a></li>
<li><a href="ref/list_cat_d.html">LIST_CAT_D</a></li> <li>
<li><a href="ref/list_cons.html">LIST_CONS*</a></li> <a href="ref/enum_z.html">ENUM_<i>z</i></a></li>
<li><a href="ref/list_enum.html">LIST_ENUM</a></li> <li>
<li><a href="ref/list_enum_r.html">LIST_ENUM_R</a></li> <a href="ref/equal.html">EQUAL</a></li>
<li><a href="ref/list_filter.html">LIST_FILTER</a></li> <li>
<li><a href="ref/list_filter_d.html">LIST_FILTER_D</a></li> <a href="ref/equal_d.html">EQUAL_D*</a></li>
<li><a href="ref/list_first.html">LIST_FIRST</a></li> <li>
<li><a href="ref/list_first_n.html">LIST_FIRST_N</a></li> <a href="ref/expand.html">EXPAND</a></li>
<li><a href="ref/list_first_n_d.html">LIST_FIRST_N_D</a></li> <li>
<li><a href="ref/list_fold_left.html">LIST_FOLD_LEFT</a></li> <a href="ref/expr_if.html">EXPR_IF</a></li>
<li><a href="ref/list_fold_left_2nd.html">LIST_FOLD_LEFT_2ND*</a></li> <li>
<li><a href="ref/list_fold_left_2nd_d.html">LIST_FOLD_LEFT_2ND_D*</a></li> <a href="ref/expr_iif.html">EXPR_IIF</a></li>
<li><a href="ref/list_fold_left_d.html">LIST_FOLD_LEFT_<i>d</i></a></li> <!-- F -->
<li><a href="ref/list_fold_left_d_old.html">LIST_FOLD_LEFT_D*</a></li> <li>
<li><a href="ref/list_fold_right.html">LIST_FOLD_RIGHT</a></li> <a href="ref/filename_x.html">FILENAME_<i>x</i></a></li>
<li><a href="ref/list_fold_right_2nd.html">LIST_FOLD_RIGHT_2ND*</a></li> <li>
<li><a href="ref/list_fold_right_2nd_d.html">LIST_FOLD_RIGHT_2ND_D*</a></li> <a href="ref/for.html">FOR</a></li>
<li><a href="ref/list_fold_right_d.html">LIST_FOLD_RIGHT_<i>d</i></a></li> <li>
<li><a href="ref/list_fold_right_d_old.html">LIST_FOLD_RIGHT_D*</a></li> <a href="ref/for_r.html">FOR_<i>r</i></a></li>
<li><a href="ref/list_for_each.html">LIST_FOR_EACH</a></li> <li>
<li><a href="ref/list_for_each_i.html">LIST_FOR_EACH_I</a></li> <a href="ref/frame_finish.html">FRAME_FINISH</a></li>
<li><a href="ref/list_for_each_i_r.html">LIST_FOR_EACH_I_R</a></li> <li>
<li><a href="ref/list_for_each_product.html">LIST_FOR_EACH_PRODUCT</a></li> <a href="ref/frame_flags.html">FRAME_FLAGS</a></li>
<li><a href="ref/list_for_each_product_r.html">LIST_FOR_EACH_PRODUCT_R</a></li> <li>
<li><a href="ref/list_for_each_r.html">LIST_FOR_EACH_R</a></li> <a href="ref/frame_iteration.html">FRAME_ITERATION</a></li>
<li><a href="ref/list_is_cons.html">LIST_IS_CONS</a></li> <li>
<li><a href="ref/list_is_nil.html">LIST_IS_NIL</a></li> <a href="ref/frame_start.html">FRAME_START</a></li>
<li><a href="ref/list_nil.html">LIST_NIL*</a></li> <!-- G -->
<li><a href="ref/list_rest.html">LIST_REST</a></li> <li>
<li><a href="ref/list_rest_n.html">LIST_REST_N</a></li> <a href="ref/greater.html">GREATER</a></li>
<li><a href="ref/list_rest_n_d.html">LIST_REST_N_D</a></li> <li>
<li><a href="ref/list_reverse.html">LIST_REVERSE</a></li> <a href="ref/greater_d.html">GREATER_D</a></li>
<li><a href="ref/list_reverse_d.html">LIST_REVERSE_D</a></li> <li>
<li><a href="ref/list_size.html">LIST_SIZE</a></li> <a href="ref/greater_equal.html">GREATER_EQUAL</a></li>
<li><a href="ref/list_size_d.html">LIST_SIZE_D</a></li> <li>
<li><a href="ref/list_to_tuple.html">LIST_TO_TUPLE</a></li> <a href="ref/greater_equal_d.html">GREATER_EQUAL_D</a></li>
<li><a href="ref/list_to_tuple_r.html">LIST_TO_TUPLE_R</a></li> <!-- I -->
<li><a href="ref/list_transform.html">LIST_TRANSFORM</a></li> <li>
<li><a href="ref/list_transform_d.html">LIST_TRANSFORM_D</a></li> <a href="ref/identity.html">IDENTITY</a></li>
<li><a href="ref/local_iterate.html">LOCAL_ITERATE</a></li> <li>
<li><a href="ref/local_limits.html">LOCAL_LIMITS</a></li> <a href="ref/if.html">IF</a></li>
<li><a href="ref/local_macro.html">LOCAL_MACRO</a></li> <li>
<li><a href="ref/lparen.html">LPAREN</a></li> <a href="ref/iif.html">IIF</a></li>
<li><a href="ref/lparen_if.html">LPAREN_IF</a></li> <li>
<!-- M --> <a href="ref/inc.html">INC</a></li>
<li><a href="ref/max.html">MAX</a></li> <li>
<li><a href="ref/max_d.html">MAX_D</a></li> <a href="ref/include_self.html">INCLUDE_SELF</a></li>
<li><a href="ref/min.html">MIN</a></li> <li>
<li><a href="ref/min_d.html">MIN_D</a></li> <a href="ref/indirect_self.html">INDIRECT_SELF</a></li>
<li><a href="ref/mod.html">MOD</a></li> <li>
<li><a href="ref/mod_d.html">MOD_D</a></li> <a href="ref/intercept.html">INTERCEPT</a></li>
<li><a href="ref/mul.html">MUL</a></li> <li>
<li><a href="ref/mul_d.html">MUL_D</a></li> <a href="ref/is_iterating.html">IS_ITERATING</a></li>
<!-- N --> <li>
<li><a href="ref/nil.html">NIL</a></li> <a href="ref/is_selfish.html">IS_SELFISH</a></li>
<li><a href="ref/nor.html">NOR</a></li> <li>
<li><a href="ref/not.html">NOT</a></li> <a href="ref/iterate.html">ITERATE</a></li>
<li><a href="ref/not_equal.html">NOT_EQUAL</a></li> <li>
<li><a href="ref/not_equal_d.html">NOT_EQUAL_D*</a></li> <a href="ref/iteration.html">ITERATION</a></li>
<!-- O --> <li>
<li><a href="ref/or.html">OR</a></li> <a href="ref/iteration_depth.html">ITERATION_DEPTH</a></li>
<!-- R --> <li>
<li><a href="ref/relative_finish.html">RELATIVE_FINISH</a></li> <a href="ref/iteration_finish.html">ITERATION_FINISH</a></li>
<li><a href="ref/relative_flags.html">RELATIVE_FLAGS</a></li> <li>
<li><a href="ref/relative_iteration.html">RELATIVE_ITERATION</a></li> <a href="ref/iteration_flags.html">ITERATION_FLAGS</a></li>
<li><a href="ref/relative_start.html">RELATIVE_START</a></li> <li>
<li><a href="ref/repeat.html">REPEAT</a></li> <a href="ref/iteration_limits.html">ITERATION_LIMITS</a></li>
<li><a href="ref/repeat_1st.html">REPEAT_1ST*</a></li> <li>
<li><a href="ref/repeat_2nd.html">REPEAT_2ND*</a></li> <a href="ref/iteration_params_x.html">ITERATION_PARAMS_<i>x</i></a></li>
<li><a href="ref/repeat_3rd.html">REPEAT_3RD*</a></li> <li>
<li><a href="ref/repeat_from_to.html">REPEAT_FROM_TO</a></li> <a href="ref/iteration_start.html">ITERATION_START</a></li>
<li><a href="ref/repeat_from_to_1st.html">REPEAT_FROM_TO_1ST*</a></li> <!-- L -->
<li><a href="ref/repeat_from_to_2nd.html">REPEAT_FROM_TO_2ND*</a></li> <li>
<li><a href="ref/repeat_from_to_3rd.html">REPEAT_FROM_TO_3RD*</a></li> <a href="ref/less.html">LESS</a></li>
<li><a href="ref/repeat_from_to_d.html">REPEAT_FROM_TO_D</a></li> <li>
<li><a href="ref/repeat_from_to_d_z.html">REPEAT_FROM_TO_D_<i>z</i></a></li> <a href="ref/less_d.html">LESS_D</a></li>
<li><a href="ref/repeat_from_to_z.html">REPEAT_FROM_TO_<i>z</i></a></li> <li>
<li><a href="ref/repeat_z.html">REPEAT_<i>z</i></a></li> <a href="ref/less_equal.html">LESS_EQUAL</a></li>
<li><a href="ref/rparen.html">RPAREN</a></li> <li>
<li><a href="ref/rparen_if.html">RPAREN_IF</a></li> <a href="ref/less_equal_d.html">LESS_EQUAL_D</a></li>
<!-- S --> <li>
<li><a href="ref/set_cat.html">SET_CAT</a></li> <a href="ref/limit_dim.html">LIMIT_DIM</a></li>
<li><a href="ref/set_cat_s.html">SET_CAT_S</a></li> <li>
<li><a href="ref/set_elem.html">SET_ELEM</a></li> <a href="ref/limit_for.html">LIMIT_FOR</a></li>
<li><a href="ref/set_enum.html">SET_ENUM</a></li> <li>
<li><a href="ref/set_filter.html">SET_FILTER</a></li> <a href="ref/limit_iteration.html">LIMIT_ITERATION</a></li>
<li><a href="ref/set_filter_s.html">SET_FILTER_S</a></li> <li>
<li><a href="ref/set_first_n.html">SET_FIRST_N</a></li> <a href="ref/limit_iteration_dim.html">LIMIT_ITERATION_DIM</a></li>
<li><a href="ref/set_fold_left.html">SET_FOLD_LEFT</a></li> <li>
<li><a href="ref/set_fold_left_s.html">SET_FOLD_LEFT_<i>s</i></a></li> <a href="ref/limit_mag.html">LIMIT_MAG</a></li>
<li><a href="ref/set_fold_right.html">SET_FOLD_RIGHT</a></li> <li>
<li><a href="ref/set_fold_right_s.html">SET_FOLD_RIGHT_<i>s</i></a></li> <a href="ref/limit_repeat.html">LIMIT_REPEAT</a></li>
<li><a href="ref/set_for_each.html">SET_FOR_EACH</a></li> <li>
<li><a href="ref/set_for_each_i.html">SET_FOR_EACH_I</a></li> <a href="ref/limit_seq.html">LIMIT_SEQ</a></li>
<li><a href="ref/set_for_each_i_r.html">SET_FOR_EACH_I_R</a></li> <li>
<li><a href="ref/set_for_each_product.html">SET_FOR_EACH_PRODUCT</a></li> <a href="ref/limit_slot_count.html">LIMIT_SLOT_COUNT</a></li>
<li><a href="ref/set_for_each_product_r.html">SET_FOR_EACH_PRODUCT_R</a></li> <li>
<li><a href="ref/set_for_each_r.html">SET_FOR_EACH_R</a></li> <a href="ref/limit_slot_sig.html">LIMIT_SLOT_SIG</a></li>
<li><a href="ref/set_head.html">SET_HEAD</a></li> <li>
<li><a href="ref/set_insert.html">SET_INSERT</a></li> <a href="ref/limit_tuple.html">LIMIT_TUPLE</a></li>
<li><a href="ref/set_nil.html">SET_NIL</a></li> <li>
<li><a href="ref/set_pop_back.html">SET_POP_BACK</a></li> <a href="ref/limit_while.html">LIMIT_WHILE</a></li>
<li><a href="ref/set_pop_front.html">SET_POP_FRONT</a></li> <li>
<li><a href="ref/set_push_back.html">SET_PUSH_BACK</a></li> <a href="ref/line.html">LINE</a></li>
<li><a href="ref/set_push_front.html">SET_PUSH_FRONT</a></li> <li>
<li><a href="ref/set_remove.html">SET_REMOVE</a></li> <a href="ref/list_append.html">LIST_APPEND</a></li>
<li><a href="ref/set_replace.html">SET_REPLACE</a></li> <li>
<li><a href="ref/set_rest_n.html">SET_REST_N</a></li> <a href="ref/list_append_d.html">LIST_APPEND_D</a></li>
<li><a href="ref/set_reverse.html">SET_REVERSE</a></li> <li>
<li><a href="ref/set_reverse_s.html">SET_REVERSE_S</a></li> <a href="ref/list_at.html">LIST_AT</a></li>
<li><a href="ref/set_size.html">SET_SIZE</a></li> <li>
<li><a href="ref/set_subset.html">SET_SUBSET</a></li> <a href="ref/list_at_d.html">LIST_AT_D</a></li>
<li><a href="ref/set_tail.html">SET_TAIL</a></li> <li>
<li><a href="ref/set_to_array.html">SET_TO_ARRAY</a></li> <a href="ref/list_cat.html">LIST_CAT</a></li>
<li><a href="ref/set_to_tuple.html">SET_TO_TUPLE</a></li> <li>
<li><a href="ref/set_transform.html">SET_TRANSFORM</a></li> <a href="ref/list_cat_d.html">LIST_CAT_D</a></li>
<li><a href="ref/set_transform_s.html">SET_TRANSFORM_S</a></li> <li>
<li><a href="ref/slot.html">SLOT</a></li> <a href="ref/list_cons.html">LIST_CONS*</a></li>
<li><a href="ref/stringize.html">STRINGIZE</a></li> <li>
<li><a href="ref/sub.html">SUB</a></li> <a href="ref/list_enum.html">LIST_ENUM</a></li>
<li><a href="ref/sub_d.html">SUB_D</a></li> <li>
<!-- T --> <a href="ref/list_enum_r.html">LIST_ENUM_R</a></li>
<li><a href="ref/tuple_eat.html">TUPLE_EAT</a></li> <li>
<li><a href="ref/tuple_elem.html">TUPLE_ELEM</a></li> <a href="ref/list_filter.html">LIST_FILTER</a></li>
<li><a href="ref/tuple_rem.html">TUPLE_REM</a></li> <li>
<li><a href="ref/tuple_rem_ctor.html">TUPLE_REM_CTOR</a></li> <a href="ref/list_filter_d.html">LIST_FILTER_D</a></li>
<li><a href="ref/tuple_reverse.html">TUPLE_REVERSE</a></li> <li>
<li><a href="ref/tuple_to_list.html">TUPLE_TO_LIST</a></li> <a href="ref/list_first.html">LIST_FIRST</a></li>
<li><a href="ref/tuple_to_set.html">TUPLE_TO_SET</a></li> <li>
<!-- V --> <a href="ref/list_first_n.html">LIST_FIRST_N</a></li>
<li><a href="ref/value.html">VALUE</a></li> <li>
<!-- W --> <a href="ref/list_first_n_d.html">LIST_FIRST_N_D</a></li>
<li><a href="ref/while.html">WHILE</a></li> <li>
<li><a href="ref/while_d.html">WHILE_<i>d</i></a></li> <a href="ref/list_fold_left.html">LIST_FOLD_LEFT</a></li>
<!-- X --> <li>
<li><a href="ref/xor.html">XOR</a></li> <a href="ref/list_fold_left_2nd.html">LIST_FOLD_LEFT_2ND*</a></li>
</ul> <li>
</body> <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/seq_cat.html">SEQ_CAT</a></li>
<li>
<a href="ref/seq_cat_s.html">SEQ_CAT_S</a></li>
<li>
<a href="ref/seq_elem.html">SEQ_ELEM</a></li>
<li>
<a href="ref/seq_enum.html">SEQ_ENUM</a></li>
<li>
<a href="ref/seq_filter.html">SEQ_FILTER</a></li>
<li>
<a href="ref/seq_filter_s.html">SEQ_FILTER_S</a></li>
<li>
<a href="ref/seq_first_n.html">SEQ_FIRST_N</a></li>
<li>
<a href="ref/seq_fold_left.html">SEQ_FOLD_LEFT</a></li>
<li>
<a href="ref/seq_fold_left_s.html">SEQ_FOLD_LEFT_<i>s</i></a></li>
<li>
<a href="ref/seq_fold_right.html">SEQ_FOLD_RIGHT</a></li>
<li>
<a href="ref/seq_fold_right_s.html">SEQ_FOLD_RIGHT_<i>s</i></a></li>
<li>
<a href="ref/seq_for_each.html">SEQ_FOR_EACH</a></li>
<li>
<a href="ref/seq_for_each_i.html">SEQ_FOR_EACH_I</a></li>
<li>
<a href="ref/seq_for_each_i_r.html">SEQ_FOR_EACH_I_R</a></li>
<li>
<a href="ref/seq_for_each_product.html">SEQ_FOR_EACH_PRODUCT</a></li>
<li>
<a href="ref/seq_for_each_product_r.html">SEQ_FOR_EACH_PRODUCT_R</a></li>
<li>
<a href="ref/seq_for_each_r.html">SEQ_FOR_EACH_R</a></li>
<li>
<a href="ref/seq_head.html">SEQ_HEAD</a></li>
<li>
<a href="ref/seq_insert.html">SEQ_INSERT</a></li>
<li>
<a href="ref/seq_nil.html">SEQ_NIL</a></li>
<li>
<a href="ref/seq_pop_back.html">SEQ_POP_BACK</a></li>
<li>
<a href="ref/seq_pop_front.html">SEQ_POP_FRONT</a></li>
<li>
<a href="ref/seq_push_back.html">SEQ_PUSH_BACK</a></li>
<li>
<a href="ref/seq_push_front.html">SEQ_PUSH_FRONT</a></li>
<li>
<a href="ref/seq_remove.html">SEQ_REMOVE</a></li>
<li>
<a href="ref/seq_replace.html">SEQ_REPLACE</a></li>
<li>
<a href="ref/seq_rest_n.html">SEQ_REST_N</a></li>
<li>
<a href="ref/seq_reverse.html">SEQ_REVERSE</a></li>
<li>
<a href="ref/seq_reverse_s.html">SEQ_REVERSE_S</a></li>
<li>
<a href="ref/seq_size.html">SEQ_SIZE</a></li>
<li>
<a href="ref/seq_subseq.html">SEQ_SUBSEQ</a></li>
<li>
<a href="ref/seq_tail.html">SEQ_TAIL</a></li>
<li>
<a href="ref/seq_to_array.html">SEQ_TO_ARRAY</a></li>
<li>
<a href="ref/seq_to_tuple.html">SEQ_TO_TUPLE</a></li>
<li>
<a href="ref/seq_transform.html">SEQ_TRANSFORM</a></li>
<li>
<a href="ref/seq_transform_s.html">SEQ_TRANSFORM_S</a></li>
<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_rem_ctor.html">TUPLE_REM_CTOR</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>
<li>
<a href="ref/tuple_to_seq.html">TUPLE_TO_SEQ</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> </html>

View File

@ -1,33 +1,43 @@
<html> <html>
<head> <head>
<title>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</title> <title>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head>
</head> <body>
<body> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> The <b>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</b> is a user-defined macro that
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. determines whether <b>BOOST_PP_LINE</b> outputs extended <i>file-iteration</i> state
</div> information.
<h4>Usage</h4> </div>
<h4>
Usage
</h4>
<div class="code"> <div class="code">
#define <b>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</b> <i>n</i> #define <b>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</b> <i>n</i>
</div> </div>
<h4>Arguments</h4> <h4>
Arguments
</h4>
<dl> <dl>
<dt>n</dt> <dt>n</dt>
<dd> <dd>
The value that determines if <b>BOOST_PP_LINE</b> outputs extended <i>file-iteration</i> information.&nbsp; The value that determines if <b>BOOST_PP_LINE</b> outputs extended <i>file-iteration</i>
This value must be <i>0</i> or <i>1</i>. information.&nbsp; This value must be <i>0</i> or <i>1</i>.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
If <i>n</i> is <i>1</i>, <b>BOOST_PP_LINE</b> will output extended data.&nbsp; If <i>n</i> is <i>1</i>, <b>BOOST_PP_LINE</b> will output extended data.&nbsp;
By default, this macro is set to <i>0</i>. By default, this macro is seq to <i>0</i>.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="line.html">BOOST_PP_LINE</a></li> <li>
<a href="line.html">BOOST_PP_LINE</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -1,23 +1,30 @@
<html> <html>
<head> <head>
<title>BOOST_PP_LIMIT_SET</title> <title>BOOST_PP_LIMIT_SEQ</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_LIMIT_SET</b> macro defines the maximum <i>set</i> size supported by the library. The <b>BOOST_PP_LIMIT_SEQ</b> macro defines the maximum <i>seq</i> size
</div> supported by the library.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_LIMIT_SET</b>
</div> </div>
<h4>Remarks</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_LIMIT_SEQ</b>
</div>
<h4>
Remarks
</h4>
<div> <div>
This macro currently expands to <i>256</i>. This macro currently expands to <i>256</i>.
</div> </div>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/config/limits.hpp.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/config/limits.hpp.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,45 +1,60 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_CAT</title> <title>BOOST_PP_SEQ_CAT</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_CAT</b> macro concatenates all elements in a <i>set</i>. The <b>BOOST_PP_SEQ_CAT</b> macro concatenates all elements in a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_CAT</b>(<i>list</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_CAT</b>(<i>list</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> whose elements are to be concatenated. The <i>seq</i> whose elements are to be concatenated.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
Elements are concatenated left-to-right starting with index <i>0</i>. Elements are concatenated left-to-right starting with index <i>0</i>.
</div> </div>
<div> <div>
For maximum efficiency, use <b>BOOST_PP_SET_CAT_S</b>. For maximum efficiency, use <b>BOOST_PP_SEQ_CAT_S</b>.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_cat_s.html">BOOST_PP_SET_CAT_S</a></li> <li>
<a href="seq_cat_s.html">BOOST_PP_SEQ_CAT_S</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/cat.hpp.html">&lt;boost/preprocessor/set/cat.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/cat.hpp.html">&lt;boost/preprocessor/seq/cat.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/cat.hpp.html">boost/preprocessor/set/cat.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/cat.hpp.html">boost/preprocessor/seq/cat.hpp</a>&gt;
#define SET (a)(b)(c) #define SEQ (a)(b)(c)
<a href="set_cat.html">BOOST_PP_SET_CAT</a>(SET) // expands to abc <a href="seq_cat.html">BOOST_PP_SEQ_CAT</a>(SEQ) // expands to abc
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,39 +1,50 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_CAT_S</title> <title>BOOST_PP_SEQ_CAT_S</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_CAT_S</b> macro concatenates all elements in a <i>set</i>.&nbsp; The <b>BOOST_PP_SEQ_CAT_S</b> macro concatenates all elements in a <i>seq</i>.&nbsp;
It reenters <b>BOOST_PP_SET_FOLD_LEFT</b> with maximum efficiency. It reenters <b>BOOST_PP_SEQ_FOLD_LEFT</b> with maximum efficiency.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_CAT_S</b>(<i>s</i>, <i>list</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_CAT_S</b>(<i>s</i>, <i>list</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>s</dt> <dt>s</dt>
<dd> <dd>
The next available <b>BOOST_PP_SET_FOLD_LEFT</b> fold step. The next available <b>BOOST_PP_SEQ_FOLD_LEFT</b> fold step.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> whose elements are to be concatenated. The <i>seq</i> whose elements are to be concatenated.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
Elements are concatenated left-to-right starting with index <i>0</i>. Elements are concatenated left-to-right starting with index <i>0</i>.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_cat.html">BOOST_PP_SET_CAT</a></li> <li>
<a href="seq_cat.html">BOOST_PP_SEQ_CAT</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/cat.hpp.html">&lt;boost/preprocessor/set/cat.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/cat.hpp.html">&lt;boost/preprocessor/seq/cat.hpp&gt;</a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,42 +1,54 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_ELEM</title> <title>BOOST_PP_SEQ_ELEM</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_ELEM</b> macro extracts an element from a <i>set</i>. The <b>BOOST_PP_SEQ_ELEM</b> macro extracts an element from a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_ELEM</b>(<i>i</i>, <i>list</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_ELEM</b>(<i>i</i>, <i>list</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>i</dt> <dt>i</dt>
<dd> <dd>
The zero-based index of the element to be extracted. The zero-based index of the element to be extracted.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> from which an element is to be extracted. The <i>seq</i> from which an element is to be extracted.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
The index <i>i</i> must be in the range of <i>0</i> to <b>BOOST_PP_SET_SIZE</b>(<i>set</i>) - <i>1</i>. The index <i>i</i> must be in the range of <i>0</i> to <b>BOOST_PP_SEQ_SIZE</b>(<i>seq</i>)
- <i>1</i>.
</div> </div>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/elem.hpp.html">&lt;boost/preprocessor/set/elem.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/elem.hpp.html">&lt;boost/preprocessor/seq/elem.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/elem.hpp.html">boost/preprocessor/set/elem.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/elem.hpp.html">boost/preprocessor/seq/elem.hpp</a>&gt;
<a href="set_elem.html">BOOST_PP_SET_ELEM</a>(1, (a)(b)(c)) // expands to b <a href="seq_elem.html">BOOST_PP_SEQ_ELEM</a>(1, (a)(b)(c)) // expands to b
#define SET \ #define SEQ \
(0)(1)(2)(3)(4)(5)(6)(7)(8)(9) \ (0)(1)(2)(3)(4)(5)(6)(7)(8)(9) \
(10)(11)(12)(13)(14)(15)(16)(17)(18)(19) \ (10)(11)(12)(13)(14)(15)(16)(17)(18)(19) \
(20)(21)(22)(23)(24)(25)(26)(27)(28)(29) \ (20)(21)(22)(23)(24)(25)(26)(27)(28)(29) \
@ -49,7 +61,8 @@
(90)(91)(92)(93)(94)(95)(96)(97)(98)(99) \ (90)(91)(92)(93)(94)(95)(96)(97)(98)(99) \
/**/ /**/
<a href="set_elem.html">BOOST_PP_SET_ELEM</a>(88, SET) // expands to 88 <a href="seq_elem.html">BOOST_PP_SEQ_ELEM</a>(88, SEQ) // expands to 88
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,42 +1,55 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_ENUM</title> <title>BOOST_PP_SEQ_ENUM</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_ENUM</b> macro enumerates the elements in a <i>set</i>. The <b>BOOST_PP_SEQ_ENUM</b> macro enumerates the elements in a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_ENUM</b>(<i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_ENUM</b>(<i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> from whose elements are to be enumerated. The <i>seq</i> from whose elements are to be enumerated.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro expands to a comma-separated list of the elements in <i>set</i>.&nbsp; This macro expands to a comma-separated list of the elements in <i>seq</i>.&nbsp;
For example, <b>BOOST_PP_SET_ENUM</b>((<i>x</i>)(<i>y</i>)(<i>z</i>)) expands to... For example, <b>BOOST_PP_SEQ_ENUM</b>((<i>x</i>)(<i>y</i>)(<i>z</i>)) expands
to...
<div> <div>
<i>x</i>, <i>y</i>, <i>z</i> <i>x</i>, <i>y</i>, <i>z</i>
</div> </div>
</div> </div>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/enum.hpp.html">&lt;boost/preprocessor/set/enum.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/enum.hpp.html">&lt;boost/preprocessor/seq/enum.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/enum.hpp.html">boost/preprocessor/set/enum.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/enum.hpp.html">boost/preprocessor/seq/enum.hpp</a>&gt;
#define SET (B)(O)(O)(S)(T) #define SEQ (B)(O)(O)(S)(T)
<a href="set_enum.html">BOOST_PP_SET_ENUM</a>(SET) // expands to B, O, O, S, T <a href="seq_enum.html">BOOST_PP_SEQ_ENUM</a>(SEQ) // expands to B, O, O, S, T
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,63 +1,82 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FILTER</title> <title>BOOST_PP_SEQ_FILTER</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FILTER</b> macro filters a <i>set</i> according to a supplied criterion. The <b>BOOST_PP_SEQ_FILTER</b> macro filters a <i>seq</i> according to a
</div> supplied criterion.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FILTER</b>(<i>pred</i>, <i>data</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FILTER</b>(<i>pred</i>, <i>data</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>pred</dt> <dt>pred</dt>
<dd> <dd>
A ternary predicate of the form <i>pred</i>(<i>s</i>, <i>data</i>, <i>elem</i>).&nbsp; A ternary predicate of the form <i>pred</i>(<i>s</i>, <i>data</i>, <i>elem</i>).&nbsp;
This predicate is expanded by <b>BOOST_PP_SET_FILTER</b> for each element in <i>set</i> with the next available <b>BOOST_PP_SET_FOLD_LEFT</b> fold step, This predicate is expanded by <b>BOOST_PP_SEQ_FILTER</b> for each element in <i>seq</i>
the auxiliary <i>data</i>, and the current element in <i>set</i>.&nbsp; with the next available <b>BOOST_PP_SEQ_FOLD_LEFT</b> fold step, the auxiliary <i>data</i>,
This macro must return a integral value in the range of <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.&nbsp; and the current element in <i>seq</i>.&nbsp; This macro must return a integral
If this predicate expands to non-zero for a certain element, that element is included in the resulting <i>set</i>. value in the range of <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.&nbsp; If this
predicate expands to non-zero for a certain element, that element is included
in the resulting <i>seq</i>.
</dd> </dd>
<dt>data</dt> <dt>data</dt>
<dd> <dd>
Auxiliary data passed to <i>pred</i>. Auxiliary data passed to <i>pred</i>.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be filtered. The <i>seq</i> to be filtered.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro expands <i>pred</i> for each element in <i>set</i>.&nbsp; This macro expands <i>pred</i> for each element in <i>seq</i>.&nbsp; It builds
It builds a new <i>set</i> out of each element for which <i>pred</i> returns non-zero. a new <i>seq</i> out of each element for which <i>pred</i> returns non-zero.
</div> </div>
<div> <div>
For maximum efficiency, use <b>BOOST_PP_SET_FILTER_S</b>. For maximum efficiency, use <b>BOOST_PP_SEQ_FILTER_S</b>.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li> <li>
<li><a href="set_filter_s.html">BOOST_PP_SET_FILTER_S</a></li> <a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
<li>
<a href="seq_filter_s.html">BOOST_PP_SEQ_FILTER_S</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/filter.hpp.html">&lt;boost/preprocessor/set/filter.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/filter.hpp.html">&lt;boost/preprocessor/seq/filter.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
</h4>
<div>
<pre>
#include &lt;<a href="../headers/comparison/less_equal.hpp.html">boost/preprocessor/comparison/less_equal.hpp</a>&gt; #include &lt;<a href="../headers/comparison/less_equal.hpp.html">boost/preprocessor/comparison/less_equal.hpp</a>&gt;
#include &lt;<a href="../headers/set/filter.hpp.html">boost/preprocessor/set/filter.hpp</a>&gt; #include &lt;<a href="../headers/seq/filter.hpp.html">boost/preprocessor/seq/filter.hpp</a>&gt;
#define SET (1)(3)(2)(5) #define SEQ (1)(3)(2)(5)
#define PRED(s, data, elem) <a href="less_equal.html">BOOST_PP_LESS_EQUAL</a>(elem, data) #define PRED(s, data, elem) <a href="less_equal.html">BOOST_PP_LESS_EQUAL</a>(elem, data)
<a href="set_filter.html">BOOST_PP_SET_FILTER</a>(PRED, 3, SET) <a href="seq_filter.html">BOOST_PP_SEQ_FILTER</a>(PRED, 3, SEQ)
// expands to (1)(3)(2) // expands to (1)(3)(2)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,53 +1,68 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FILTER_S</title> <title>BOOST_PP_SEQ_FILTER_S</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FILTER_S</b> macro filters a <i>set</i> according to a supplied criterion.&nbsp; The <b>BOOST_PP_SEQ_FILTER_S</b> macro filters a <i>seq</i> according to a
It reenters <b>BOOST_PP_SET_FOLD_LEFT</b> with maximum efficiency. supplied criterion.&nbsp; It reenters <b>BOOST_PP_SEQ_FOLD_LEFT</b> with
</div> maximum efficiency.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FILTER_S</b>(<i>s</i>, <i>pred</i>, <i>data</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FILTER_S</b>(<i>s</i>, <i>pred</i>, <i>data</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>s</dt> <dt>s</dt>
<dd> <dd>
The next available <b>BOOST_PP_SET_FOLD_LEFT</b> fold step. The next available <b>BOOST_PP_SEQ_FOLD_LEFT</b> fold step.
</dd> </dd>
<dt>pred</dt> <dt>pred</dt>
<dd> <dd>
A ternary predicate of the form <i>pred</i>(<i>s</i>, <i>data</i>, <i>elem</i>).&nbsp; A ternary predicate of the form <i>pred</i>(<i>s</i>, <i>data</i>, <i>elem</i>).&nbsp;
This predicate is expanded by <b>BOOST_PP_SET_FILTER</b> for each element in <i>set</i> with the next available <b>BOOST_PP_SET_FOLD_LEFT</b> fold step, This predicate is expanded by <b>BOOST_PP_SEQ_FILTER</b> for each element in <i>seq</i>
the auxiliary <i>data</i>, and the current element in <i>set</i>.&nbsp; with the next available <b>BOOST_PP_SEQ_FOLD_LEFT</b> fold step, the auxiliary <i>data</i>,
This macro must return a integral value in the range of <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.&nbsp; and the current element in <i>seq</i>.&nbsp; This macro must return a integral
If this predicate expands to non-zero for a certain element, that element is included in the resulting <i>set</i>. value in the range of <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.&nbsp; If this
predicate expands to non-zero for a certain element, that element is included
in the resulting <i>seq</i>.
</dd> </dd>
<dt>data</dt> <dt>data</dt>
<dd> <dd>
Auxiliary data passed to <i>pred</i>. Auxiliary data passed to <i>pred</i>.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be filtered. The <i>seq</i> to be filtered.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro expands <i>pred</i> for each element in <i>set</i>.&nbsp; This macro expands <i>pred</i> for each element in <i>seq</i>.&nbsp; It builds
It builds a new <i>set</i> out of each element for which <i>pred</i> returns non-zero. a new <i>seq</i> out of each element for which <i>pred</i> returns non-zero.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li> <li>
<li><a href="set_filter.html">BOOST_PP_SET_FILTER</a></li> <a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
<li>
<a href="seq_filter.html">BOOST_PP_SEQ_FILTER</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/filter.hpp.html">&lt;boost/preprocessor/set/filter.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/filter.hpp.html">&lt;boost/preprocessor/seq/filter.hpp&gt;</a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,17 +1,22 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FIRST_N</title> <title>BOOST_PP_SEQ_FIRST_N</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FIRST_N</b> macro expands to a <i>set</i> of the first <i>n</i> elements of a <i>set</i>. The <b>BOOST_PP_SEQ_FIRST_N</b> macro expands to a <i>seq</i> of the first <i>n</i>
</div> elements of a <i>seq</i>.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FIRST_N</b>(<i>n</i>, <i>list</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FIRST_N</b>(<i>n</i>, <i>list</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>n</dt> <dt>n</dt>
<dd> <dd>
@ -19,28 +24,40 @@
</dd> </dd>
<dt>list</dt> <dt>list</dt>
<dd> <dd>
The <i>set</i> from which the elements are extracted. The <i>seq</i> from which the elements are extracted.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro extracts <i>n</i> elements from the beginning of <i>set</i> and returns them as a new <i>set</i> This macro extracts <i>n</i> elements from the beginning of <i>seq</i> and
returns them as a new <i>seq</i>
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_rest_n.html">BOOST_PP_SET_REST_N</a></li> <li>
<a href="seq_rest_n.html">BOOST_PP_SEQ_REST_N</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/first_n.hpp.html">&lt;boost/preprocessor/set/first_n.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/first_n.hpp.html">&lt;boost/preprocessor/seq/first_n.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/first_n.hpp.html">boost/preprocessor/set/first_n.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/first_n.hpp.html">boost/preprocessor/seq/first_n.hpp</a>&gt;
#define SET (a)(b)(c)(d)(e) #define SEQ (a)(b)(c)(d)(e)
<a href="set_first_n.html">BOOST_PP_SET_FIRST_N</a>(2, SET) // expands to (a)(b) <a href="seq_first_n.html">BOOST_PP_SEQ_FIRST_N</a>(2, SEQ) // expands to (a)(b)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,62 +1,79 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FOLD_LEFT</title> <title>BOOST_PP_SEQ_FOLD_LEFT</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FOLD_LEFT</b> macro folds (or accumulates) the elements of a <i>set</i> left-to-right. The <b>BOOST_PP_SEQ_FOLD_LEFT</b> macro folds (or accumulates) the elements of
</div> a <i>seq</i> left-to-right.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FOLD_LEFT</b>(<i>op</i>, <i>state</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FOLD_LEFT</b>(<i>op</i>, <i>state</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>op</dt> <dt>op</dt>
<dd> <dd>
A ternary operation of the form <i>op</i>(<i>s</i>, <i>state</i>, <i>elem</i>).&nbsp; A ternary operation of the form <i>op</i>(<i>s</i>, <i>state</i>, <i>elem</i>).&nbsp;
This macro is called for each element in <i>set</i>--each time returning a new <i>state</i>.&nbsp; This macro is called for each element in <i>seq</i>--each time returning a new <i>state</i>.&nbsp;
This operation is expanded by <b>BOOST_PP_SET_FOLD_LEFT</b> with the next available fold step, This operation is expanded by <b>BOOST_PP_SEQ_FOLD_LEFT</b> with the next
the current <i>state</i>, and the current element. available fold step, the current <i>state</i>, and the current element.
</dd> </dd>
<dt>state</dt> <dt>state</dt>
<dd> <dd>
The initial state of the fold. The initial state of the fold.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be folded. The <i>seq</i> to be folded.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
For the <i>set</i>, (<i>0</i>)(<i>1</i>)(<i>2</i>), this macro expands to: For the <i>seq</i>, (<i>0</i>)(<i>1</i>)(<i>2</i>), this macro expands to:
<div> <div>
<i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>state</i>, <i>0</i>), <i>1</i>), <i>2</i>) <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>state</i>, <i>0</i>),
<i>1</i>), <i>2</i>)
</div> </div>
</div> </div>
<div> <div>
For maximum efficiency, <b>BOOST_PP_SET_FOLD_LEFT</b> can be reentered with <b>BOOST_PP_SET_FOLD_LEFT_<i>s</i></b>. For maximum efficiency, <b>BOOST_PP_SEQ_FOLD_LEFT</b> can be reentered with <b>BOOST_PP_SEQ_FOLD_LEFT_<i>s</i></b>.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_fold_left_s.html">BOOST_PP_SET_FOLD_LEFT_<i>s</i></a></li> <li>
<a href="seq_fold_left_s.html">BOOST_PP_SEQ_FOLD_LEFT_<i>s</i></a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/fold_left.hpp.html">&lt;boost/preprocessor/set/fold_left.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/fold_left.hpp.html">&lt;boost/preprocessor/seq/fold_left.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
</h4>
<div>
<pre>
#include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt; #include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt;
#include &lt;<a href="../headers/set/fold_left.hpp.html">boost/preprocessor/set/fold_left.hpp</a>&gt; #include &lt;<a href="../headers/seq/fold_left.hpp.html">boost/preprocessor/seq/fold_left.hpp</a>&gt;
#define SET (b)(o)(o)(s)(t) #define SEQ (b)(o)(o)(s)(t)
#define OP(s, state, x) <a href="cat.html">BOOST_PP_CAT</a>(state, x) #define OP(s, state, x) <a href="cat.html">BOOST_PP_CAT</a>(state, x)
<a href="set_fold_left.html">BOOST_PP_SET_FOLD_LEFT</a>(OP, <a href="set_head.html">BOOST_PP_SET_HEAD</a>(SET), <a href="set_tail.html">BOOST_PP_SET_TAIL</a>(SET)) // expands to boost <a href="seq_fold_left.html">BOOST_PP_SEQ_FOLD_LEFT</a>(OP, <a href="seq_head.html">BOOST_PP_SEQ_HEAD</a>(SEQ), <a href="seq_tail.html">BOOST_PP_SEQ_TAIL</a>(SEQ)) // expands to boost
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,68 +1,85 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FOLD_LEFT_s</title> <title>BOOST_PP_SEQ_FOLD_LEFT_s</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FOLD_LEFT_<i>s</i></b> macro folds (or accumulates) the elements of a <i>set</i> left-to-right.&nbsp; The <b>BOOST_PP_SEQ_FOLD_LEFT_<i>s</i></b> macro folds (or accumulates) the
It reenters <b>BOOST_PP_SET_FOLD_LEFT</b> with maximum efficiency. elements of a <i>seq</i> left-to-right.&nbsp; It reenters <b>BOOST_PP_SEQ_FOLD_LEFT</b>
</div> with maximum efficiency.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FOLD_LEFT_</b> ## <i>s</i>(<i>op</i>, <i>state</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FOLD_LEFT_</b> ## <i>s</i>(<i>op</i>, <i>state</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>s</dt> <dt>s</dt>
<dd> <dd>
The next available <b>BOOST_PP_SET_FOLD_LEFT</b> fold step. The next available <b>BOOST_PP_SEQ_FOLD_LEFT</b> fold step.
</dd> </dd>
<dt>op</dt> <dt>op</dt>
<dd> <dd>
A ternary operation of the form <i>op</i>(<i>s</i>, <i>state</i>, <i>elem</i>).&nbsp; A ternary operation of the form <i>op</i>(<i>s</i>, <i>state</i>, <i>elem</i>).&nbsp;
This macro is called for each element in <i>set</i>--each time returning a new <i>state</i>.&nbsp; This macro is called for each element in <i>seq</i>--each time returning a new <i>state</i>.&nbsp;
This operation is expanded by <b>BOOST_PP_SET_FOLD_LEFT</b> with the next available fold step, This operation is expanded by <b>BOOST_PP_SEQ_FOLD_LEFT</b> with the next
the current <i>state</i>, and the current element. available fold step, the current <i>state</i>, and the current element.
</dd> </dd>
<dt>state</dt> <dt>state</dt>
<dd> <dd>
The initial state of the fold. The initial state of the fold.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be folded. The <i>seq</i> to be folded.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
For the <i>set</i>, (<i>0</i>)(<i>1</i>)(<i>2</i>), this macro expands to: For the <i>seq</i>, (<i>0</i>)(<i>1</i>)(<i>2</i>), this macro expands to:
<div> <div>
<i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>state</i>, <i>0</i>), <i>1</i>), <i>2</i>) <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>state</i>, <i>0</i>),
<i>1</i>), <i>2</i>)
</div> </div>
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_fold_left.html">BOOST_PP_SET_FOLD_LEFT</a></li> <li>
<a href="seq_fold_left.html">BOOST_PP_SEQ_FOLD_LEFT</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/fold_left.hpp.html">&lt;boost/preprocessor/set/fold_left.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/fold_left.hpp.html">&lt;boost/preprocessor/seq/fold_left.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
</h4>
<div>
<pre>
#include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt; #include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt;
#include &lt;<a href="../headers/set/fold_left.hpp.html">boost/preprocessor/set/fold_left.hpp</a>&gt; #include &lt;<a href="../headers/seq/fold_left.hpp.html">boost/preprocessor/seq/fold_left.hpp</a>&gt;
#include &lt;<a href="../headers/set/set.hpp.html">boost/preprocessor/set/set.hpp</a>&gt; #include &lt;<a href="../headers/seq/seq.hpp.html">boost/preprocessor/seq/seq.hpp</a>&gt;
#define S1 (a)(b)(c) #define S1 (a)(b)(c)
#define S2 (S1)(S1)(S1) #define S2 (S1)(S1)(S1)
#define OP(s, state, x) state (<a href="set_fold_left_s.html">BOOST_PP_SET_FOLD_LEFT_</a> ## s(OP_2, _, x)) #define OP(s, state, x) state (<a href="seq_fold_left_s.html">BOOST_PP_SEQ_FOLD_LEFT_</a> ## s(OP_2, _, x))
#define OP_2(s, state, x) <a href="cat.html">BOOST_PP_CAT</a>(state, x) #define OP_2(s, state, x) <a href="cat.html">BOOST_PP_CAT</a>(state, x)
<a href="set_fold_left.html">BOOST_PP_SET_FOLD_LEFT</a>(OP, <a href="set_nil.html">BOOST_PP_SET_NIL</a>, S2) <a href="seq_fold_left.html">BOOST_PP_SEQ_FOLD_LEFT</a>(OP, <a href="seq_nil.html">BOOST_PP_SEQ_NIL</a>, S2)
// expands to (_abc)(_abc)(_abc) // expands to (_abc)(_abc)(_abc)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,64 +1,81 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FOLD_RIGHT</title> <title>BOOST_PP_SEQ_FOLD_RIGHT</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FOLD_RIGHT</b> macro folds (or accumulates) the elements of a <i>set</i> right-to-left. The <b>BOOST_PP_SEQ_FOLD_RIGHT</b> macro folds (or accumulates) the elements of
</div> a <i>seq</i> right-to-left.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FOLD_RIGHT</b>(<i>op</i>, <i>state</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FOLD_RIGHT</b>(<i>op</i>, <i>state</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>op</dt> <dt>op</dt>
<dd> <dd>
A ternary operation of the form <i>op</i>(<i>s</i>, <i>state</i>, <i>elem</i>).&nbsp; A ternary operation of the form <i>op</i>(<i>s</i>, <i>state</i>, <i>elem</i>).&nbsp;
This macro is called for each element in <i>set</i>--each time returning a new <i>state</i>.&nbsp; This macro is called for each element in <i>seq</i>--each time returning a new <i>state</i>.&nbsp;
This operation is expanded by <b>BOOST_PP_SET_FOLD_RIGHT</b> with the next available fold step, This operation is expanded by <b>BOOST_PP_SEQ_FOLD_RIGHT</b> with the next
the current <i>state</i>, and the current element. available fold step, the current <i>state</i>, and the current element.
</dd> </dd>
<dt>state</dt> <dt>state</dt>
<dd> <dd>
The initial state of the fold. The initial state of the fold.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be folded. The <i>seq</i> to be folded.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
For the <i>set</i>, (<i>0</i>)(<i>1</i>)(<i>2</i>), this macro expands to: For the <i>seq</i>, (<i>0</i>)(<i>1</i>)(<i>2</i>), this macro expands to:
<div> <div>
<i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>state</i>, <i>2</i>), <i>1</i>), <i>0</i>) <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>state</i>, <i>2</i>),
<i>1</i>), <i>0</i>)
</div> </div>
</div> </div>
<div> <div>
For maximum efficiency, <b>BOOST_PP_SET_FOLD_RIGHT</b> can be reentered with <b>BOOST_PP_SET_FOLD_RIGHT_<i>s</i></b>. For maximum efficiency, <b>BOOST_PP_SEQ_FOLD_RIGHT</b> can be reentered with <b>BOOST_PP_SEQ_FOLD_RIGHT_<i>s</i></b>.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_fold_right_s.html">BOOST_PP_SET_FOLD_RIGHT_<i>s</i></a></li> <li>
<a href="seq_fold_right_s.html">BOOST_PP_SEQ_FOLD_RIGHT_<i>s</i></a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/fold_right.hpp.html">&lt;boost/preprocessor/set/fold_right.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/fold_right.hpp.html">&lt;boost/preprocessor/seq/fold_right.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
</h4>
<div>
<pre>
#include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt; #include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt;
#include &lt;<a href="../headers/set/elem.hpp.html">boost/preprocessor/set/elem.hpp</a>&gt; #include &lt;<a href="../headers/seq/elem.hpp.html">boost/preprocessor/seq/elem.hpp</a>&gt;
#include &lt;<a href="../headers/set/fold_right.hpp.html">boost/preprocessor/set/fold_right.hpp</a>&gt; #include &lt;<a href="../headers/seq/fold_right.hpp.html">boost/preprocessor/seq/fold_right.hpp</a>&gt;
#include &lt;<a href="../headers/set/pop_back.hpp.html">boost/preprocessor/set/pop_back.hpp</a>&gt; #include &lt;<a href="../headers/seq/pop_back.hpp.html">boost/preprocessor/seq/pop_back.hpp</a>&gt;
#define SET (t)(s)(o)(o)(b) #define SEQ (t)(s)(o)(o)(b)
#define OP(s, state, x) <a href="cat.html">BOOST_PP_CAT</a>(state, x) #define OP(s, state, x) <a href="cat.html">BOOST_PP_CAT</a>(state, x)
<a href="set_fold_right.html">BOOST_PP_SET_FOLD_RIGHT</a>(OP, <a href="set_elem.html">BOOST_PP_SET_ELEM</a>(4, SET), <a href="set_pop_back.html">BOOST_PP_SET_POP_BACK</a>(SET)) // expands to boost <a href="seq_fold_right.html">BOOST_PP_SEQ_FOLD_RIGHT</a>(OP, <a href="seq_elem.html">BOOST_PP_SEQ_ELEM</a>(4, SEQ), <a href="seq_pop_back.html">BOOST_PP_SEQ_POP_BACK</a>(SEQ)) // expands to boost
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,69 +1,86 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FOLD_RIGHT_s</title> <title>BOOST_PP_SEQ_FOLD_RIGHT_s</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FOLD_RIGHT_<i>s</i></b> macro folds (or accumulates) the elements of a <i>set</i> right-to-left.&nbsp; The <b>BOOST_PP_SEQ_FOLD_RIGHT_<i>s</i></b> macro folds (or accumulates) the
It reenters <b>BOOST_PP_SET_FOLD_RIGHT</b> with maximum efficiency. elements of a <i>seq</i> right-to-left.&nbsp; It reenters <b>BOOST_PP_SEQ_FOLD_RIGHT</b>
</div> with maximum efficiency.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FOLD_RIGHT_</b> ## <i>s</i>(<i>op</i>, <i>state</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FOLD_RIGHT_</b> ## <i>s</i>(<i>op</i>, <i>state</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>s</dt> <dt>s</dt>
<dd> <dd>
The next available <b>BOOST_PP_SET_FOLD_LEFT</b> fold step. The next available <b>BOOST_PP_SEQ_FOLD_LEFT</b> fold step.
</dd> </dd>
<dt>op</dt> <dt>op</dt>
<dd> <dd>
A ternary operation of the form <i>op</i>(<i>s</i>, <i>state</i>, <i>elem</i>).&nbsp; A ternary operation of the form <i>op</i>(<i>s</i>, <i>state</i>, <i>elem</i>).&nbsp;
This macro is called for each element in <i>set</i>--each time returning a new <i>state</i>.&nbsp; This macro is called for each element in <i>seq</i>--each time returning a new <i>state</i>.&nbsp;
This operation is expanded by <b>BOOST_PP_SET_FOLD_RIGHT</b> with the next available fold step, This operation is expanded by <b>BOOST_PP_SEQ_FOLD_RIGHT</b> with the next
the current <i>state</i>, and the current element. available fold step, the current <i>state</i>, and the current element.
</dd> </dd>
<dt>state</dt> <dt>state</dt>
<dd> <dd>
The initial state of the fold. The initial state of the fold.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be folded. The <i>seq</i> to be folded.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
For the <i>set</i>, (<i>0</i>)(<i>1</i>)(<i>2</i>), this macro expands to: For the <i>seq</i>, (<i>0</i>)(<i>1</i>)(<i>2</i>), this macro expands to:
<div> <div>
<i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>state</i>, <i>2</i>), <i>1</i>), <i>0</i>) <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>op</i>(<i>s</i>, <i>state</i>, <i>2</i>),
<i>1</i>), <i>0</i>)
</div> </div>
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_fold_right.html">BOOST_PP_SET_FOLD_RIGHT</a></li> <li>
<a href="seq_fold_right.html">BOOST_PP_SEQ_FOLD_RIGHT</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/fold_right.hpp.html">&lt;boost/preprocessor/set/fold_right.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/fold_right.hpp.html">&lt;boost/preprocessor/seq/fold_right.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
</h4>
<div>
<pre>
#include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt; #include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt;
#include &lt;<a href="../headers/set/fold_left.hpp.html">boost/preprocessor/set/fold_left.hpp</a>&gt; #include &lt;<a href="../headers/seq/fold_left.hpp.html">boost/preprocessor/seq/fold_left.hpp</a>&gt;
#include &lt;<a href="../headers/set/fold_right.hpp.html">boost/preprocessor/set/fold_right.hpp</a>&gt; #include &lt;<a href="../headers/seq/fold_right.hpp.html">boost/preprocessor/seq/fold_right.hpp</a>&gt;
#include &lt;<a href="../headers/set/set.hpp.html">boost/preprocessor/set/set.hpp</a>&gt; #include &lt;<a href="../headers/seq/seq.hpp.html">boost/preprocessor/seq/seq.hpp</a>&gt;
#define S1 (a)(b)(c) #define S1 (a)(b)(c)
#define S2 (S1)(S1)(S1) #define S2 (S1)(S1)(S1)
#define OP(s, state, x) state (<a href="set_fold_left_s.html">BOOST_PP_SET_FOLD_RIGHT_</a> ## s(OP_2, _, x)) #define OP(s, state, x) state (<a href="seq_fold_left_s.html">BOOST_PP_SEQ_FOLD_RIGHT_</a> ## s(OP_2, _, x))
#define OP_2(s, state, x) <a href="cat.html">BOOST_PP_CAT</a>(state, x) #define OP_2(s, state, x) <a href="cat.html">BOOST_PP_CAT</a>(state, x)
<a href="set_fold_left.html">BOOST_PP_SET_FOLD_LEFT</a>(OP, <a href="set_nil.html">BOOST_PP_SET_NIL</a>, S2) <a href="seq_fold_left.html">BOOST_PP_SEQ_FOLD_LEFT</a>(OP, <a href="seq_nil.html">BOOST_PP_SEQ_NIL</a>, S2)
// expands to (_cba)(_cba)(_cba) // expands to (_cba)(_cba)(_cba)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,62 +1,79 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FOR_EACH</title> <title>BOOST_PP_SEQ_FOR_EACH</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FOR_EACH</b> macro repeats a macro for each element in a <i>set</i>. The <b>BOOST_PP_SEQ_FOR_EACH</b> macro repeats a macro for each element in a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FOR_EACH</b>(<i>macro</i>, <i>data</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FOR_EACH</b>(<i>macro</i>, <i>data</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>macro</dt> <dt>macro</dt>
<dd> <dd>
A ternary macro of the form <i>macro</i>(<i>r</i>, <i>data</i>, <i>elem</i>).&nbsp; A ternary macro of the form <i>macro</i>(<i>r</i>, <i>data</i>, <i>elem</i>).&nbsp;
This macro is expanded by <b>BOOST_PP_SET_FOR_EACH</b> with each element in <i>set</i>.&nbsp; This macro is expanded by <b>BOOST_PP_SEQ_FOR_EACH</b> with each element in <i>seq</i>.&nbsp;
It is expanded with the next available <b>BOOST_PP_FOR</b> repetition, the auxiliary <i>data</i>, and the current element. It is expanded with the next available <b>BOOST_PP_FOR</b> repetition, the
auxiliary <i>data</i>, and the current element.
</dd> </dd>
<dt>data</dt> <dt>data</dt>
<dd> <dd>
Auxiliary data passed to <i>macro</i>. Auxiliary data passed to <i>macro</i>.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> for which <i>macro</i> will be invoked on each element. The <i>seq</i> for which <i>macro</i> will be invoked on each element.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro is a repetition construct.&nbsp; This macro is a repetition construct.&nbsp; If <i>seq</i> is (<i>a</i>)(<i>b</i>)(<i>c</i>),
If <i>set</i> is (<i>a</i>)(<i>b</i>)(<i>c</i>), it expands to the sequence: it expands to the sequence:
<div> <div>
<i>macro</i>(<i>r</i>, <i>data</i>, <i>a</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>b</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>c</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>a</i>) <i>macro</i>(<i>r</i>, <i>data</i>,
<i>b</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>c</i>)
</div> </div>
</div> </div>
<div> <div>
For maximum efficiency, use <b>BOOST_PP_SET_FOR_EACH_R</b>. For maximum efficiency, use <b>BOOST_PP_SEQ_FOR_EACH_R</b>.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_for_each_r.html">BOOST_PP_SET_FOR_EACH_R</a></li> <li>
<a href="seq_for_each_r.html">BOOST_PP_SEQ_FOR_EACH_R</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/for_each.hpp.html">&lt;boost/preprocessor/set/for_each.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/for_each.hpp.html">&lt;boost/preprocessor/seq/for_each.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
</h4>
<div>
<pre>
#include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt; #include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt;
#include &lt;<a href="../headers/set/for_each.hpp.html">boost/preprocessor/set/for_each.hpp</a>&gt; #include &lt;<a href="../headers/seq/for_each.hpp.html">boost/preprocessor/seq/for_each.hpp</a>&gt;
#define SET (w)(x)(y)(z) #define SEQ (w)(x)(y)(z)
#define MACRO(r, data, elem) <a href="cat.html">BOOST_PP_CAT</a>(elem, data) #define MACRO(r, data, elem) <a href="cat.html">BOOST_PP_CAT</a>(elem, data)
<a href="set_for_each.html">BOOST_PP_SET_FOR_EACH</a>(MACRO, _, SET) // expands to w_ x_ y_ z_ <a href="seq_for_each.html">BOOST_PP_SEQ_FOR_EACH</a>(MACRO, _, SEQ) // expands to w_ x_ y_ z_
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,62 +1,80 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FOR_EACH_I</title> <title>BOOST_PP_SEQ_FOR_EACH_I</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FOR_EACH_I</b> macro repeats a macro for each element in a <i>set</i>. The <b>BOOST_PP_SEQ_FOR_EACH_I</b> macro repeats a macro for each element in a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FOR_EACH_I</b>(<i>macro</i>, <i>data</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FOR_EACH_I</b>(<i>macro</i>, <i>data</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>macro</dt> <dt>macro</dt>
<dd> <dd>
A macro of the form <i>macro</i>(<i>r</i>, <i>data</i>, <i>i</i>, <i>elem</i>).&nbsp; A macro of the form <i>macro</i>(<i>r</i>, <i>data</i>, <i>i</i>, <i>elem</i>).&nbsp;
This macro is expanded by <b>BOOST_PP_SET_FOR_EACH_I</b> with each element in <i>set</i>.&nbsp; This macro is expanded by <b>BOOST_PP_SEQ_FOR_EACH_I</b> with each element in <i>seq</i>.&nbsp;
It is expanded with the next available <b>BOOST_PP_FOR</b> repetition, the auxiliary <i>data</i>, the index of the current element, and the current element. It is expanded with the next available <b>BOOST_PP_FOR</b> repetition, the
auxiliary <i>data</i>, the index of the current element, and the current
element.
</dd> </dd>
<dt>data</dt> <dt>data</dt>
<dd> <dd>
Auxiliary data passed to <i>macro</i>. Auxiliary data passed to <i>macro</i>.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> for which <i>macro</i> will be invoked on each element. The <i>seq</i> for which <i>macro</i> will be invoked on each element.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro is a repetition construct.&nbsp; This macro is a repetition construct.&nbsp; If <i>seq</i> is (<i>a</i>)(<i>b</i>)(<i>c</i>),
If <i>set</i> is (<i>a</i>)(<i>b</i>)(<i>c</i>), it expands to the sequence: it expands to the sequence:
<div> <div>
<i>macro</i>(<i>r</i>, <i>data</i>, <i>0</i>, <i>a</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>1</i>, <i>b</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>2</i>, <i>c</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>0</i>, <i>a</i>) <i>macro</i>(<i>r</i>, <i>data</i>,
<i>1</i>, <i>b</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>2</i>, <i>c</i>)
</div> </div>
</div> </div>
<div> <div>
For maximum efficiency, use <b>BOOST_PP_SET_FOR_EACH_I_R</a></li> For maximum efficiency, use <b>BOOST_PP_SEQ_FOR_EACH_I_R</a></li>
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_for_each_i_r.html">BOOST_PP_SET_FOR_EACH_I_R</a></li> <li>
<a href="seq_for_each_i_r.html">BOOST_PP_SEQ_FOR_EACH_I_R</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/for_each_i.hpp.html">&lt;boost/preprocessor/set/for_each_i.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/for_each_i.hpp.html">&lt;boost/preprocessor/seq/for_each_i.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
</h4>
<div>
<pre>
#include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt; #include &lt;<a href="../headers/cat.hpp.html">boost/preprocessor/cat.hpp</a>&gt;
#include &lt;<a href="../headers/set/for_each_i.hpp.html">boost/preprocessor/set/for_each_i.hpp</a>&gt; #include &lt;<a href="../headers/seq/for_each_i.hpp.html">boost/preprocessor/seq/for_each_i.hpp</a>&gt;
#define SET (a)(b)(c)(d) #define SEQ (a)(b)(c)(d)
#define MACRO(r, data, i, elem) <a href="cat.html">BOOST_PP_CAT</a>(elem, <a href="cat.html">BOOST_PP_CAT</a>(data, i)) #define MACRO(r, data, i, elem) <a href="cat.html">BOOST_PP_CAT</a>(elem, <a href="cat.html">BOOST_PP_CAT</a>(data, i))
<a href="set_for_each_i.html">BOOST_PP_SET_FOR_EACH_I</a>(MACRO, _, SET) // expands to a_0 b_1 c_2 d_3 <a href="seq_for_each_i.html">BOOST_PP_SEQ_FOR_EACH_I</a>(MACRO, _, SEQ) // expands to a_0 b_1 c_2 d_3
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,18 +1,22 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FOR_EACH_I_R</title> <title>BOOST_PP_SEQ_FOR_EACH_I_R</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FOR_EACH_I_R</b> macro repeats a macro for each element in a <i>set</i>.&nbsp; The <b>BOOST_PP_SEQ_FOR_EACH_I_R</b> macro repeats a macro for each element in
It reenters <b>BOOST_PP_FOR</b> with maximum efficiency. a <i>seq</i>.&nbsp; It reenters <b>BOOST_PP_FOR</b> with maximum efficiency.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FOR_EACH_I_R</b>(<i>r</i>, <i>macro</i>, <i>data</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FOR_EACH_I_R</b>(<i>r</i>, <i>macro</i>, <i>data</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>r</dt> <dt>r</dt>
<dd> <dd>
@ -21,33 +25,43 @@
<dt>macro</dt> <dt>macro</dt>
<dd> <dd>
A macro of the form <i>macro</i>(<i>r</i>, <i>data</i>, <i>i</i>, <i>elem</i>).&nbsp; A macro of the form <i>macro</i>(<i>r</i>, <i>data</i>, <i>i</i>, <i>elem</i>).&nbsp;
This macro is expanded by <b>BOOST_PP_SET_FOR_EACH_I</b> with each element in <i>set</i>.&nbsp; This macro is expanded by <b>BOOST_PP_SEQ_FOR_EACH_I</b> with each element in <i>seq</i>.&nbsp;
It is expanded with the next available <b>BOOST_PP_FOR</b> repetition, the auxiliary <i>data</i>, the index of the current element, and the current element. It is expanded with the next available <b>BOOST_PP_FOR</b> repetition, the
auxiliary <i>data</i>, the index of the current element, and the current
element.
</dd> </dd>
<dt>data</dt> <dt>data</dt>
<dd> <dd>
Auxiliary data passed to <i>macro</i>. Auxiliary data passed to <i>macro</i>.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> for which <i>macro</i> will be invoked on each element. The <i>seq</i> for which <i>macro</i> will be invoked on each element.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro is a repetition construct.&nbsp; This macro is a repetition construct.&nbsp; If <i>seq</i> is (<i>a</i>)(<i>b</i>)(<i>c</i>),
If <i>set</i> is (<i>a</i>)(<i>b</i>)(<i>c</i>), it expands to the sequence: it expands to the sequence:
<div> <div>
<i>macro</i>(<i>r</i>, <i>data</i>, <i>0</i>, <i>a</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>1</i>, <i>b</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>2</i>, <i>c</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>0</i>, <i>a</i>) <i>macro</i>(<i>r</i>, <i>data</i>,
<i>1</i>, <i>b</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>2</i>, <i>c</i>)
</div> </div>
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_for_each_i.html">BOOST_PP_SET_FOR_EACH_I</a></li> <li>
<a href="seq_for_each_i.html">BOOST_PP_SEQ_FOR_EACH_I</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/for_each_i.hpp.html">&lt;boost/preprocessor/set/for_each_i.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/for_each_i.hpp.html">&lt;boost/preprocessor/seq/for_each_i.hpp&gt;</a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,73 +1,89 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FOR_EACH_PRODUCT</title> <title>BOOST_PP_SEQ_FOR_EACH_PRODUCT</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FOR_EACH_PRODUCT</b> macro repeats a macro for each cartesian product of several <i>sets</i>. The <b>BOOST_PP_SEQ_FOR_EACH_PRODUCT</b> macro repeats a macro for each
</div> cartesian product of several <i>seqs</i>.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FOR_EACH_PRODUCT</b>(<i>macro</i>, <i>sets</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FOR_EACH_PRODUCT</b>(<i>macro</i>, <i>seqs</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>macro</dt> <dt>macro</dt>
<dd> <dd>
The binary macro of the form <i>macro</i>(<i>r</i>, <i>product</i>).&nbsp; The binary macro of the form <i>macro</i>(<i>r</i>, <i>product</i>).&nbsp; This
This macro is expanded by <b>BOOST_PP_FOR_EACH_PRODUCT</b> with each cartesian product in <i>sets</i>.&nbsp; macro is expanded by <b>BOOST_PP_FOR_EACH_PRODUCT</b> with each cartesian
It is expanded with the next available <b>BOOST_PP_FOR</b> repetition and a <i>set</i> containing a cartesian product.&nbsp; product in <i>seqs</i>.&nbsp; It is expanded with the next available <b>BOOST_PP_FOR</b>
repetition and a <i>seq</i> containing a cartesian product.&nbsp;
</dd> </dd>
<dt>sets</dt> <dt>seqs</dt>
<dd> <dd>
A <i>set</i> of <i>sets</i> from which cartesian products are obtained. A <i>seq</i> of <i>seqs</i> from which cartesian products are obtained.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro is a repetition construct.&nbsp; This macro is a repetition construct.&nbsp; If two <i>seqs</i> are (<i>a</i>)(<i>b</i>)(<i>c</i>)
If two <i>sets</i> are (<i>a</i>)(<i>b</i>)(<i>c</i>) and (<i>x</i>)(<i>y</i>)(<i>z</i>), and (<i>x</i>)(<i>y</i>)(<i>z</i>), this macro will produce the following
this macro will produce the following sequence: sequence:
<div> <div>
<i>macro</i>(<i>r</i>, (<i>a</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>a</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>a</i>)(<i>y</i>))
<i>macro</i>(<i>r</i>, (<i>a</i>)(<i>y</i>)) <i>macro</i>(<i>r</i>, (<i>a</i>)(<i>z</i>)) \
<i>macro</i>(<i>r</i>, (<i>a</i>)(<i>z</i>)) \<br> <br>
<i>macro</i>(<i>r</i>, (<i>b</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>b</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>b</i>)(<i>y</i>))
<i>macro</i>(<i>r</i>, (<i>b</i>)(<i>y</i>)) <i>macro</i>(<i>r</i>, (<i>b</i>)(<i>z</i>)) \
<i>macro</i>(<i>r</i>, (<i>b</i>)(<i>z</i>)) \<br> <br>
<i>macro</i>(<i>r</i>, (<i>c</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>c</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>c</i>)(<i>y</i>))
<i>macro</i>(<i>r</i>, (<i>c</i>)(<i>y</i>))
<i>macro</i>(<i>r</i>, (<i>c</i>)(<i>z</i>)) <i>macro</i>(<i>r</i>, (<i>c</i>)(<i>z</i>))
</div> </div>
</div> </div>
<div> <div>
For maximum efficiency, use <b>BOOST_PP_SET_FOR_EACH_PRODUCT_R</b>. For maximum efficiency, use <b>BOOST_PP_SEQ_FOR_EACH_PRODUCT_R</b>.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_for_each_product_r.html">BOOST_PP_SET_FOR_EACH_PRODUCT_R</a></li> <li>
<a href="seq_for_each_product_r.html">BOOST_PP_SEQ_FOR_EACH_PRODUCT_R</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/for_each_product.hpp.html">&lt;boost/preprocessor/set/for_each_product.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/for_each_product.hpp.html">&lt;boost/preprocessor/seq/for_each_product.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/for_each_product.hpp.html">boost/preprocessor/set/for_each_product.hpp</a>&gt; </h4>
#include &lt;<a href="../headers/set/to_tuple.hpp.html">boost/preprocessor/set/to_tuple.hpp</a>&gt; <div>
<pre>
#include &lt;<a href="../headers/seq/for_each_product.hpp.html">boost/preprocessor/seq/for_each_product.hpp</a>&gt;
#include &lt;<a href="../headers/seq/to_tuple.hpp.html">boost/preprocessor/seq/to_tuple.hpp</a>&gt;
#define S1 (a)(b)(c) #define S1 (a)(b)(c)
#define S2 (x)(y)(z) #define S2 (x)(y)(z)
#define S3 (p)(q) #define S3 (p)(q)
#define MACRO(r, product) <a href="set_to_tuple.html">BOOST_PP_SET_TO_TUPLE</a>(product) #define MACRO(r, product) <a href="seq_to_tuple.html">BOOST_PP_SEQ_TO_TUPLE</a>(product)
<a href="set_for_each_product.html">BOOST_PP_SET_FOR_EACH_PRODUCT</a>(MACRO, (S1)(S2)(S3)) <a href="seq_for_each_product.html">BOOST_PP_SEQ_FOR_EACH_PRODUCT</a>(MACRO, (S1)(S2)(S3))
// expands to: // expands to:
// (a, x, p) (a, x, q) (a, y, p) (a, y, q) (a, z, p) (a, z, q) // (a, x, p) (a, x, q) (a, y, p) (a, y, q) (a, z, p) (a, z, q)
// (b, x, p) (b, x, q) (b, y, p) (b, y, q) (b, z, p) (b, z, q) // (b, x, p) (b, x, q) (b, y, p) (b, y, q) (b, z, p) (b, z, q)
// (c, x, p) (c, x, q) (c, y, p) (c, y, q) (c, z, p) (c, z, q) // (c, x, p) (c, x, q) (c, y, p) (c, y, q) (c, z, p) (c, z, q)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,18 +1,23 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FOR_EACH_PRODUCT_R</title> <title>BOOST_PP_SEQ_FOR_EACH_PRODUCT_R</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FOR_EACH_PRODUCT_R</b> macro repeats a macro for each cartesian product of several <i>sets</i>.&nbsp; The <b>BOOST_PP_SEQ_FOR_EACH_PRODUCT_R</b> macro repeats a macro for each
It reenters <b>BOOST_PP_FOR</b> with maximum efficiency. cartesian product of several <i>seqs</i>.&nbsp; It reenters <b>BOOST_PP_FOR</b>
</div> with maximum efficiency.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FOR_EACH_PRODUCT_R</b>(<i>r</i>, <i>macro</i>, <i>sets</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FOR_EACH_PRODUCT_R</b>(<i>r</i>, <i>macro</i>, <i>seqs</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>r</dt> <dt>r</dt>
<dd> <dd>
@ -20,39 +25,46 @@
</dd> </dd>
<dt>macro</dt> <dt>macro</dt>
<dd> <dd>
The binary macro of the form <i>macro</i>(<i>r</i>, <i>product</i>).&nbsp; The binary macro of the form <i>macro</i>(<i>r</i>, <i>product</i>).&nbsp; This
This macro is expanded by <b>BOOST_PP_FOR_EACH_PRODUCT</b> with each cartesian product in <i>sets</i>.&nbsp; macro is expanded by <b>BOOST_PP_FOR_EACH_PRODUCT</b> with each cartesian
It is expanded with the next available <b>BOOST_PP_FOR</b> repetition and a <i>set</i> containing a cartesian product.&nbsp; product in <i>seqs</i>.&nbsp; It is expanded with the next available <b>BOOST_PP_FOR</b>
repetition and a <i>seq</i> containing a cartesian product.&nbsp;
</dd> </dd>
<dt>sets</dt> <dt>seqs</dt>
<dd> <dd>
A <i>set</i> of <i>sets</i> from which cartesian products are obtained. A <i>seq</i> of <i>seqs</i> from which cartesian products are obtained.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro is a repetition construct.&nbsp; This macro is a repetition construct.&nbsp; If two <i>seqs</i> are (<i>a</i>)(<i>b</i>)(<i>c</i>)
If two <i>sets</i> are (<i>a</i>)(<i>b</i>)(<i>c</i>) and (<i>x</i>)(<i>y</i>)(<i>z</i>), and (<i>x</i>)(<i>y</i>)(<i>z</i>), this macro will produce the following
this macro will produce the following sequence: sequence:
<div> <div>
<i>macro</i>(<i>r</i>, (<i>a</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>a</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>a</i>)(<i>y</i>))
<i>macro</i>(<i>r</i>, (<i>a</i>)(<i>y</i>)) <i>macro</i>(<i>r</i>, (<i>a</i>)(<i>z</i>)) \
<i>macro</i>(<i>r</i>, (<i>a</i>)(<i>z</i>)) \<br> <br>
<i>macro</i>(<i>r</i>, (<i>b</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>b</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>b</i>)(<i>y</i>))
<i>macro</i>(<i>r</i>, (<i>b</i>)(<i>y</i>)) <i>macro</i>(<i>r</i>, (<i>b</i>)(<i>z</i>)) \
<i>macro</i>(<i>r</i>, (<i>b</i>)(<i>z</i>)) \<br> <br>
<i>macro</i>(<i>r</i>, (<i>c</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>c</i>)(<i>x</i>)) <i>macro</i>(<i>r</i>, (<i>c</i>)(<i>y</i>))
<i>macro</i>(<i>r</i>, (<i>c</i>)(<i>y</i>))
<i>macro</i>(<i>r</i>, (<i>c</i>)(<i>z</i>)) <i>macro</i>(<i>r</i>, (<i>c</i>)(<i>z</i>))
</div> </div>
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_for_each_product.html">BOOST_PP_SET_FOR_EACH_PRODUCT</a></li> <li>
<a href="seq_for_each_product.html">BOOST_PP_SEQ_FOR_EACH_PRODUCT</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/for_each_product.hpp.html">&lt;boost/preprocessor/set/for_each_product.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/for_each_product.hpp.html">&lt;boost/preprocessor/seq/for_each_product.hpp&gt;</a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,18 +1,22 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_FOR_EACH_R</title> <title>BOOST_PP_SEQ_FOR_EACH_R</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_FOR_EACH_R</b> macro repeats a macro for each element in a <i>set</i>.&nbsp; The <b>BOOST_PP_SEQ_FOR_EACH_R</b> macro repeats a macro for each element in a <i>seq</i>.&nbsp;
It reenters <b>BOOST_PP_FOR</b> with maximum efficiency. It reenters <b>BOOST_PP_FOR</b> with maximum efficiency.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_FOR_EACH_R</b>(<i>r</i>, <i>macro</i>, <i>data</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_FOR_EACH_R</b>(<i>r</i>, <i>macro</i>, <i>data</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>r</dt> <dt>r</dt>
<dd> <dd>
@ -21,33 +25,42 @@
<dt>macro</dt> <dt>macro</dt>
<dd> <dd>
A ternary macro of the form <i>macro</i>(<i>r</i>, <i>data</i>, <i>elem</i>).&nbsp; A ternary macro of the form <i>macro</i>(<i>r</i>, <i>data</i>, <i>elem</i>).&nbsp;
This macro is expanded by <b>BOOST_PP_SET_FOR_EACH</b> with each element in <i>set</i>.&nbsp; This macro is expanded by <b>BOOST_PP_SEQ_FOR_EACH</b> with each element in <i>seq</i>.&nbsp;
It is expanded with the next available <b>BOOST_PP_FOR</b> repetition, the auxiliary <i>data</i>, and the current element. It is expanded with the next available <b>BOOST_PP_FOR</b> repetition, the
auxiliary <i>data</i>, and the current element.
</dd> </dd>
<dt>data</dt> <dt>data</dt>
<dd> <dd>
Auxiliary data passed to <i>macro</i>. Auxiliary data passed to <i>macro</i>.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> for which <i>macro</i> will be invoked on each element. The <i>seq</i> for which <i>macro</i> will be invoked on each element.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro is a repetition construct.&nbsp; This macro is a repetition construct.&nbsp; If <i>seq</i> is (<i>a</i>)(<i>b</i>)(<i>c</i>),
If <i>set</i> is (<i>a</i>)(<i>b</i>)(<i>c</i>), it expands to the sequence: it expands to the sequence:
<div> <div>
<i>macro</i>(<i>r</i>, <i>data</i>, <i>a</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>b</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>c</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>a</i>) <i>macro</i>(<i>r</i>, <i>data</i>,
<i>b</i>) <i>macro</i>(<i>r</i>, <i>data</i>, <i>c</i>)
</div> </div>
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_for_each.html">BOOST_PP_SET_FOR_EACH</a></li> <li>
<a href="seq_for_each.html">BOOST_PP_SEQ_FOR_EACH</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/for_each.hpp.html">&lt;boost/preprocessor/set/for_each.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/for_each.hpp.html">&lt;boost/preprocessor/seq/for_each.hpp&gt;</a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,39 +1,52 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_HEAD</title> <title>BOOST_PP_SEQ_HEAD</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_HEAD</b> macro expands to the first element in a <i>set</i>. The <b>BOOST_PP_SEQ_HEAD</b> macro expands to the first element in a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_HEAD</b>(<i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_HEAD</b>(<i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> from which the first element is extracted. The <i>seq</i> from which the first element is extracted.
</dd> </dd>
</dl> </dl>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_tail.html">BOOST_PP_SET_TAIL</a></li> <li>
<a href="seq_tail.html">BOOST_PP_SEQ_TAIL</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/set.hpp.html">&lt;boost/preprocessor/set/set.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/seq.hpp.html">&lt;boost/preprocessor/seq/seq.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/set.hpp.html">boost/preprocessor/set/set.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/seq.hpp.html">boost/preprocessor/seq/seq.hpp</a>&gt;
#define SET (a)(b)(c) #define SEQ (a)(b)(c)
<a href="set_head.html">BOOST_PP_SET_HEAD</a>(SET) // expands to a <a href="seq_head.html">BOOST_PP_SEQ_HEAD</a>(SEQ) // expands to a
<a href="set_tail.html">BOOST_PP_SET_TAIL</a>(SET) // expands to (b)(c) <a href="seq_tail.html">BOOST_PP_SEQ_TAIL</a>(SEQ) // expands to (b)(c)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,47 +1,59 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_INSERT</title> <title>BOOST_PP_SEQ_INSERT</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_INSERT</b> macro inserts an element into an <i>set</i>. The <b>BOOST_PP_SEQ_INSERT</b> macro inserts an element into an <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_INSERT</b>(<i>set</i>, <i>i</i>, <i>elem</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_INSERT</b>(<i>seq</i>, <i>i</i>, <i>elem</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> into which an element is to be inserted. The <i>seq</i> into which an element is to be inserted.
</dd> </dd>
<dt>i</dt> <dt>i</dt>
<dd> <dd>
The zero-based position in <i>set</i> where an element is to be inserted.&nbsp; The zero-based position in <i>seq</i> where an element is to be inserted.&nbsp;
Valid values range from <i>0</i> to <b>BOOST_PP_SET_SIZE</b>(<i>set</i>) - <i>1</i>. Valid values range from <i>0</i> to <b>BOOST_PP_SEQ_SIZE</b>(<i>seq</i>) - <i>1</i>.
</dd> </dd>
<dt>elem</dt> <dt>elem</dt>
<dd> <dd>
The element to insert. The element to insert.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro inserts <i>elem</i> before the element at index <i>i</i>. This macro inserts <i>elem</i> before the element at index <i>i</i>.
</div> </div>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/insert.hpp.html">&lt;boost/preprocessor/set/insert.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/insert.hpp.html">&lt;boost/preprocessor/seq/insert.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/insert.hpp.html">boost/preprocessor/set/insert.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/insert.hpp.html">boost/preprocessor/seq/insert.hpp</a>&gt;
#define SET (a)(b)(d) #define SEQ (a)(b)(d)
<a href="set_insert.html">BOOST_PP_SET_INSERT</a>(SET, 2, c) // expands to (a)(b)(c)(d) <a href="seq_insert.html">BOOST_PP_SEQ_INSERT</a>(SEQ, 2, c) // expands to (a)(b)(c)(d)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,69 +1,89 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_NIL</title> <title>BOOST_PP_SEQ_NIL</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_NIL</b> macro is a placeholder macro for an empty <i>set</i>.&nbsp; The <b>BOOST_PP_SEQ_NIL</b> macro is a placeholder macro for an empty <i>seq</i>.&nbsp;
It is only valid if it is elements are appended to the end of this empty "set."&nbsp; It is only valid if it is elements are appended to the end of this empty
</div> "seq."&nbsp;
<h4>Usage</h4> </div>
<h4>
Usage
</h4>
<div class="code"> <div class="code">
<b>BOOST_PP_SET_NIL</b> <b>BOOST_PP_SEQ_NIL</b>
</div> </div>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro is a utility macro intended as a empty starting point for appending to the tail.&nbsp; This macro is a utility macro intended as a empty starting point for appending
It is <i>not</i> a nil <i>set</i>.&nbsp; to the tail.&nbsp; It is <i>not</i> a nil <i>seq</i>.&nbsp; When an element is
When an element is appended to this macro, it expands on the element and to the element--thereby removing itself.&nbsp; appended to this macro, it expands on the element and to the element--thereby
For example, both <b>BOOST_PP_SET_NIL</b>(<i>x</i>) removing itself.&nbsp; For example, both <b>BOOST_PP_SEQ_NIL</b>(<i>x</i>) and <b>BOOST_PP_SEQ_PUSH_BACK</b>(<b>BOOST_PP_SEQ_NIL</b>,
and <b>BOOST_PP_SET_PUSH_BACK</b>(<b>BOOST_PP_SET_NIL</b>, <i>x</i>) expand to <i>x</i>. <i>x</i>) expand to <i>x</i>.
</div> </div>
<div> <div>
If any <b>BOOST_PP_SET_</b>* macro (other than <b>BOOST_PP_SET_PUSH_BACK</b>) is invoked with an argument that contains <b>BOOST_PP_SET_NIL</b>, If any <b>BOOST_PP_SEQ_</b>* macro (other than <b>BOOST_PP_SEQ_PUSH_BACK</b>)
the behavior is undefined and in most cases will result in obscure errors. is invoked with an argument that contains <b>BOOST_PP_SEQ_NIL</b>, the behavior
is undefined and in most cases will result in obscure errors.
</div> </div>
<div> <div>
The closest thing available to <b>BOOST_PP_SET_NIL</b> for appending to the head is <b>BOOST_PP_EMPTY</b>.&nbsp; The closest thing available to <b>BOOST_PP_SEQ_NIL</b> for appending to the
After all the elements have been prepended, empty parenthesis can be invoked on the tail to remove the <b>BOOST_PP_EMPTY</b>.&nbsp; head is <b>BOOST_PP_EMPTY</b>.&nbsp; After all the elements have been
As with <b>BOOST_PP_SET_NIL</b>, passing an argument that contains <b>BOOST_PP_EMPTY</b> to any <b>BOOST_PP_SET_</b>* macro (other than <b>BOOST_PP_SET_PUSH_FRONT</b>) is undefined.&nbsp; prepended, empty parenthesis can be invoked on the tail to remove the <b>BOOST_PP_EMPTY</b>.&nbsp;
As with <b>BOOST_PP_SEQ_NIL</b>, passing an argument that contains <b>BOOST_PP_EMPTY</b>
to any <b>BOOST_PP_SEQ_</b>* macro (other than <b>BOOST_PP_SEQ_PUSH_FRONT</b>)
is undefined.&nbsp;
</div> </div>
<div> <div>
(It is also possible to start with an extra element and pop it off when you have finished appending to it.) (It is also possible to start with an extra element and pop it off when you
have finished appending to it.)
</div> </div>
<div> <div>
In C99, neither of these macros are necessary since it is legal to pass empty arguments. In C99, neither of these macros are necessary since it is legal to pass empty
arguments.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="empty.html">BOOST_PP_EMPTY</a></li> <li>
<a href="empty.html">BOOST_PP_EMPTY</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/set.hpp.html">&lt;boost/preprocessor/set/set.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/seq.hpp.html">&lt;boost/preprocessor/seq/seq.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
</h4>
<div>
<pre>
#include &lt;<a href="../headers/facilities/empty.hpp.html">boost/preprocessor/facilities/empty.hpp</a>&gt; #include &lt;<a href="../headers/facilities/empty.hpp.html">boost/preprocessor/facilities/empty.hpp</a>&gt;
#include &lt;<a href="../headers/set/push_back.hpp.html">boost/preprocessor/set/push_back.hpp</a>&gt; #include &lt;<a href="../headers/seq/push_back.hpp.html">boost/preprocessor/seq/push_back.hpp</a>&gt;
#include &lt;<a href="../headers/set/push_front.hpp.html">boost/preprocessor/set/push_front.hpp</a>&gt; #include &lt;<a href="../headers/seq/push_front.hpp.html">boost/preprocessor/seq/push_front.hpp</a>&gt;
#include &lt;<a href="../headers/set/set.hpp.html">boost/preprocessor/set/set.hpp</a>&gt; #include &lt;<a href="../headers/seq/seq.hpp.html">boost/preprocessor/seq/seq.hpp</a>&gt;
#define SET_L <a href="set_nil.html">BOOST_PP_SET_NIL</a> #define SEQ_L <a href="seq_nil.html">BOOST_PP_SEQ_NIL</a>
#define SET_R <a href="empty.html">BOOST_PP_EMPTY</a> #define SEQ_R <a href="empty.html">BOOST_PP_EMPTY</a>
<a href="set_push_back.html">BOOST_PP_SET_PUSH_BACK</a>( <a href="seq_push_back.html">BOOST_PP_SEQ_PUSH_BACK</a>(
<a href="set_push_back.html">BOOST_PP_SET_PUSH_BACK</a>(SET_L, a), b <a href="seq_push_back.html">BOOST_PP_SEQ_PUSH_BACK</a>(SEQ_L, a), b
) )
// expands to (a)(b) // expands to (a)(b)
<a href="set_push_front.html">BOOST_PP_SET_PUSH_FRONT</a>( <a href="seq_push_front.html">BOOST_PP_SEQ_PUSH_FRONT</a>(
<a href="set_push_front.html">BOOST_PP_SET_PUSH_FRONT</a>(SET_R, a), b <a href="seq_push_front.html">BOOST_PP_SEQ_PUSH_FRONT</a>(SEQ_R, a), b
)() )()
// expands to (b)(a) // expands to (b)(a)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,42 +1,57 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_POP_BACK</title> <title>BOOST_PP_SEQ_POP_BACK</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_POP_BACK</b> macro pops an element from the end of a <i>set</i>. The <b>BOOST_PP_SEQ_POP_BACK</b> macro pops an element from the end of a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_POP_BACK</b>(<i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_POP_BACK</b>(<i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to pop an element from. The <i>seq</i> to pop an element from.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro returns <i>set</i> after removing the last element.&nbsp; This macro returns <i>seq</i> after removing the last element.&nbsp;
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_pop_front.html">BOOST_PP_SET_POP_FRONT</a></li> <li>
<a href="seq_pop_front.html">BOOST_PP_SEQ_POP_FRONT</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/pop_back.hpp.html">&lt;boost/preprocessor/set/pop_back.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/pop_back.hpp.html">&lt;boost/preprocessor/seq/pop_back.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/pop_back.hpp.html">boost/preprocessor/set/pop_back.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/pop_back.hpp.html">boost/preprocessor/seq/pop_back.hpp</a>&gt;
#define SET (a)(b)(c) #define SEQ (a)(b)(c)
<a href="set_pop_back.html">BOOST_PP_SET_POP_BACK</a>(SET) // expands to (a)(b) <a href="seq_pop_back.html">BOOST_PP_SEQ_POP_BACK</a>(SEQ) // expands to (a)(b)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,42 +1,57 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_POP_FRONT</title> <title>BOOST_PP_SEQ_POP_FRONT</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_POP_FRONT</b> macro pops an element from the beginning of a <i>set</i>. The <b>BOOST_PP_SEQ_POP_FRONT</b> macro pops an element from the beginning of a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_POP_FRONT</b>(<i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_POP_FRONT</b>(<i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to pop an element from. The <i>seq</i> to pop an element from.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro returns <i>set</i> after removing the first element.&nbsp; This macro returns <i>seq</i> after removing the first element.&nbsp;
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_pop_back.html">BOOST_PP_SET_POP_BACK</a></li> <li>
<a href="seq_pop_back.html">BOOST_PP_SEQ_POP_BACK</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/pop_front.hpp.html">&lt;boost/preprocessor/set/pop_front.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/pop_front.hpp.html">&lt;boost/preprocessor/seq/pop_front.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/pop_front.hpp.html">boost/preprocessor/set/pop_front.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/pop_front.hpp.html">boost/preprocessor/seq/pop_front.hpp</a>&gt;
#define SET (a)(b)(c) #define SEQ (a)(b)(c)
<a href="set_pop_front.html">BOOST_PP_SET_POP_FRONT</a>(SET) // expands to (b)(c) <a href="seq_pop_front.html">BOOST_PP_SEQ_POP_FRONT</a>(SEQ) // expands to (b)(c)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,50 +1,65 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_PUSH_BACK</title> <title>BOOST_PP_SEQ_PUSH_BACK</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_PUSH_BACK</b> macro pushes an element onto the end of a <i>set</i>. The <b>BOOST_PP_SEQ_PUSH_BACK</b> macro pushes an element onto the end of a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_PUSH_BACK</b>(<i>set</i>, <i>elem</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_PUSH_BACK</b>(<i>seq</i>, <i>elem</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> onto which <i>elem</i> is pushed. The <i>seq</i> onto which <i>elem</i> is pushed.
</dd> </dd>
<dt>elem</dt> <dt>elem</dt>
<dd> <dd>
The element to push onto the end of <i>set</i>. The element to push onto the end of <i>seq</i>.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro returns <i>set</i> after appending <i>elem</i>.&nbsp; This macro returns <i>seq</i> after appending <i>elem</i>.&nbsp;
</div> </div>
<div> <div>
This macro is an explicit form of directly appending an element.&nbsp; This macro is an explicit form of directly appending an element.&nbsp; In other
In other words, <b>BOOST_PP_SET_PUSH_BACK</b>(<i>set</i>, <i>x</i>) is equivalent to <i>set</i>(<i>x</i>). words, <b>BOOST_PP_SEQ_PUSH_BACK</b>(<i>seq</i>, <i>x</i>) is equivalent to <i>seq</i>(<i>x</i>).
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_push_front.html">BOOST_PP_SET_PUSH_FRONT</a></li> <li>
<a href="seq_push_front.html">BOOST_PP_SEQ_PUSH_FRONT</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/push_back.hpp.html">&lt;boost/preprocessor/set/push_back.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/push_back.hpp.html">&lt;boost/preprocessor/seq/push_back.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/push_back.hpp.html">boost/preprocessor/set/push_back.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/push_back.hpp.html">boost/preprocessor/seq/push_back.hpp</a>&gt;
#define SET (a)(b) #define SEQ (a)(b)
<a href="set_push_back.html">BOOST_PP_SET_PUSH_BACK</a>(SET, c) // expands to (a)(b)(c) <a href="seq_push_back.html">BOOST_PP_SEQ_PUSH_BACK</a>(SEQ, c) // expands to (a)(b)(c)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,50 +1,67 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_PUSH_FRONT</title> <title>BOOST_PP_SEQ_PUSH_FRONT</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_PUSH_FRONT</b> macro pushes an element onto the beginning of a <i>set</i>. The <b>BOOST_PP_SEQ_PUSH_FRONT</b> macro pushes an element onto the beginning
</div> of a <i>seq</i>.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_PUSH_FRONT</b>(<i>set</i>, <i>elem</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_PUSH_FRONT</b>(<i>seq</i>, <i>elem</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> onto which <i>elem</i> is pushed. The <i>seq</i> onto which <i>elem</i> is pushed.
</dd> </dd>
<dt>elem</dt> <dt>elem</dt>
<dd> <dd>
The element to push onto the beginning of <i>set</i>. The element to push onto the beginning of <i>seq</i>.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro returns <i>set</i> after prepending <i>elem</i>.&nbsp; This macro returns <i>seq</i> after prepending <i>elem</i>.&nbsp;
</div> </div>
<div> <div>
This macro is an explicit form of directly prepending an element.&nbsp; This macro is an explicit form of directly prepending an element.&nbsp; In
In other words, <b>BOOST_PP_SET_PUSH_FRONT</b>(<i>set</i>, <i>x</i>) is equivalent to (<i>x</i>)<i>set</i>. other words, <b>BOOST_PP_SEQ_PUSH_FRONT</b>(<i>seq</i>, <i>x</i>) is equivalent
to (<i>x</i>)<i>seq</i>.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_push_back.html">BOOST_PP_SET_PUSH_BACK</a></li> <li>
<a href="seq_push_back.html">BOOST_PP_SEQ_PUSH_BACK</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/push_front.hpp.html">&lt;boost/preprocessor/set/push_front.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/push_front.hpp.html">&lt;boost/preprocessor/seq/push_front.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/push_front.hpp.html">boost/preprocessor/set/push_front.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/push_front.hpp.html">boost/preprocessor/seq/push_front.hpp</a>&gt;
#define SET (b)(c) #define SEQ (b)(c)
<a href="set_push_front.html">BOOST_PP_SET_PUSH_FRONT</a>(SET, a) // expands to (a)(b)(c) <a href="seq_push_front.html">BOOST_PP_SEQ_PUSH_FRONT</a>(SEQ, a) // expands to (a)(b)(c)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,43 +1,55 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_REMOVE</title> <title>BOOST_PP_SEQ_REMOVE</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_REMOVE</b> macro removes an element from a <i>set</i>. The <b>BOOST_PP_SEQ_REMOVE</b> macro removes an element from a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_REMOVE</b>(<i>set</i>, <i>i</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_REMOVE</b>(<i>seq</i>, <i>i</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> from which an element is to be removed. The <i>seq</i> from which an element is to be removed.
</dd> </dd>
<dt>i</dt> <dt>i</dt>
<dd> <dd>
The zero-based position in <i>set</i> of the element to be removed.&nbsp; The zero-based position in <i>seq</i> of the element to be removed.&nbsp; Valid
Valid values range from <i>0</i> to <b>BOOST_PP_SET_SIZE</b>(<i>set</i>) - <i>1</i>. values range from <i>0</i> to <b>BOOST_PP_SEQ_SIZE</b>(<i>seq</i>) - <i>1</i>.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro returns <i>set</i> after removing the element at index <i>i</i>. This macro returns <i>seq</i> after removing the element at index <i>i</i>.
</div> </div>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/remove.hpp.html">&lt;boost/preprocessor/set/remove.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/remove.hpp.html">&lt;boost/preprocessor/seq/remove.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/remove.hpp.html">boost/preprocessor/set/remove.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/remove.hpp.html">boost/preprocessor/seq/remove.hpp</a>&gt;
#define SET (a)(b)(x)(c) #define SEQ (a)(b)(x)(c)
<a href="set_remove.html">BOOST_PP_SET_REMOVE</a>(SET, 2) // expands to (a)(b)(c) <a href="seq_remove.html">BOOST_PP_SEQ_REMOVE</a>(SEQ, 2) // expands to (a)(b)(c)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,47 +1,60 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_REPLACE</title> <title>BOOST_PP_SEQ_REPLACE</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_REPLACE</b> macro replaces an element in a <i>set</i>. The <b>BOOST_PP_SEQ_REPLACE</b> macro replaces an element in a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_RPLACE</b>(<i>set</i>, <i>i</i>, <i>elem</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_RPLACE</b>(<i>seq</i>, <i>i</i>, <i>elem</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> in which an element is to be replaced. The <i>seq</i> in which an element is to be replaced.
</dd> </dd>
<dt>i</dt> <dt>i</dt>
<dd> <dd>
The zero-based position in <i>set</i> of the element to be replaced.&nbsp; The zero-based position in <i>seq</i> of the element to be replaced.&nbsp;
Valid values range from <i>0</i> to <b>BOOST_PP_SET_SIZE</b>(<i>set</i>) - <i>1</i>. Valid values range from <i>0</i> to <b>BOOST_PP_SEQ_SIZE</b>(<i>seq</i>) - <i>1</i>.
</dd> </dd>
<dt>elem</dt> <dt>elem</dt>
<dd> <dd>
The element to replace the element at index <i>i</i> within <i>set</i>. The element to replace the element at index <i>i</i> within <i>seq</i>.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro returns <i>set</i> after replacing the element at index <i>i</i> with <i>elem</i>. This macro returns <i>seq</i> after replacing the element at index <i>i</i> with
<i>elem</i>.
</div> </div>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/replace.hpp.html">&lt;boost/preprocessor/set/replace.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/replace.hpp.html">&lt;boost/preprocessor/seq/replace.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/replace.hpp.html">boost/preprocessor/set/replace.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/replace.hpp.html">boost/preprocessor/seq/replace.hpp</a>&gt;
#define SET (a)(b)(x)(d) #define SEQ (a)(b)(x)(d)
<a href="set_replace.html">BOOST_PP_SET_REPLACE</a>(SET, 2, c) // expands to (a)(b)(c)(d) <a href="seq_replace.html">BOOST_PP_SEQ_REPLACE</a>(SEQ, 2, c) // expands to (a)(b)(c)(d)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,17 +1,22 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_REST_N</title> <title>BOOST_PP_SEQ_REST_N</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_REST_N</b> macro expands to a <i>set</i> of all but the first <i>n</i> elements of a <i>set</i>. The <b>BOOST_PP_SEQ_REST_N</b> macro expands to a <i>seq</i> of all but the
</div> first <i>n</i> elements of a <i>seq</i>.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_REST_N</b>(<i>n</i>, <i>list</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_REST_N</b>(<i>n</i>, <i>list</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>n</dt> <dt>n</dt>
<dd> <dd>
@ -19,28 +24,39 @@
</dd> </dd>
<dt>list</dt> <dt>list</dt>
<dd> <dd>
The <i>set</i> from which the elements are to be removed. The <i>seq</i> from which the elements are to be removed.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro extracts <i>n</i> elements from the beginning of <i>set</i> and returns the remainder of <i>set</i> as a new <i>set</i> This macro extracts <i>n</i> elements from the beginning of <i>seq</i> and
returns the remainder of <i>seq</i> as a new <i>seq</i>
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_first_n.html">BOOST_PP_SET_FIRST_N</a></li> <li>
<a href="seq_first_n.html">BOOST_PP_SEQ_FIRST_N</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/rest_n.hpp.html">&lt;boost/preprocessor/set/rest_n.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/rest_n.hpp.html">&lt;boost/preprocessor/seq/rest_n.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
</h4>
<div>
<pre>
#include &lt;<a href="../headers/arithmetic/inc.hpp.html">boost/preprocessor/arithmetic/inc.hpp</a>&gt; #include &lt;<a href="../headers/arithmetic/inc.hpp.html">boost/preprocessor/arithmetic/inc.hpp</a>&gt;
#include &lt;<a href="../headers/set/elem.hpp.html">boost/preprocessor/set/elem.hpp</a>&gt; #include &lt;<a href="../headers/seq/elem.hpp.html">boost/preprocessor/seq/elem.hpp</a>&gt;
#include &lt;<a href="../headers/set/first_n.hpp.html">boost/preprocessor/set/first_n.hpp</a>&gt; #include &lt;<a href="../headers/seq/first_n.hpp.html">boost/preprocessor/seq/first_n.hpp</a>&gt;
#include &lt;<a href="../headers/set/rest_n.hpp.html">boost/preprocessor/set/rest_n.hpp</a>&gt; #include &lt;<a href="../headers/seq/rest_n.hpp.html">boost/preprocessor/seq/rest_n.hpp</a>&gt;
#include &lt;<a href="../headers/set/size.hpp.html">boost/preprocessor/set/size.hpp</a>&gt; #include &lt;<a href="../headers/seq/size.hpp.html">boost/preprocessor/seq/size.hpp</a>&gt;
#define NUMBERS \ #define NUMBERS \
(0)(1)(2)(3)(4)(5)(6)(7)(8)(9) \ (0)(1)(2)(3)(4)(5)(6)(7)(8)(9) \
@ -71,15 +87,15 @@
(250)(251)(252)(253)(254)(255)(256) \ (250)(251)(252)(253)(254)(255)(256) \
/**/ /**/
#define SUPER_ADD(x, y) <a href="set_elem.html">BOOST_PP_SET_ELEM</a>(y, <a href="set_rest_n.html">BOOST_PP_SET_REST_N</a>(x, NUMBERS)) #define SUPER_ADD(x, y) <a href="seq_elem.html">BOOST_PP_SEQ_ELEM</a>(y, <a href="seq_rest_n.html">BOOST_PP_SEQ_REST_N</a>(x, NUMBERS))
SUPER_ADD(100, 100) // expands to 200 SUPER_ADD(100, 100) // expands to 200
#define SUPER_SUB(x, y) \ #define SUPER_SUB(x, y) \
<a href="set_size.html">BOOST_PP_SET_SIZE</a>( \ <a href="seq_size.html">BOOST_PP_SEQ_SIZE</a>( \
<a href="set_rest_n.html">BOOST_PP_SET_REST_N</a>( \ <a href="seq_rest_n.html">BOOST_PP_SEQ_REST_N</a>( \
<a href="inc.html">BOOST_PP_INC</a>(y), \ <a href="inc.html">BOOST_PP_INC</a>(y), \
<a href="set_first_n.html">BOOST_PP_SET_FIRST_N</a>( \ <a href="seq_first_n.html">BOOST_PP_SEQ_FIRST_N</a>( \
<a href="inc.html">BOOST_PP_INC</a>(x), NUMBERS \ <a href="inc.html">BOOST_PP_INC</a>(x), NUMBERS \
) \ ) \
) \ ) \
@ -87,6 +103,7 @@ SUPER_ADD(100, 100) // expands to 200
/**/ /**/
SUPER_SUB(67, 25) // expands to 42 SUPER_SUB(67, 25) // expands to 42
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,42 +1,57 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_REVERSE</title> <title>BOOST_PP_SEQ_REVERSE</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_REVERSE</b> macro reverses a <i>set</i>. The <b>BOOST_PP_SEQ_REVERSE</b> macro reverses a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_REVERSE</b>(<i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_REVERSE</b>(<i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be reversed. The <i>seq</i> to be reversed.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
For maximum efficiency, use <b>BOOST_PP_SET_REVERSE_S</b>. For maximum efficiency, use <b>BOOST_PP_SEQ_REVERSE_S</b>.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_reverse_s.html">BOOST_PP_SET_REVERSE_S</a></li> <li>
<a href="seq_reverse_s.html">BOOST_PP_SEQ_REVERSE_S</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/reverse.hpp.html">&lt;boost/preprocessor/set/reverse.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/reverse.hpp.html">&lt;boost/preprocessor/seq/reverse.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/reverse.hpp.html">boost/preprocessor/set/reverse.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/reverse.hpp.html">boost/preprocessor/seq/reverse.hpp</a>&gt;
#define SET (1)(2)(3) #define SEQ (1)(2)(3)
<a href="set_reverse.html">BOOST_PP_SET_REVERSE</a>(SET) // expands to (3)(2)(1) <a href="seq_reverse.html">BOOST_PP_SEQ_REVERSE</a>(SEQ) // expands to (3)(2)(1)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,35 +1,44 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_REVERSE_S</title> <title>BOOST_PP_SEQ_REVERSE_S</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_REVERSE_S</b> macro reverses a <i>set</i>.&nbsp; The <b>BOOST_PP_SEQ_REVERSE_S</b> macro reverses a <i>seq</i>.&nbsp; It
It reenters <b>BOOST_PP_SET_FOLD_LEFT</b> with maximum efficiency. reenters <b>BOOST_PP_SEQ_FOLD_LEFT</b> with maximum efficiency.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_REVERSE_S</b>(<i>s</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_REVERSE_S</b>(<i>s</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>s</dt> <dt>s</dt>
<dd> <dd>
The next available <b>BOOST_PP_SET_FOLD_LEFT</b> fold step. The next available <b>BOOST_PP_SEQ_FOLD_LEFT</b> fold step.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be reversed. The <i>seq</i> to be reversed.
</dd> </dd>
</dl> </dl>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_reverse.html">BOOST_PP_SET_REVERSE</a></li> <li>
<a href="seq_reverse.html">BOOST_PP_SEQ_REVERSE</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/reverse.hpp.html">&lt;boost/preprocessor/set/reverse.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/reverse.hpp.html">&lt;boost/preprocessor/seq/reverse.hpp&gt;</a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,34 +1,44 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_SIZE</title> <title>BOOST_PP_SEQ_SIZE</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_SIZE</b> macro expands to the size of a <i>set</i>. The <b>BOOST_PP_SEQ_SIZE</b> macro expands to the size of a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_SIZE</b>(<i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_SIZE</b>(<i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> whose size is to be calculated. The <i>seq</i> whose size is to be calculated.
</dd> </dd>
</dl> </dl>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/size.hpp.html">&lt;boost/preprocessor/set/size.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/size.hpp.html">&lt;boost/preprocessor/seq/size.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/size.hpp.html">boost/preprocessor/set/size.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/size.hpp.html">boost/preprocessor/seq/size.hpp</a>&gt;
#define SET (a)(b)(c) #define SEQ (a)(b)(c)
<a href="set_size.html">BOOST_PP_SET_SIZE</a>(SET) // expands to 3 <a href="seq_size.html">BOOST_PP_SEQ_SIZE</a>(SEQ) // expands to 3
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,46 +1,58 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_SUBSET</title> <title>BOOST_PP_SEQ_SUBSEQ</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_SUBSET</b> macro expands to a subset of elements in a <i>set</i>. The <b>BOOST_PP_SEQ_SUBSEQ</b> macro expands to a subseq of elements in a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_SUBSET</b>(<i>set</i>, <i>i</i>, <i>len</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_SUBSEQ</b>(<i>seq</i>, <i>i</i>, <i>len</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> whose size is to be calculated. The <i>seq</i> whose size is to be calculated.
</dd> </dd>
<dt>i</dt> <dt>i</dt>
<dd> <dd>
The index of the first element of the subset to be extracted. The index of the first element of the subseq to be extracted.
</dd> </dd>
<dt>len</dt> <dt>len</dt>
<dd> <dd>
The length of the subset to be extracted. The length of the subseq to be extracted.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro expands to a <i>set</i> extracted from <i>set</i>. This macro expands to a <i>seq</i> extracted from <i>seq</i>.
</div> </div>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/subset.hpp.html">&lt;boost/preprocessor/set/subset.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/subseq.hpp.html">&lt;boost/preprocessor/seq/subseq.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/subset.hpp.html">boost/preprocessor/set/subset.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/subseq.hpp.html">boost/preprocessor/seq/subseq.hpp</a>&gt;
#define SET (0)(1)(2)(3)(4)(5) #define SEQ (0)(1)(2)(3)(4)(5)
<a href="set_subset.html">BOOST_PP_SET_SUBSET</a>(SET, 2, 3) // expands to (2)(3)(4) <a href="seq_subseq.html">BOOST_PP_SEQ_SUBSEQ</a>(SEQ, 2, 3) // expands to (2)(3)(4)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,39 +1,52 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_TAIL</title> <title>BOOST_PP_SEQ_TAIL</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_HEAD</b> macro expands to all but the first element of a <i>set</i>. The <b>BOOST_PP_SEQ_HEAD</b> macro expands to all but the first element of a <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_TAIL</b>(<i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_TAIL</b>(<i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> from which the tail is extracted. The <i>seq</i> from which the tail is extracted.
</dd> </dd>
</dl> </dl>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_head.html">BOOST_PP_SET_HEAD</a></li> <li>
<a href="seq_head.html">BOOST_PP_SEQ_HEAD</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/set.hpp.html">&lt;boost/preprocessor/set/set.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/seq.hpp.html">&lt;boost/preprocessor/seq/seq.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/set.hpp.html">boost/preprocessor/set/set.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/seq.hpp.html">boost/preprocessor/seq/seq.hpp</a>&gt;
#define SET (a)(b)(c) #define SEQ (a)(b)(c)
<a href="set_head.html">BOOST_PP_SET_HEAD</a>(SET) // expands to a <a href="seq_head.html">BOOST_PP_SEQ_HEAD</a>(SEQ) // expands to a
<a href="set_tail.html">BOOST_PP_SET_TAIL</a>(SET) // expands to (b)(c) <a href="seq_tail.html">BOOST_PP_SEQ_TAIL</a>(SEQ) // expands to (b)(c)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,34 +1,44 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_TO_ARRAY</title> <title>BOOST_PP_SEQ_TO_ARRAY</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_TO_ARRAY</b> macro converts a <i>set</i> to an <i>array</i>. The <b>BOOST_PP_SEQ_TO_ARRAY</b> macro converts a <i>seq</i> to an <i>array</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_TO_ARRAY</b>(<i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_TO_ARRAY</b>(<i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be converted. The <i>seq</i> to be converted.
</dd> </dd>
</dl> </dl>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/to_array.hpp.html">&lt;boost/preprocessor/set/to_array.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/to_array.hpp.html">&lt;boost/preprocessor/seq/to_array.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/to_array.hpp.html">boost/preprocessor/set/to_array.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/to_array.hpp.html">boost/preprocessor/seq/to_array.hpp</a>&gt;
#define SET (a)(b)(c) #define SEQ (a)(b)(c)
<a href="set_to_array.html">BOOST_PP_SET_TO_ARRAY</a>(SET) // expands to (3, (a, b, c)) <a href="seq_to_array.html">BOOST_PP_SEQ_TO_ARRAY</a>(SEQ) // expands to (3, (a, b, c))
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,34 +1,44 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_TO_TUPLE</title> <title>BOOST_PP_SEQ_TO_TUPLE</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_TO_TUPLE</b> macro converts a <i>set</i> to an <i>tuple</i>. The <b>BOOST_PP_SEQ_TO_TUPLE</b> macro converts a <i>seq</i> to an <i>tuple</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_TO_TUPLE</b>(<i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_TO_TUPLE</b>(<i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be converted. The <i>seq</i> to be converted.
</dd> </dd>
</dl> </dl>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/to_tuple.hpp.html">&lt;boost/preprocessor/set/to_tuple.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/to_tuple.hpp.html">&lt;boost/preprocessor/seq/to_tuple.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/set/to_tuple.hpp.html">boost/preprocessor/set/to_tuple.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/seq/to_tuple.hpp.html">boost/preprocessor/seq/to_tuple.hpp</a>&gt;
#define SET (a)(b)(c) #define SEQ (a)(b)(c)
<a href="set_to_tuple.html">BOOST_PP_SET_TO_TUPLE</a>(SET) // expands to (a, b, c) <a href="seq_to_tuple.html">BOOST_PP_SEQ_TO_TUPLE</a>(SEQ) // expands to (a, b, c)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,65 +1,82 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_TRANSFORM</title> <title>BOOST_PP_SEQ_TRANSFORM</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_TRANSFORM</b> macro transforms each element in a <i>set</i> according to a supplied transformation. The <b>BOOST_PP_SEQ_TRANSFORM</b> macro transforms each element in a <i>seq</i>
</div> according to a supplied transformation.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_TRANSFORM</b>(<i>op</i>, <i>data</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_TRANSFORM</b>(<i>op</i>, <i>data</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>op</dt> <dt>op</dt>
<dd> <dd>
A ternary predicate of the form <i>op</i>(<i>s</i>, <i>data</i>, <i>elem</i>).&nbsp; A ternary predicate of the form <i>op</i>(<i>s</i>, <i>data</i>, <i>elem</i>).&nbsp;
This transformation is expanded by <b>BOOST_PP_SET_TRANSFORM</b> for each element in <i>set</i> with the next available <b>BOOST_PP_SET_FOLD_LEFT</b> fold step, This transformation is expanded by <b>BOOST_PP_SEQ_TRANSFORM</b> for each
the auxiliary <i>data</i>, and the current element in <i>set</i>.&nbsp; element in <i>seq</i> with the next available <b>BOOST_PP_SEQ_FOLD_LEFT</b> fold
step, the auxiliary <i>data</i>, and the current element in <i>seq</i>.&nbsp;
</dd> </dd>
<dt>data</dt> <dt>data</dt>
<dd> <dd>
Auxiliary data passed to <i>pred</i>. Auxiliary data passed to <i>pred</i>.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be transformed. The <i>seq</i> to be transformed.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro expands <i>op</i> for each element in <i>set</i>.&nbsp; This macro expands <i>op</i> for each element in <i>seq</i>.&nbsp; It builds a
It builds a new <i>set</i> out of the results of each call.&nbsp; new <i>seq</i> out of the results of each call.&nbsp; If, for example, <i>seq</i>
If, for example, <i>set</i> is (<i>a</i>)(<i>b</i>)(<i>c</i>), is (<i>a</i>)(<i>b</i>)(<i>c</i>), this macro expands to...
this macro expands to...
<div> <div>
(<i>op</i>(<i>d</i>, <i>data</i>, <i>a</i>))(<i>op</i>(<i>d</i>, <i>data</i>, <i>b</i>))(<i>op</i>(<i>d</i>, <i>data</i>, <i>c</i>)) (<i>op</i>(<i>d</i>, <i>data</i>, <i>a</i>))(<i>op</i>(<i>d</i>, <i>data</i>, <i>b</i>))(<i>op</i>(<i>d</i>,
<i>data</i>, <i>c</i>))
</div> </div>
</div> </div>
<div> <div>
For maximum efficiency, use <b>BOOST_PP_SET_TRANSFORM_S</b>. For maximum efficiency, use <b>BOOST_PP_SEQ_TRANSFORM_S</b>.
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_transform_s.html">BOOST_PP_SET_TRANSFORM_S</a></li> <li>
<a href="seq_transform_s.html">BOOST_PP_SEQ_TRANSFORM_S</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/transform.hpp.html">&lt;boost/preprocessor/set/transform.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/transform.hpp.html">&lt;boost/preprocessor/seq/transform.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
</h4>
<div>
<pre>
#include &lt;<a href="../headers/arithmetic/dec.hpp.html">boost/preprocessor/arithmetic/dec.hpp</a>&gt; #include &lt;<a href="../headers/arithmetic/dec.hpp.html">boost/preprocessor/arithmetic/dec.hpp</a>&gt;
#include &lt;<a href="../headers/set/transform.hpp.html">boost/preprocessor/set/transform.hpp</a>&gt; #include &lt;<a href="../headers/seq/transform.hpp.html">boost/preprocessor/seq/transform.hpp</a>&gt;
#define SET (1)(3)(2)(5) #define SEQ (1)(3)(2)(5)
#define OP(s, data, elem) <a href="dec.html">BOOST_PP_DEC</a>(elem) #define OP(s, data, elem) <a href="dec.html">BOOST_PP_DEC</a>(elem)
<a href="set_transform.html">BOOST_PP_SET_TRANSFORM</a>(OP, 3, SET) <a href="seq_transform.html">BOOST_PP_SEQ_TRANSFORM</a>(OP, 3, SEQ)
// expands to (0)(2)(1)(4) // expands to (0)(2)(1)(4)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,55 +1,68 @@
<html> <html>
<head> <head>
<title>BOOST_PP_SET_TRANSFORM_S</title> <title>BOOST_PP_SEQ_TRANSFORM_S</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_SET_TRANSFORM_S</b> macro transforms each element in a <i>set</i> according to a supplied transformation.&nbsp; The <b>BOOST_PP_SEQ_TRANSFORM_S</b> macro transforms each element in a <i>seq</i>
It reenters <b>BOOST_PP_SET_FOLD_LEFT</b> with maximum efficiency. according to a supplied transformation.&nbsp; It reenters <b>BOOST_PP_SEQ_FOLD_LEFT</b>
</div> with maximum efficiency.
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_SET_TRANSFORM_S</b>(<i>s</i>, <i>op</i>, <i>data</i>, <i>set</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_SEQ_TRANSFORM_S</b>(<i>s</i>, <i>op</i>, <i>data</i>, <i>seq</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>s</dt> <dt>s</dt>
<dd> <dd>
The next available <b>BOOST_PP_SET_FOLD_LEFT</b> fold step. The next available <b>BOOST_PP_SEQ_FOLD_LEFT</b> fold step.
</dd> </dd>
<dt>op</dt> <dt>op</dt>
<dd> <dd>
A ternary predicate of the form <i>op</i>(<i>s</i>, <i>data</i>, <i>elem</i>).&nbsp; A ternary predicate of the form <i>op</i>(<i>s</i>, <i>data</i>, <i>elem</i>).&nbsp;
This transformation is expanded by <b>BOOST_PP_SET_TRANSFORM</b> for each element in <i>set</i> with the next available <b>BOOST_PP_SET_FOLD_LEFT</b> fold step, This transformation is expanded by <b>BOOST_PP_SEQ_TRANSFORM</b> for each
the auxiliary <i>data</i>, and the current element in <i>set</i>.&nbsp; element in <i>seq</i> with the next available <b>BOOST_PP_SEQ_FOLD_LEFT</b> fold
step, the auxiliary <i>data</i>, and the current element in <i>seq</i>.&nbsp;
</dd> </dd>
<dt>data</dt> <dt>data</dt>
<dd> <dd>
Auxiliary data passed to <i>pred</i>. Auxiliary data passed to <i>pred</i>.
</dd> </dd>
<dt>set</dt> <dt>seq</dt>
<dd> <dd>
The <i>set</i> to be transformed. The <i>seq</i> to be transformed.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>
Remarks
</h4>
<div> <div>
This macro expands <i>op</i> for each element in <i>set</i>.&nbsp; This macro expands <i>op</i> for each element in <i>seq</i>.&nbsp; It builds a
It builds a new <i>set</i> out of the results of each call.&nbsp; new <i>seq</i> out of the results of each call.&nbsp; If, for example, <i>seq</i>
If, for example, <i>set</i> is (<i>a</i>)(<i>b</i>)(<i>c</i>), is (<i>a</i>)(<i>b</i>)(<i>c</i>), this macro expands to...
this macro expands to...
<div> <div>
(<i>op</i>(<i>d</i>, <i>data</i>, <i>a</i>))(<i>op</i>(<i>d</i>, <i>data</i>, <i>b</i>))(<i>op</i>(<i>d</i>, <i>data</i>, <i>c</i>)) (<i>op</i>(<i>d</i>, <i>data</i>, <i>a</i>))(<i>op</i>(<i>d</i>, <i>data</i>, <i>b</i>))(<i>op</i>(<i>d</i>,
<i>data</i>, <i>c</i>))
</div> </div>
</div> </div>
<h4>See Also</h4> <h4>
See Also
</h4>
<ul> <ul>
<li><a href="set_transform.html">BOOST_PP_SET_TRANSFORM</a></li> <li>
<a href="seq_transform.html">BOOST_PP_SEQ_TRANSFORM</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/set/transform.hpp.html">&lt;boost/preprocessor/set/transform.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/seq/transform.hpp.html">&lt;boost/preprocessor/seq/transform.hpp&gt;</a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,17 +1,21 @@
<html> <html>
<head> <head>
<title>BOOST_PP_TUPLE_TO_SET</title> <title>BOOST_PP_TUPLE_TO_SEQ</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>BOOST_PP_TUPLE_TO_SET</b> macro converts a <i>tuple</i> to an <i>set</i>. The <b>BOOST_PP_TUPLE_TO_SEQ</b> macro converts a <i>tuple</i> to an <i>seq</i>.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_TUPLE_TO_SET</b>(<i>size</i>, <i>tuple</i>)
</div> </div>
<h4>Arguments</h4> <h4>
Usage
</h4>
<div class="code">
<b>BOOST_PP_TUPLE_TO_SEQ</b>(<i>size</i>, <i>tuple</i>)
</div>
<h4>
Arguments
</h4>
<dl> <dl>
<dt>size</dt> <dt>size</dt>
<dd> <dd>
@ -22,15 +26,21 @@
The <i>tuple</i> to be converted. The <i>tuple</i> to be converted.
</dd> </dd>
</dl> </dl>
<h4>Requirements</h4> <h4>
Requirements
</h4>
<div> <div>
<b>Header:</b> &nbsp;<a href="../headers/tuple/to_set.hpp.html">&lt;boost/preprocessor/tuple/to_set.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/tuple/to_seq.hpp.html">&lt;boost/preprocessor/tuple/to_seq.hpp&gt;</a>
</div> </div>
<h4>Sample Code</h4> <h4>
<div><pre> Sample Code
#include &lt;<a href="../headers/tuple/to_set.hpp.html">boost/preprocessor/tuple/to_set.hpp</a>&gt; </h4>
<div>
<pre>
#include &lt;<a href="../headers/tuple/to_seq.hpp.html">boost/preprocessor/tuple/to_seq.hpp</a>&gt;
<a href="tuple_to_set.html">BOOST_PP_TUPLE_TO_SET</a>(3, (a, b, c)) // expands to (a)(b)(c) <a href="tuple_to_seq.html">BOOST_PP_TUPLE_TO_SEQ</a>(3, (a, b, c)) // expands to (a)(b)(c)
</pre></div> </pre>
</body> </div>
</body>
</html> </html>

View File

@ -1,27 +1,23 @@
<html> <html>
<head> <head>
<title>top.html</title> <title>top.html</title>
<link rel="stylesheet" type="text/css" href="styles.css"> <link rel="stylesheet" type="text/css" href="styles.css">
<style> <style>
td { td { height: 60px; width: 100%; text-align: center; vertical-align: middle;
height: 60px; margin: 0px; padding: 0px; font-weight: bold; }
width: 100%; </style>
text-align: center; </head>
vertical-align: middle; <body style="margin: 0px; padding: 0px;">
margin: 0px; <table style="width: 100%;">
padding: 0px; <tr align="center">
font-weight: bold; <td>
} The <a href="../../../index.htm" target="_parent"><font color="blue"><b>Boost</b></font></a>
</style> Library
</head> <br>
<body style="margin: 0px; padding: 0px;"> <a href="index.html" target="_parent"><font color="green"><b>Preprocessor</b></font></a>
<table style="width: 100%;"> Subseq for <font color="red">C/C++</font>
<tr align="center"> </td>
<td> </tr>
The <a href="../../../index.htm" target="_parent"><font color="blue"><b>Boost</b></font></a> Library<br> </table>
<a href="index.html" target="_parent"><font color="green"><b>Preprocessor</b></font></a> Subset for <font color="red">C/C++</font> </body>
</td>
</tr>
</table>
</body>
</html> </html>

File diff suppressed because it is too large Load Diff