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
</h4>
<ul>
<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>
<a href="../../ref/limit_iteration.html">BOOST_PP_LIMIT_ITERATION</a></li>
<li>
<a href="../../ref/limit_iteration_dim.html">BOOST_PP_LIMIT_ITERATION_DIM</a></li>
<li>
<a href="../../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</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>
<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><a href="../../ref/limit_iteration.html">BOOST_PP_LIMIT_ITERATION</a></li>
<li><a href="../../ref/limit_iteration_dim.html">BOOST_PP_LIMIT_ITERATION_DIM</a></li>
<li><a href="../../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</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>
</body>
</html>

View File

@ -13,8 +13,8 @@
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/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.html">BOOST_PP_LIST_TO_TUPLE</a></li>
<li><a href="../../ref/list_to_tuple_r.html">BOOST_PP_LIST_TO_TUPLE_R</a></li>
</ul>
</body>
</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">
<frame name="index" src="contents.html" scrolling="auto">
<frame name="desc" src="blank.html" scrolling="auto">
</frameseq>
</frameset>
<noframes>
..</noframes>
</frameseq>
</frameset>
</html>

View File

@ -36,8 +36,8 @@
<div><pre>
#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.hpp">BOOST_PP_BOOL</a>(0) // expands to 0
<a href="bool.html">BOOST_PP_BOOL</a>(6) // expands to 1
<a href="bool.html">BOOST_PP_BOOL</a>(0) // expands to 0
</pre></div>
</body>
</html>

View File

@ -30,7 +30,7 @@
</h4>
<div>
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>
<h4>
See Also

View File

@ -39,8 +39,8 @@
</div>
<h4>Sample Code</h4>
<div><pre>
#include &lt;<a href="../headers/comparison/and.hpp.html">boost/preprocessor/comparison/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/logical/and.hpp.html">boost/preprocessor/logical/and.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) \
<a href="expr_iif.html">BOOST_PP_EXPR_IIF</a>( \

View File

@ -27,9 +27,9 @@
#ifndef 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>()
#endif

View File

@ -45,7 +45,7 @@
((a, (b, <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>)), \
<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))

View File

@ -59,7 +59,7 @@
#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)
// 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>
</body>
</html>

View File

@ -56,7 +56,7 @@
<h4>Sample Code</h4>
<div><pre>
#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>)))

View File

@ -53,7 +53,7 @@
<div><pre>
#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/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;
#define LIST (x, (y, (z, <a href="nil.html">BOOST_PP_NIL</a>)))

View File

@ -44,8 +44,8 @@
</div>
<h4>Sample Code</h4>
<div><pre>
#include &lt;<a href="../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/list/fold_left.hpp.html">boost/preprocessor/list/fold_left.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>)))))

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

View File

@ -11,7 +11,7 @@
Macro expansion in the preprocessor is entirely functional.&nbsp; Therefore,
there is no iteration.&nbsp; Unfortunately, the preprocessor also disallows
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>
To illustrate, here is a simple concatenation macro:
@ -73,7 +73,7 @@ CONCAT_1(A, B(2, p, q)) // pq
</div>
<div>
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
this state, <code>AB</code> can be used inside of a concatenation macro.
</div>
@ -82,8 +82,8 @@ CONCAT_1(A, B(2, p, q)) // pq
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
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
mechanisms to reenter the seq at a macro that has not already been used.
Consequently, the library chooses to provide several sets of macros with
mechanisms to reenter the set at a macro that has not already been used.
</div>
<div>
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
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
that the macro can reenter the respective seq if necessary.
that the macro can reenter the respective set if necessary.
</div>
<div>
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>
There are three types of macros that use these state parameters.&nbsp; First,
the seq itself which is reentered through concatenation.&nbsp; Second,
corresponding seqs that act like they are a part of the the primary seq.&nbsp;
the set itself which is reentered through concatenation.&nbsp; Second,
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
internally use the first or second type of macro.&nbsp; These macros take the
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;
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
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>
Consider the following multiplication implementation that illustrates this
@ -216,7 +216,7 @@ MUL(3, 2) // expands to 6
## <i>d</i>.
</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
states.
</div>
@ -250,7 +250,7 @@ MUL(3, 2) // expands to 6
it works here, but suffice to say it <i>does</i> work.
</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;
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
@ -276,12 +276,9 @@ MUL(3, 2) // expands to 6
See Also
</h4>
<ul>
<li>
<a href="../ref/for.html">BOOST_PP_FOR</a></li>
<li>
<a href="../ref/repeat.html">BOOST_PP_REPEAT</a></li>
<li>
<a href="../ref/while.html">BOOST_PP_WHILE</a></li>
<li><a href="../ref/for.html">BOOST_PP_FOR</a></li>
<li><a href="../ref/repeat.html">BOOST_PP_REPEAT</a></li>
<li><a href="../ref/while.html">BOOST_PP_WHILE</a></li>
</ul>
<div class="sig">
- Paul Mensonides