doc fixes

[SVN r17466]
This commit is contained in:
Paul Mensonides
2003-02-17 04:19:02 +00:00
parent 72ecbc58fa
commit ce9576a096
18 changed files with 365 additions and 297 deletions

View File

@ -17,28 +17,17 @@
Contents Contents
</h4> </h4>
<ul> <ul>
<li> <li><a href="../../ref/limit_dim.html">BOOST_PP_LIMIT_DIM</a></li>
<a href="../../ref/limit_dim.html">BOOST_PP_LIMIT_DIM</a></li> <li><a href="../../ref/limit_for.html">BOOST_PP_LIMIT_FOR</a></li>
<li> <li><a href="../../ref/limit_iteration.html">BOOST_PP_LIMIT_ITERATION</a></li>
<a href="../../ref/limit_for.html">BOOST_PP_LIMIT_FOR</a></li> <li><a href="../../ref/limit_iteration_dim.html">BOOST_PP_LIMIT_ITERATION_DIM</a></li>
<li> <li><a href="../../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
<a href="../../ref/limit_iteration.html">BOOST_PP_LIMIT_ITERATION</a></li> <li><a href="../../ref/limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
<li> <li><a href="../../ref/limit_seq.html">BOOST_PP_LIMIT_SEQ</a></li>
<a href="../../ref/limit_iteration_dim.html">BOOST_PP_LIMIT_ITERATION_DIM</a></li> <li><a href="../../ref/limit_slot_count.html">BOOST_PP_LIMIT_SLOT_COUNT</a></li>
<li> <li><a href="../../ref/limit_slot_sig.html">BOOST_PP_LIMIT_SLOT_SIG</a></li>
<a href="../../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a></li> <li><a href="../../ref/limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a></li>
<li> <li><a href="../../ref/limit_while.html">BOOST_PP_LIMIT_WHILE</a></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

@ -13,8 +13,8 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/to_tuple.html">BOOST_PP_LIST_TO_TUPLE</a></li> <li><a href="../../ref/list_to_tuple.html">BOOST_PP_LIST_TO_TUPLE</a></li>
<li><a href="../../ref/to_tuple_r.html">BOOST_PP_LIST_TO_TUPLE_R</a></li> <li><a href="../../ref/list_to_tuple_r.html">BOOST_PP_LIST_TO_TUPLE_R</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -0,0 +1,19 @@
<html>
<head>
<title>wstringize.hpp</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;">
The <b>wstringize.hpp</b> header defines a wide stringizing macro.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/wstringize.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../ref/wstringize.html">BOOST_PP_WSTRINGIZE</a></li>
</ul>
</body>
</html>

View File

@ -7,8 +7,8 @@
<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">
</frameseq> </frameset>
<noframes> <noframes>
..</noframes> ..</noframes>
</frameseq> </frameset>
</html> </html>

View File

@ -36,8 +36,8 @@
<div><pre> <div><pre>
#include &lt;<a href="../headers/logical/bool.hpp.html">boost/preprocessor/logical/bool.hpp</a>&gt; #include &lt;<a href="../headers/logical/bool.hpp.html">boost/preprocessor/logical/bool.hpp</a>&gt;
<a href="bool.hpp">BOOST_PP_BOOL</a>(6) // expands to 1 <a href="bool.html">BOOST_PP_BOOL</a>(6) // expands to 1
<a href="bool.hpp">BOOST_PP_BOOL</a>(0) // expands to 0 <a href="bool.html">BOOST_PP_BOOL</a>(0) // expands to 0
</pre></div> </pre></div>
</body> </body>
</html> </html>

View File

@ -30,7 +30,7 @@
</h4> </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 seq to <i>0</i>. By default, this macro is set to <i>0</i>.
</div> </div>
<h4> <h4>
See Also See Also

View File

@ -39,8 +39,8 @@
</div> </div>
<h4>Sample Code</h4> <h4>Sample Code</h4>
<div><pre> <div><pre>
#include &lt;<a href="../headers/comparison/and.hpp.html">boost/preprocessor/comparison/and.hpp</a>&gt; #include &lt;<a href="../headers/logical/and.hpp.html">boost/preprocessor/logical/and.hpp</a>&gt;
#include &lt;<a href="../headers/control/expr_iif.hpp">boost/preprocessor/control/expr_iif.hpp</a>&gt; #include &lt;<a href="../headers/control/expr_iif.hpp.html">boost/preprocessor/control/expr_iif.hpp</a>&gt;
#define INSERT_AND(p, q, text) \ #define INSERT_AND(p, q, text) \
<a href="expr_iif.html">BOOST_PP_EXPR_IIF</a>( \ <a href="expr_iif.html">BOOST_PP_EXPR_IIF</a>( \

View File

@ -27,9 +27,9 @@
#ifndef FILE_H_ #ifndef FILE_H_
#define FILE_H_ #define FILE_H_
#include &lt;<a href="../headers/iteration/iterate.hpp,html">boost/preprocessor/iteration/iterate.hpp</a>&gt; #include &lt;<a href="../headers/iteration/iterate.hpp.html">boost/preprocessor/iteration/iterate.hpp</a>&gt;
#define <a href="iterations_params_x.html">BOOST_PP_ITERATION_PARAMS_1</a> (3, (1, 3, "file.h")) #define <a href="iteration_params_x.html">BOOST_PP_ITERATION_PARAMS_1</a> (3, (1, 3, "file.h"))
#include <a href="iterate.html">BOOST_PP_ITERATE</a>() #include <a href="iterate.html">BOOST_PP_ITERATE</a>()
#endif #endif

View File

@ -45,7 +45,7 @@
((a, (b, <a href="nil.html">BOOST_PP_NIL</a>)), \ ((a, (b, <a href="nil.html">BOOST_PP_NIL</a>)), \
((d, (e, <a href="nil.html">BOOST_PP_NIL</a>)), \ ((d, (e, <a href="nil.html">BOOST_PP_NIL</a>)), \
((e, (f, <a href="nil.html">BOOST_PP_NIL</a>)), \ ((e, (f, <a href="nil.html">BOOST_PP_NIL</a>)), \
<a href="ni.html">BOOST_PP_NIL</a>))) \ <a href="nil.html">BOOST_PP_NIL</a>))) \
/**/ /**/
#define OP(d, state, x) <a href="cat.html">BOOST_PP_CAT</a>(state, <a href="list_cat_d.html">BOOST_PP_LIST_CAT_D</a>(d, x)) #define OP(d, state, x) <a href="cat.html">BOOST_PP_CAT</a>(state, <a href="list_cat_d.html">BOOST_PP_LIST_CAT_D</a>(d, x))

View File

@ -59,7 +59,7 @@
#define PRED(d, data, elem) <a href="less_equal.html">BOOST_PP_LESS_EQUAL</a>(elem, data) #define PRED(d, data, elem) <a href="less_equal.html">BOOST_PP_LESS_EQUAL</a>(elem, data)
<a href="list_filter.html">BOOST_PP_LIST_FILTER</a>(PRED, 3, LIST) <a href="list_filter.html">BOOST_PP_LIST_FILTER</a>(PRED, 3, LIST)
// expands to (1, (3, (2, <a href="ni.html">BOOST_PP_NIL</a>))) // expands to (1, (3, (2, <a href="nil.html">BOOST_PP_NIL</a>)))
</pre></div> </pre></div>
</body> </body>
</html> </html>

View File

@ -56,7 +56,7 @@
<h4>Sample Code</h4> <h4>Sample Code</h4>
<div><pre> <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/list/fold_right.html">boost/preprocessor/list/fold_right.hpp</a>&gt; #include &lt;<a href="../headers/list/fold_right.hpp.html">boost/preprocessor/list/fold_right.hpp</a>&gt;
#define LIST (a, (b, (c, <a href="nil.html">BOOST_PP_NIL</a>))) #define LIST (a, (b, (c, <a href="nil.html">BOOST_PP_NIL</a>)))

View File

@ -53,7 +53,7 @@
<div><pre> <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/list/adt.hpp.html">boost/preprocessor/list/adt.hpp</a>&gt; #include &lt;<a href="../headers/list/adt.hpp.html">boost/preprocessor/list/adt.hpp</a>&gt;
#include &lt;<a href="../headers/list/list_for_each_i.html">boost/preprocessor/list/for_each_i.hpp</a>&gt; #include &lt;<a href="../headers/list/for_each_i.hpp.html">boost/preprocessor/list/for_each_i.hpp</a>&gt;
#include &lt;<a href="../headers/repetition/for.hpp.html">boost/preprocessor/repetition/for.hpp</a>&gt; #include &lt;<a href="../headers/repetition/for.hpp.html">boost/preprocessor/repetition/for.hpp</a>&gt;
#define LIST (x, (y, (z, <a href="nil.html">BOOST_PP_NIL</a>))) #define LIST (x, (y, (z, <a href="nil.html">BOOST_PP_NIL</a>)))

View File

@ -44,8 +44,8 @@
</div> </div>
<h4>Sample Code</h4> <h4>Sample Code</h4>
<div><pre> <div><pre>
#include &lt;<a href="../list/fold_left.hpp.html">boost/preprocessor/list/fold_left.hpp</a>&gt; #include &lt;<a href="../headers/list/fold_left.hpp.html">boost/preprocessor/list/fold_left.hpp</a>&gt;
#include &lt;<a href="../selection/min.hpp.html">boost/preprocessor/selection/min.hpp</a>&gt; #include &lt;<a href="../headers/selection/min.hpp.html">boost/preprocessor/selection/min.hpp</a>&gt;
#define LIST (1, (3, (5, (2, (4, <a href="nil.html">BOOST_PP_NIL</a>))))) #define LIST (1, (3, (5, (2, (4, <a href="nil.html">BOOST_PP_NIL</a>)))))

38
doc/ref/wstringize.html Normal file
View File

@ -0,0 +1,38 @@
<html>
<head>
<title>BOOST_PP_WSTRINGIZE</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;">
The <b>BOOST_PP_WSTRINGIZE</b> macro wide stringizes its argument after it has been expanded.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_WSTRINGIZE</b>(<i>text</i>)
</div>
<h4>Arguments</h4>
<dl>
<dt>text</dt>
<dd>
The text to be converted to a wide string literal.
</dd>
</dl>
<h4>Remarks</h4>
<div>
The preprocessor stringizing operator (<b>#</b>) prevents arguments from expanding.&nbsp;
This macro allows its argument to expand before it is stringized.
</div>
<!-- <h4>See Also</h4> -->
<h4>Requirements</h4>
<div>
<b>Header:</b> &nbsp;<a href="../headers/wstringize.hpp.html">&lt;boost/preprocessor/wstringize.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div><pre>
#include &lt;<a href="../headers/wstringize.hpp.html">boost/preprocessor/wstringize.hpp</a>&gt;
<a href="wstringize.html">BOOST_PP_WSTRINGIZE</a>(some text) // expands to L"some text"
</pre></div>
</body>
</html>

View File

@ -1,15 +0,0 @@
<html>
<head>
<title>resources.html</title>
<link rel="stylesheet" type="text/css" href="styles.css">
<base target="desc">
</head>
<body>
<h4>Resources <small><a href="contents.html" target="index">[back]</a></small></h4>
<ul>
<li><a href="syntax.html">syntax highlighting</a></li>
<li><a href="acknowledgements.html">acknowledgements</a></li>
<li><a href="bibliography.html">bibliography</a></li>
</ul>
</body>
</html>

View File

@ -6,232 +6,272 @@
<body> <body>
<h4>Identifiers for Syntax Highlighting</h4> <h4>Identifiers for Syntax Highlighting</h4>
<div> <div>
BOOST_PP_ADD <!-- A -->
<br>BOOST_PP_ADD_D <br>BOOST_PP_ADD
<br>BOOST_PP_AND <br>BOOST_PP_ADD_D
<br>BOOST_PP_APPLY <br>BOOST_PP_AND
<br>BOOST_PP_ARRAY_DATA <br>BOOST_PP_APPLY
<br>BOOST_PP_ARRAY_ELEM <br>BOOST_PP_ARRAY_DATA
<br>BOOST_PP_ARRAY_SIZE <br>BOOST_PP_ARRAY_ELEM
<br>BOOST_PP_ASSERT <br>BOOST_PP_ARRAY_INSERT
<br>BOOST_PP_ASSERT_MSG <br>BOOST_PP_ARRAY_INSERT_D
<br>BOOST_PP_ASSIGN_SLOT <br>BOOST_PP_ARRAY_POP_BACK
<br>BOOST_PP_BITAND <br>BOOST_PP_ARRAY_POP_BACK_Z
<br>BOOST_PP_BITNOR <br>BOOST_PP_ARRAY_POP_FRONT
<br>BOOST_PP_BITOR <br>BOOST_PP_ARRAY_POP_FRONT_Z
<br>BOOST_PP_BITXOR <br>BOOST_PP_ARRAY_PUSH_BACK
<br>BOOST_PP_BOOL <br>BOOST_PP_ARRAY_PUSH_FRONT
<br>BOOST_PP_CAT <br>BOOST_PP_ARRAY_REMOVE
<br>BOOST_PP_COMMA <br>BOOST_PP_ARRAY_REMOVE_D
<br>BOOST_PP_COMMA_IF <br>BOOST_PP_ARRAY_REPLACE
<br>BOOST_PP_COMPL <br>BOOST_PP_ARRAY_REPLACE_D
<br>BOOST_PP_CONFIG_EXTENDED_LINE_INFO <br>BOOST_PP_ARRAY_REVERSE
<br>BOOST_PP_DEC <br>BOOST_PP_ARRAY_SIZE
<br>BOOST_PP_DEDUCE_D <br>BOOST_PP_ASSERT
<br>BOOST_PP_DEDUCE_R <br>BOOST_PP_ASSERT_MSG
<br>BOOST_PP_DEDUCE_Z <br>BOOST_PP_ASSIGN_SLOT
<br>BOOST_PP_DIV <!-- B -->
<br>BOOST_PP_DIV_D <br>BOOST_PP_BITAND
<br>BOOST_PP_EMPTY <br>BOOST_PP_BITNOR
<br>BOOST_PP_ENUM <br>BOOST_PP_BITOR
<br>BOOST_PP_ENUM_BINARY_PARAMS <br>BOOST_PP_BITXOR
<br>BOOST_PP_ENUM_BINARY_PARAMS_Z <br>BOOST_PP_BOOL
<br>BOOST_PP_ENUM_PARAMS <!-- C -->
<br>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT <br>BOOST_PP_CAT
<br>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS <br>BOOST_PP_COMMA
<br>BOOST_PP_ENUM_PARAMS_Z <br>BOOST_PP_COMMA_IF
<br>BOOST_PP_ENUM_SHIFTED <br>BOOST_PP_COMPL
<br>BOOST_PP_ENUM_SHIFTED_PARAMS <br>BOOST_PP_CONFIG_EXTENDED_LINE_INFO
<br>BOOST_PP_ENUM_SHIFTED_PARAMS_Z <!-- D -->
<br>BOOST_PP_ENUM_SHIFTED_ <br>BOOST_PP_DEC
<br>BOOST_PP_ENUM_TRAILING <br>BOOST_PP_DEDUCE_D
<br>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS <br>BOOST_PP_DEDUCE_R
<br>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z <br>BOOST_PP_DEDUCE_Z
<br>BOOST_PP_ENUM_TRAILING_PARAMS <br>BOOST_PP_DIV
<br>BOOST_PP_ENUM_TRAILING_PARAMS_Z <br>BOOST_PP_DIV_D
<br>BOOST_PP_ENUM_TRAILING_ <!-- E -->
<br>BOOST_PP_ENUM_ <br>BOOST_PP_EMPTY
<br>BOOST_PP_EQUAL <br>BOOST_PP_ENUM
<br>BOOST_PP_EQUAL_D <br>BOOST_PP_ENUM_BINARY_PARAMS
<br>BOOST_PP_EXPAND <br>BOOST_PP_ENUM_BINARY_PARAMS_Z
<br>BOOST_PP_EXPR_IF <br>BOOST_PP_ENUM_PARAMS
<br>BOOST_PP_EXPR_IIF <br>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT
<br>BOOST_PP_FILENAME_x <br>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS
<br>BOOST_PP_FOR <br>BOOST_PP_ENUM_PARAMS_Z
<br>BOOST_PP_FOR_ <br>BOOST_PP_ENUM_SHIFTED
<br>BOOST_PP_FRAME_FINISH <br>BOOST_PP_ENUM_SHIFTED_PARAMS
<br>BOOST_PP_FRAME_FLAGS <br>BOOST_PP_ENUM_SHIFTED_PARAMS_Z
<br>BOOST_PP_FRAME_ITERATION <br>BOOST_PP_ENUM_SHIFTED_
<br>BOOST_PP_FRAME_START <br>BOOST_PP_ENUM_TRAILING
<br>BOOST_PP_GREATER <br>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS
<br>BOOST_PP_GREATER_D <br>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z
<br>BOOST_PP_GREATER_EQUAL <br>BOOST_PP_ENUM_TRAILING_PARAMS
<br>BOOST_PP_GREATER_EQUAL_D <br>BOOST_PP_ENUM_TRAILING_PARAMS_Z
<br>BOOST_PP_IDENTITY <br>BOOST_PP_ENUM_TRAILING_
<br>BOOST_PP_IF <br>BOOST_PP_ENUM_
<br>BOOST_PP_IIF <br>BOOST_PP_EQUAL
<br>BOOST_PP_INC <br>BOOST_PP_EQUAL_D
<br>BOOST_PP_INCLUDE_SELF <br>BOOST_PP_EXPAND
<br>BOOST_PP_INDIRECT_SELF <br>BOOST_PP_EXPR_IF
<br>BOOST_PP_INTERCEPT <br>BOOST_PP_EXPR_IIF
<br>BOOST_PP_IS_ITERATING <!-- F -->
<br>BOOST_PP_IS_SELFISH <br>BOOST_PP_FILENAME_1
<br>BOOST_PP_ITERATE <br>BOOST_PP_FILENAME_2
<br>BOOST_PP_ITERATION <br>BOOST_PP_FILENAME_3
<br>BOOST_PP_ITERATION_DEPTH <br>BOOST_PP_FILENAME_4
<br>BOOST_PP_ITERATION_FINISH <br>BOOST_PP_FILENAME_5
<br>BOOST_PP_ITERATION_FLAGS <br>BOOST_PP_FOR
<br>BOOST_PP_ITERATION_LIMITS <br>BOOST_PP_FOR_
<br>BOOST_PP_ITERATION_PARAMS_x <br>BOOST_PP_FRAME_FINISH
<br>BOOST_PP_ITERATION_START <br>BOOST_PP_FRAME_FLAGS
<br>BOOST_PP_LESS <br>BOOST_PP_FRAME_ITERATION
<br>BOOST_PP_LESS_D <br>BOOST_PP_FRAME_START
<br>BOOST_PP_LESS_EQUAL <!-- G -->
<br>BOOST_PP_LESS_EQUAL_D <br>BOOST_PP_GREATER
<br>BOOST_PP_LIMIT_DIM <br>BOOST_PP_GREATER_D
<br>BOOST_PP_LIMIT_FOR <br>BOOST_PP_GREATER_EQUAL
<br>BOOST_PP_LIMIT_ITERATION <br>BOOST_PP_GREATER_EQUAL_D
<br>BOOST_PP_LIMIT_ITERATION_DIM <!-- I -->
<br>BOOST_PP_LIMIT_MAG <br>BOOST_PP_IDENTITY
<br>BOOST_PP_LIMIT_REPEAT <br>BOOST_PP_IF
<br>BOOST_PP_LIMIT_SET <br>BOOST_PP_IIF
<br>BOOST_PP_LIMIT_SLOT_COUNT <br>BOOST_PP_INC
<br>BOOST_PP_LIMIT_SLOT_SIG <br>BOOST_PP_INCLUDE_SELF
<br>BOOST_PP_LIMIT_TUPLE <br>BOOST_PP_INDIRECT_SELF
<br>BOOST_PP_LIMIT_WHILE <br>BOOST_PP_INTERCEPT
<br>BOOST_PP_LINE <br>BOOST_PP_IS_ITERATING
<br>BOOST_PP_LIST_APPEND <br>BOOST_PP_IS_SELFISH
<br>BOOST_PP_LIST_APPEND_D <br>BOOST_PP_ITERATE
<br>BOOST_PP_LIST_AT <br>BOOST_PP_ITERATION
<br>BOOST_PP_LIST_AT_D <br>BOOST_PP_ITERATION_DEPTH
<br>BOOST_PP_LIST_CAT <br>BOOST_PP_ITERATION_FINISH
<br>BOOST_PP_LIST_CAT_D <br>BOOST_PP_ITERATION_FLAGS
<br>BOOST_PP_LIST_CONS <br>BOOST_PP_ITERATION_LIMITS
<br>BOOST_PP_LIST_ENUM <br>BOOST_PP_ITERATION_PARAMS_1
<br>BOOST_PP_LIST_ENUM_R <br>BOOST_PP_ITERATION_PARAMS_2
<br>BOOST_PP_LIST_FILTER <br>BOOST_PP_ITERATION_PARAMS_3
<br>BOOST_PP_LIST_FILTER_D <br>BOOST_PP_ITERATION_PARAMS_4
<br>BOOST_PP_LIST_FIRST <br>BOOST_PP_ITERATION_PARAMS_5
<br>BOOST_PP_LIST_FIRST_N <br>BOOST_PP_ITERATION_START
<br>BOOST_PP_LIST_FIRST_N_D <!-- L -->
<br>BOOST_PP_LIST_FOLD_LEFT <br>BOOST_PP_LESS
<br>BOOST_PP_LIST_FOLD_LEFT_2ND <br>BOOST_PP_LESS_D
<br>BOOST_PP_LIST_FOLD_LEFT_2ND_D <br>BOOST_PP_LESS_EQUAL
<br>BOOST_PP_LIST_FOLD_LEFT_ <br>BOOST_PP_LESS_EQUAL_D
<br>BOOST_PP_LIST_FOLD_LEFT_D <br>BOOST_PP_LIMIT_DIM
<br>BOOST_PP_LIST_FOLD_RIGHT <br>BOOST_PP_LIMIT_FOR
<br>BOOST_PP_LIST_FOLD_RIGHT_2ND <br>BOOST_PP_LIMIT_ITERATION
<br>BOOST_PP_LIST_FOLD_RIGHT_2ND_D <br>BOOST_PP_LIMIT_ITERATION_DIM
<br>BOOST_PP_LIST_FOLD_RIGHT_ <br>BOOST_PP_LIMIT_MAG
<br>BOOST_PP_LIST_FOLD_RIGHT_D <br>BOOST_PP_LIMIT_REPEAT
<br>BOOST_PP_LIST_FOR_EACH <br>BOOST_PP_LIMIT_SEQ
<br>BOOST_PP_LIST_FOR_EACH_I <br>BOOST_PP_LIMIT_SLOT_COUNT
<br>BOOST_PP_LIST_FOR_EACH_I_R <br>BOOST_PP_LIMIT_SLOT_SIG
<br>BOOST_PP_LIST_FOR_EACH_PRODUCT <br>BOOST_PP_LIMIT_TUPLE
<br>BOOST_PP_LIST_FOR_EACH_PRODUCT_R <br>BOOST_PP_LIMIT_WHILE
<br>BOOST_PP_LIST_FOR_EACH_R <br>BOOST_PP_LINE
<br>BOOST_PP_LIST_IS_CONS <br>BOOST_PP_LIST_APPEND
<br>BOOST_PP_LIST_IS_NIL <br>BOOST_PP_LIST_APPEND_D
<br>BOOST_PP_LIST_NIL <br>BOOST_PP_LIST_AT
<br>BOOST_PP_LIST_REST <br>BOOST_PP_LIST_AT_D
<br>BOOST_PP_LIST_REST_N <br>BOOST_PP_LIST_CAT
<br>BOOST_PP_LIST_REST_N_D <br>BOOST_PP_LIST_CAT_D
<br>BOOST_PP_LIST_REVERSE <br>BOOST_PP_LIST_CONS
<br>BOOST_PP_LIST_REVERSE_D <br>BOOST_PP_LIST_ENUM
<br>BOOST_PP_LIST_SIZE <br>BOOST_PP_LIST_ENUM_R
<br>BOOST_PP_LIST_SIZE_D <br>BOOST_PP_LIST_FILTER
<br>BOOST_PP_LIST_TO_TUPLE <br>BOOST_PP_LIST_FILTER_D
<br>BOOST_PP_LIST_TO_TUPLE_R <br>BOOST_PP_LIST_FIRST
<br>BOOST_PP_LIST_TRANSFORM <br>BOOST_PP_LIST_FIRST_N
<br>BOOST_PP_LIST_TRANSFORM_D <br>BOOST_PP_LIST_FIRST_N_D
<br>BOOST_PP_LOCAL_ITERATE <br>BOOST_PP_LIST_FOLD_LEFT
<br>BOOST_PP_LOCAL_LIMITS <br>BOOST_PP_LIST_FOLD_LEFT_2ND
<br>BOOST_PP_LOCAL_MACRO <br>BOOST_PP_LIST_FOLD_LEFT_2ND_D
<br>BOOST_PP_LPAREN <br>BOOST_PP_LIST_FOLD_LEFT_
<br>BOOST_PP_LPAREN_IF <br>BOOST_PP_LIST_FOLD_LEFT_D
<br>BOOST_PP_MAX <br>BOOST_PP_LIST_FOLD_RIGHT
<br>BOOST_PP_MAX_D <br>BOOST_PP_LIST_FOLD_RIGHT_2ND
<br>BOOST_PP_MIN <br>BOOST_PP_LIST_FOLD_RIGHT_2ND_D
<br>BOOST_PP_MIN_D <br>BOOST_PP_LIST_FOLD_RIGHT_
<br>BOOST_PP_MOD <br>BOOST_PP_LIST_FOLD_RIGHT_D
<br>BOOST_PP_MOD_D <br>BOOST_PP_LIST_FOR_EACH
<br>BOOST_PP_MUL <br>BOOST_PP_LIST_FOR_EACH_I
<br>BOOST_PP_MUL_D <br>BOOST_PP_LIST_FOR_EACH_I_R
<br>BOOST_PP_NIL <br>BOOST_PP_LIST_FOR_EACH_PRODUCT
<br>BOOST_PP_NOR <br>BOOST_PP_LIST_FOR_EACH_PRODUCT_R
<br>BOOST_PP_NOT <br>BOOST_PP_LIST_FOR_EACH_R
<br>BOOST_PP_NOT_EQUAL <br>BOOST_PP_LIST_IS_CONS
<br>BOOST_PP_NOT_EQUAL_D <br>BOOST_PP_LIST_IS_NIL
<br>BOOST_PP_OR <br>BOOST_PP_LIST_NIL
<br>BOOST_PP_RELATIVE_FINISH <br>BOOST_PP_LIST_REST
<br>BOOST_PP_RELATIVE_FLAGS <br>BOOST_PP_LIST_REST_N
<br>BOOST_PP_RELATIVE_ITERATION <br>BOOST_PP_LIST_REST_N_D
<br>BOOST_PP_RELATIVE_START <br>BOOST_PP_LIST_REVERSE
<br>BOOST_PP_REPEAT <br>BOOST_PP_LIST_REVERSE_D
<br>BOOST_PP_REPEAT_1ST <br>BOOST_PP_LIST_SIZE
<br>BOOST_PP_REPEAT_2ND <br>BOOST_PP_LIST_SIZE_D
<br>BOOST_PP_REPEAT_3RD <br>BOOST_PP_LIST_TO_TUPLE
<br>BOOST_PP_REPEAT_FROM_TO <br>BOOST_PP_LIST_TO_TUPLE_R
<br>BOOST_PP_REPEAT_FROM_TO_1ST <br>BOOST_PP_LIST_TRANSFORM
<br>BOOST_PP_REPEAT_FROM_TO_2ND <br>BOOST_PP_LIST_TRANSFORM_D
<br>BOOST_PP_REPEAT_FROM_TO_3RD <br>BOOST_PP_LOCAL_ITERATE
<br>BOOST_PP_REPEAT_FROM_TO_D <br>BOOST_PP_LOCAL_LIMITS
<br>BOOST_PP_REPEAT_FROM_TO_D_ <br>BOOST_PP_LOCAL_MACRO
<br>BOOST_PP_REPEAT_FROM_TO_ <br>BOOST_PP_LPAREN
<br>BOOST_PP_REPEAT_ <br>BOOST_PP_LPAREN_IF
<br>BOOST_PP_RPAREN <!-- M -->
<br>BOOST_PP_RPAREN_IF <br>BOOST_PP_MAX
<br>BOOST_PP_SEQ_CAT <br>BOOST_PP_MAX_D
<br>BOOST_PP_SEQ_CAT_S <br>BOOST_PP_MIN
<br>BOOST_PP_SEQ_ELEM <br>BOOST_PP_MIN_D
<br>BOOST_PP_SEQ_ENUM <br>BOOST_PP_MOD
<br>BOOST_PP_SEQ_FILTER <br>BOOST_PP_MOD_D
<br>BOOST_PP_SEQ_FILTER_S <br>BOOST_PP_MUL
<br>BOOST_PP_SEQ_FIRST_N <br>BOOST_PP_MUL_D
<br>BOOST_PP_SEQ_FOLD_LEFT <!-- N -->
<br>BOOST_PP_SEQ_FOLD_LEFT_ <br>BOOST_PP_NIL
<br>BOOST_PP_SEQ_FOLD_RIGHT <br>BOOST_PP_NOR
<br>BOOST_PP_SEQ_FOLD_RIGHT_ <br>BOOST_PP_NOT
<br>BOOST_PP_SEQ_FOR_EACH <br>BOOST_PP_NOT_EQUAL
<br>BOOST_PP_SEQ_FOR_EACH_R <br>BOOST_PP_NOT_EQUAL_D
<br>BOOST_PP_SEQ_FOR_EACH_I <!-- O -->
<br>BOOST_PP_SEQ_FOR_EACH_I_R <br>BOOST_PP_OR
<br>BOOST_PP_SEQ_FOR_EACH_PRODUCT <!-- R -->
<br>BOOST_PP_SEQ_FOR_EACH_PRODUCT_R <br>BOOST_PP_RELATIVE_FINISH
<br>BOOST_PP_SEQ_HEAD <br>BOOST_PP_RELATIVE_FLAGS
<br>BOOST_PP_SEQ_INSERT <br>BOOST_PP_RELATIVE_ITERATION
<br>BOOST_PP_SEQ_NIL <br>BOOST_PP_RELATIVE_START
<br>BOOST_PP_SEQ_POP_BACK <br>BOOST_PP_REPEAT
<br>BOOST_PP_SEQ_POP_FRONT <br>BOOST_PP_REPEAT_1ST
<br>BOOST_PP_SEQ_PUSH_BACK <br>BOOST_PP_REPEAT_2ND
<br>BOOST_PP_SEQ_PUSH_FRONT <br>BOOST_PP_REPEAT_3RD
<br>BOOST_PP_SEQ_REMOVE <br>BOOST_PP_REPEAT_FROM_TO
<br>BOOST_PP_SEQ_REPLACE <br>BOOST_PP_REPEAT_FROM_TO_1ST
<br>BOOST_PP_SEQ_REST_N <br>BOOST_PP_REPEAT_FROM_TO_2ND
<br>BOOST_PP_SEQ_REVERSE <br>BOOST_PP_REPEAT_FROM_TO_3RD
<br>BOOST_PP_SEQ_REVERSE_S <br>BOOST_PP_REPEAT_FROM_TO_D
<br>BOOST_PP_SEQ_SIZE <br>BOOST_PP_REPEAT_FROM_TO_D_
<br>BOOST_PP_SEQ_SUBSEQ <br>BOOST_PP_REPEAT_FROM_TO_
<br>BOOST_PP_SEQ_TAIL <br>BOOST_PP_REPEAT_
<br>BOOST_PP_SEQ_TO_ARRAY <br>BOOST_PP_RPAREN
<br>BOOST_PP_SEQ_TO_TUPLE <br>BOOST_PP_RPAREN_IF
<br>BOOST_PP_SEQ_TRANSFORM <!-- S -->
<br>BOOST_PP_SEQ_TRANSFORM_S <br>BOOST_PP_SEQ_CAT
<br>BOOST_PP_SLOT <br>BOOST_PP_SEQ_CAT_S
<br>BOOST_PP_STRINGIZE <br>BOOST_PP_SEQ_ELEM
<br>BOOST_PP_SUB <br>BOOST_PP_SEQ_ENUM
<br>BOOST_PP_SUB_D <br>BOOST_PP_SEQ_FILTER
<br>BOOST_PP_TUPLE_EAT <br>BOOST_PP_SEQ_FILTER_S
<br>BOOST_PP_TUPLE_ELEM <br>BOOST_PP_SEQ_FIRST_N
<br>BOOST_PP_TUPLE_REM <br>BOOST_PP_SEQ_FOLD_LEFT
<br>BOOST_PP_TUPLE_REM_CTOR <br>BOOST_PP_SEQ_FOLD_LEFT_
<br>BOOST_PP_TUPLE_REVERSE <br>BOOST_PP_SEQ_FOLD_RIGHT
<br>BOOST_PP_TUPLE_TO_LIST <br>BOOST_PP_SEQ_FOLD_RIGHT_
<br>BOOST_PP_TUPLE_TO_SEQ <br>BOOST_PP_SEQ_FOR_EACH
<br>BOOST_PP_VALUE <br>BOOST_PP_SEQ_FOR_EACH_I
<br>BOOST_PP_WHILE <br>BOOST_PP_SEQ_FOR_EACH_I_R
<br>BOOST_PP_WHILE_ <br>BOOST_PP_SEQ_FOR_EACH_PRODUCT
<br>BOOST_PP_XOR <br>BOOST_PP_SEQ_FOR_EACH_PRODUCT_R
<br>BOOST_PP_SEQ_FOR_EACH_R
<br>BOOST_PP_SEQ_HEAD
<br>BOOST_PP_SEQ_INSERT
<br>BOOST_PP_SEQ_NIL
<br>BOOST_PP_SEQ_POP_BACK
<br>BOOST_PP_SEQ_POP_FRONT
<br>BOOST_PP_SEQ_PUSH_BACK
<br>BOOST_PP_SEQ_PUSH_FRONT
<br>BOOST_PP_SEQ_REMOVE
<br>BOOST_PP_SEQ_REPLACE
<br>BOOST_PP_SEQ_REST_N
<br>BOOST_PP_SEQ_REVERSE
<br>BOOST_PP_SEQ_REVERSE_S
<br>BOOST_PP_SEQ_SIZE
<br>BOOST_PP_SEQ_SUBSEQ
<br>BOOST_PP_SEQ_TAIL
<br>BOOST_PP_SEQ_TO_ARRAY
<br>BOOST_PP_SEQ_TO_TUPLE
<br>BOOST_PP_SEQ_TRANSFORM
<br>BOOST_PP_SEQ_TRANSFORM_S
<br>BOOST_PP_SLOT
<br>BOOST_PP_STRINGIZE
<br>BOOST_PP_SUB
<br>BOOST_PP_SUB_D
<!-- T -->
<br>BOOST_PP_TUPLE_EAT
<br>BOOST_PP_TUPLE_ELEM
<br>BOOST_PP_TUPLE_REM
<br>BOOST_PP_TUPLE_REM_CTOR
<br>BOOST_PP_TUPLE_REVERSE
<br>BOOST_PP_TUPLE_TO_LIST
<br>BOOST_PP_TUPLE_TO_SEQ
<!-- V -->
<br>BOOST_PP_VALUE
<!-- W -->
<br>BOOST_PP_WHILE
<br>BOOST_PP_WHILE_
<br>BOOST_PP_WSTRINGIZE
<!-- X -->
<br>BOOST_PP_XOR
</div> </div>
</body> </body>
</html> </html>

View File

@ -11,7 +11,7 @@
Macro expansion in the preprocessor is entirely functional.&nbsp; Therefore, Macro expansion in the preprocessor is entirely functional.&nbsp; Therefore,
there is no iteration.&nbsp; Unfortunately, the preprocessor also disallows there is no iteration.&nbsp; Unfortunately, the preprocessor also disallows
recursion.&nbsp; This means that the library must fake iteration or recursion recursion.&nbsp; This means that the library must fake iteration or recursion
by defining seqs of macros that are implemented similarly.&nbsp; by defining sets of macros that are implemented similarly.&nbsp;
</div> </div>
<div> <div>
To illustrate, here is a simple concatenation macro: To illustrate, here is a simple concatenation macro:
@ -73,7 +73,7 @@ CONCAT_1(A, B(2, p, q)) // pq
</div> </div>
<div> <div>
This is an example of <i>generic reentrance</i>, in this case, into a fictional This is an example of <i>generic reentrance</i>, in this case, into a fictional
seq of concatenation macros.&nbsp; The <code>c</code> parameter represents the set of concatenation macros.&nbsp; The <code>c</code> parameter represents the
"state" of the concatenation construct, and as long as the user keeps track of "state" of the concatenation construct, and as long as the user keeps track of
this state, <code>AB</code> can be used inside of a concatenation macro. this state, <code>AB</code> can be used inside of a concatenation macro.
</div> </div>
@ -82,8 +82,8 @@ CONCAT_1(A, B(2, p, q)) // pq
being inside itself or provide multiple, equivalent definitions of a construct being inside itself or provide multiple, equivalent definitions of a construct
and provide a uniform way to <i>reenter</i> that construct.&nbsp; There are and provide a uniform way to <i>reenter</i> that construct.&nbsp; There are
several contructs that <i>require</i> recursion (such as <b>BOOST_PP_WHILE</b>).&nbsp; several contructs that <i>require</i> recursion (such as <b>BOOST_PP_WHILE</b>).&nbsp;
Consequently, the library chooses to provide several seqs of macros with Consequently, the library chooses to provide several sets of macros with
mechanisms to reenter the seq at a macro that has not already been used. mechanisms to reenter the set at a macro that has not already been used.
</div> </div>
<div> <div>
In particular, the library must provide reentrance for <b>BOOST_PP_FOR</b>, <b>BOOST_PP_REPEAT</b>, In particular, the library must provide reentrance for <b>BOOST_PP_FOR</b>, <b>BOOST_PP_REPEAT</b>,
@ -103,7 +103,7 @@ CONCAT_1(A, B(2, p, q)) // pq
Several user-defined macros are passed to each of these constructs (for use as Several user-defined macros are passed to each of these constructs (for use as
predicates, operations, etc.).&nbsp; Every time a user-defined macro is predicates, operations, etc.).&nbsp; Every time a user-defined macro is
invoked, it is passed the current state of the construct that invoked it so invoked, it is passed the current state of the construct that invoked it so
that the macro can reenter the respective seq if necessary. that the macro can reenter the respective set if necessary.
</div> </div>
<div> <div>
These states are used in one of two ways--either by concatenating to or passing These states are used in one of two ways--either by concatenating to or passing
@ -111,8 +111,8 @@ CONCAT_1(A, B(2, p, q)) // pq
</div> </div>
<div> <div>
There are three types of macros that use these state parameters.&nbsp; First, There are three types of macros that use these state parameters.&nbsp; First,
the seq itself which is reentered through concatenation.&nbsp; Second, the set itself which is reentered through concatenation.&nbsp; Second,
corresponding seqs that act like they are a part of the the primary seq.&nbsp; corresponding sets that act like they are a part of the the primary set.&nbsp;
These are also reentered through concatenation.&nbsp; And third, macros that These are also reentered through concatenation.&nbsp; And third, macros that
internally use the first or second type of macro.&nbsp; These macros take the internally use the first or second type of macro.&nbsp; These macros take the
state as an additional argument. state as an additional argument.
@ -121,7 +121,7 @@ CONCAT_1(A, B(2, p, q)) // pq
The state of <b>BOOST_PP_WHILE</b> is symbolized by the letter <i>D</i>.&nbsp; The state of <b>BOOST_PP_WHILE</b> is symbolized by the letter <i>D</i>.&nbsp;
Two user-defined macros are passed to <b>BOOST_PP_WHILE</b>--a predicate and an Two user-defined macros are passed to <b>BOOST_PP_WHILE</b>--a predicate and an
operation.&nbsp; When <b>BOOST_PP_WHILE</b> expands these macros, it passes operation.&nbsp; When <b>BOOST_PP_WHILE</b> expands these macros, it passes
along its state so that these macros can reenter the <b>BOOST_PP_WHILE</b> seq.&nbsp; along its state so that these macros can reenter the <b>BOOST_PP_WHILE</b> set.&nbsp;
</div> </div>
<div> <div>
Consider the following multiplication implementation that illustrates this Consider the following multiplication implementation that illustrates this
@ -216,7 +216,7 @@ MUL(3, 2) // expands to 6
## <i>d</i>. ## <i>d</i>.
</div> </div>
<div> <div>
The same seq of conventions are used for <b>BOOST_PP_FOR</b> and <b>BOOST_PP_REPEAT</b>, The same set of conventions are used for <b>BOOST_PP_FOR</b> and <b>BOOST_PP_REPEAT</b>,
but with the letters <i>R</i> and <i>Z</i>, respectively, to symbolize their but with the letters <i>R</i> and <i>Z</i>, respectively, to symbolize their
states. states.
</div> </div>
@ -250,7 +250,7 @@ MUL(3, 2) // expands to 6
it works here, but suffice to say it <i>does</i> work. it works here, but suffice to say it <i>does</i> work.
</div> </div>
<div> <div>
Using automatic recursion to reenter various seqs of macros is obviously much Using automatic recursion to reenter various sets of macros is obviously much
simpler.&nbsp; It completely hides the underlying implementation details.&nbsp; simpler.&nbsp; It completely hides the underlying implementation details.&nbsp;
So, if it is so much easier to use, why do the state parameters still So, if it is so much easier to use, why do the state parameters still
exist?&nbsp; The reason is simple as well.&nbsp; When state parameters are exist?&nbsp; The reason is simple as well.&nbsp; When state parameters are
@ -276,12 +276,9 @@ MUL(3, 2) // expands to 6
See Also See Also
</h4> </h4>
<ul> <ul>
<li> <li><a href="../ref/for.html">BOOST_PP_FOR</a></li>
<a href="../ref/for.html">BOOST_PP_FOR</a></li> <li><a href="../ref/repeat.html">BOOST_PP_REPEAT</a></li>
<li> <li><a href="../ref/while.html">BOOST_PP_WHILE</a></li>
<a href="../ref/repeat.html">BOOST_PP_REPEAT</a></li>
<li>
<a href="../ref/while.html">BOOST_PP_WHILE</a></li>
</ul> </ul>
<div class="sig"> <div class="sig">
- Paul Mensonides - Paul Mensonides

View File

@ -4,6 +4,6 @@
</head> </head>
<body> <body>
Automatic redirection failed, please go to Automatic redirection failed, please go to
<a href="doc/index.htm">doc/index.htm</a>. <a href="doc/index.htm">doc/index.html</a>.
</body> </body>
</html> </html>