Compare commits

...

121 Commits

Author SHA1 Message Date
10047b924a This commit was manufactured by cvs2svn to create tag
'Version_1_27_0'.

[SVN r12749]
2002-02-07 13:33:59 +00:00
b9cd766ead This commit was manufactured by cvs2svn to create branch 'RC_1_27_0'.
[SVN r12739]
2002-02-06 03:32:50 +00:00
332e6a9ac4 Fixed title decoration
[SVN r12730]
2002-02-05 16:16:04 +00:00
485782792a Bibliography instead of References
[SVN r12729]
2002-02-05 16:14:26 +00:00
30da4c621b Minor simplification
[SVN r12726]
2002-02-05 12:42:59 +00:00
12b58b5b34 Added test for BOOST_PP_LIST_SIZE
[SVN r12725]
2002-02-05 12:20:00 +00:00
ce975e7b9f Changed to recommended usage style of BOOST_PP_EMPTY & BOOST_PP_IDENTITY
[SVN r12724]
2002-02-05 12:19:33 +00:00
0fc08260e2 Added link to test
[SVN r12723]
2002-02-05 12:17:12 +00:00
a13076a3c6 Updated
[SVN r12722]
2002-02-05 12:16:25 +00:00
363ca22cc2 Updated
[SVN r12721]
2002-02-05 12:13:37 +00:00
b8259b1cc9 Added link to test
[SVN r12720]
2002-02-05 12:12:07 +00:00
3805c6f71d Added test for BOOST_PP_LIST_FOR_EACH_PRODUCT()
[SVN r12719]
2002-02-05 11:30:34 +00:00
41d99b49e4 Starting to use the new templates
[SVN r12718]
2002-02-05 08:27:20 +00:00
6248559797 Doc fix
[SVN r12717]
2002-02-05 07:37:59 +00:00
6f18b29f39 Removed broken stylesheet link
[SVN r12700]
2002-02-04 19:42:54 +00:00
6bfd1b65f1 Bug fix
[SVN r12694]
2002-02-04 15:19:08 +00:00
ba2c70ef83 Updated docs
[SVN r12693]
2002-02-04 15:02:59 +00:00
00d4dc6155 Updated
[SVN r12692]
2002-02-04 15:00:30 +00:00
cda5e36015 Update
[SVN r12691]
2002-02-04 14:57:59 +00:00
f5669614af Added TUPLE_REVERSE, Fixed LIST_ENUM & LIST_FOR_EACH. Changed
LIST_FOR_EACH_PRODUCT.


[SVN r12690]
2002-02-04 14:56:27 +00:00
8432192ac0 Updated docs
[SVN r12687]
2002-02-04 13:32:28 +00:00
6fa0d837a3 Enhancing docs
[SVN r12620]
2002-02-01 11:41:38 +00:00
d791b3f756 Working on docs
[SVN r12619]
2002-02-01 11:40:52 +00:00
3b7418f9ce Working on docs
[SVN r12612]
2002-01-31 21:52:46 +00:00
b9f6fe1795 Example on using BOOST_PP_WHILE()
[SVN r12611]
2002-01-31 21:14:39 +00:00
cc15a18bf6 More examples
[SVN r12609]
2002-01-31 18:30:49 +00:00
4231b56bb1 HTML fix
[SVN r12608]
2002-01-31 17:21:59 +00:00
28ead7541e Using BOOST_PP_LIST_CAT()
[SVN r12607]
2002-01-31 16:35:35 +00:00
b9fc39ddd5 New reference
[SVN r12606]
2002-01-31 15:36:01 +00:00
2261c57310 Tweaking docs
[SVN r12604]
2002-01-31 14:21:31 +00:00
f1590b8c08 Tweaking docs
[SVN r12602]
2002-01-31 13:16:47 +00:00
31b1b43b9f Improving docs
[SVN r12598]
2002-01-31 08:12:31 +00:00
756563fb76 Working on docs.
[SVN r12587]
2002-01-30 19:53:52 +00:00
e8b6627a48 Working on docs
[SVN r12586]
2002-01-30 19:52:31 +00:00
460db18e02 Documentation in progress
[SVN r12585]
2002-01-30 17:54:36 +00:00
ae7ca5e40d Renamed delay.cpp to delay.c
[SVN r12579]
2002-01-30 14:58:05 +00:00
704705aebe Who needs templates anyway? :)
[SVN r12578]
2002-01-30 14:57:31 +00:00
7e20901c38 Ported to MSVC++ and MWCW.
[SVN r12577]
2002-01-30 14:47:44 +00:00
84a46d253a Added BOOST_PP_LIST_FOR_EACH_PRODUCT
[SVN r12572]
2002-01-30 10:23:09 +00:00
18ae25d5e5 LIST_FOR_EACH_PRODUCT() added to library
[SVN r12571]
2002-01-30 10:22:13 +00:00
9d401687ef Added but not documented LIST_FOR_EACH_PRODUCT()
[SVN r12570]
2002-01-30 10:16:39 +00:00
d0f812ce7e Acknowledged Chris Little and Mat Marcus.
[SVN r12569]
2002-01-30 08:10:52 +00:00
6b50ff7484 Refinements
[SVN r12555]
2002-01-29 15:06:47 +00:00
59180fab96 Somewhat more C friendly. Uses templates...
[SVN r12554]
2002-01-29 14:30:09 +00:00
9e361682af Somewhat more C friendly. Some tests use templates.
[SVN r12553]
2002-01-29 14:28:42 +00:00
df1244ba20 Preprocessor library is now C friendly.
[SVN r12552]
2002-01-29 14:13:10 +00:00
972f6222d1 Updated plan
[SVN r12549]
2002-01-29 12:56:26 +00:00
418a1a5654 Refinements
[SVN r12547]
2002-01-29 12:24:55 +00:00
3fce5e9ef9 Refinements
[SVN r12546]
2002-01-29 12:02:11 +00:00
9ff3bf1455 Now takes only a couple of minutes to compile.
[SVN r12545]
2002-01-29 10:48:45 +00:00
409f93a5d6 Fix
[SVN r12544]
2002-01-29 10:02:23 +00:00
9fd20dc4e2 Refinements
[SVN r12543]
2002-01-29 09:20:56 +00:00
318494b610 Added a simple example on using BOOST_PP_LIST_FOR_EACH()
[SVN r12541]
2002-01-29 08:37:56 +00:00
2c352e415d Separated unary and binary operators
[SVN r12540]
2002-01-29 07:39:06 +00:00
035c5abcd0 Who needs templates anyway!
[SVN r12537]
2002-01-28 16:17:56 +00:00
1fc3933855 MWCW workaround
[SVN r12506]
2002-01-25 15:26:51 +00:00
0021c42186 Minor technical detail added
[SVN r12499]
2002-01-25 13:54:07 +00:00
6d04d3068b MWCW workarounds
[SVN r12497]
2002-01-25 13:15:56 +00:00
e481dd2824 Removed doxygen version from generated docs - avoids redundant updates!
[SVN r12496]
2002-01-25 13:14:30 +00:00
18f3c4b6ae MWCW workarounds
[SVN r12494]
2002-01-25 13:00:03 +00:00
7fe7c1cb6b Reduced maximum recursion depth requirement
[SVN r12484]
2002-01-24 17:09:40 +00:00
8c690013f4 Added DELAY() example
[SVN r12479]
2002-01-24 15:58:43 +00:00
64e6a56ad0 Minor optimization
[SVN r12478]
2002-01-24 14:06:21 +00:00
28f575096e Minor optimizations
[SVN r12474]
2002-01-24 13:19:20 +00:00
7413d48c47 Minor optimizations
[SVN r12466]
2002-01-23 19:10:47 +00:00
b6dbf78f24 Added a test without rescan
[SVN r12465]
2002-01-23 18:58:18 +00:00
1bfd0f8c40 Minor optimizations
[SVN r12462]
2002-01-23 17:20:54 +00:00
e2d7a2559a Minor optimizations
[SVN r12460]
2002-01-23 16:41:44 +00:00
6c66df95c8 Minor optimization of list processing
[SVN r12458]
2002-01-23 15:16:21 +00:00
f58a5b4e7d BOOST_PP_LIMIT_TUPLE extended to 16
[SVN r12452]
2002-01-23 11:28:10 +00:00
2a8190cf92 Shorter list to reduce compiling time from 13 to 5 on EDG based compilers
[SVN r12445]
2002-01-22 18:09:36 +00:00
09546e072c BOOST_PP_EXPAND now used only as a workaround
[SVN r12441]
2002-01-22 13:41:53 +00:00
cf2315ddea Removed replacement rescan from tests.
Made requirements for BOOST_PP_CAT and BOOST_PP_STRINGIZE stronger.


[SVN r12440]
2002-01-22 13:38:55 +00:00
0724dd58dc Removed apparently redundant uses of BOOST_PP_EXPAND()
[SVN r12438]
2002-01-22 13:35:09 +00:00
aeea661a59 Recognized MSVC++ workaround
[SVN r12437]
2002-01-22 13:33:39 +00:00
fa88c0d360 Changed implementation to allow macro expansion of macro arguments
[SVN r12436]
2002-01-22 13:32:06 +00:00
178a8ab429 Added list data structure
[SVN r12433]
2002-01-22 10:29:42 +00:00
0206bbaa60 Added list data structure
[SVN r12431]
2002-01-22 10:18:08 +00:00
e562e2478b Update documentation
[SVN r12400]
2002-01-21 19:21:24 +00:00
e1af246b06 2D repetition example added to documentation
[SVN r12399]
2002-01-21 19:18:51 +00:00
c518362505 C/C++ -> C++
[SVN r12398]
2002-01-21 19:17:40 +00:00
a07e8b26b7 Minor documentation change
[SVN r12397]
2002-01-21 19:05:49 +00:00
255317ea1b Changed primary e-mail address for Boost development
[SVN r12377]
2002-01-20 19:45:23 +00:00
2e11cfcd42 Refactored the test not to use an O(N*N) operation. Repetition count remains the same.
[SVN r12374]
2002-01-20 17:46:01 +00:00
fbea3f4f9f Increased repetition count of the test to reveal performance issues
[SVN r12373]
2002-01-20 17:42:29 +00:00
3789decea9 Better browsing support
[SVN r12371]
2002-01-20 16:49:07 +00:00
e4516ada6a Added BOOST_PP_FOR, BOOST_PP_ENUM, BOOST_PP_ENUM_SHIFTED
[SVN r12370]
2002-01-20 16:31:41 +00:00
b98a594400 Added BOOST_PP_FOR
[SVN r12369]
2002-01-20 16:29:23 +00:00
73218bea71 Added BOOST_PP_ENUM, BOOST_PP_ENUM_SHIFTED, BOOST_PP_FOR,
BOOST_PP_EXPAND


[SVN r12368]
2002-01-20 16:25:09 +00:00
7653a0a42a Documentation terminology corrected: function -> macro
[SVN r12363]
2002-01-19 20:22:43 +00:00
03e35a4408 Added BOOST_PP_EXPAND()
[SVN r12362]
2002-01-19 20:14:32 +00:00
609357592a Added BOOST_PP_TUPLE_EAT
[SVN r12325]
2002-01-15 16:58:55 +00:00
ea1c66e021 tuple.hpp split.
[SVN r12297]
2002-01-13 15:54:51 +00:00
90e8e9557e BOOST_PP_EAT() added & tuple.hpp split.
[SVN r12296]
2002-01-13 15:53:15 +00:00
6644430159 TUPLE_EAT added
[SVN r12295]
2002-01-13 15:42:53 +00:00
a4dc24ae7c IF uses TUPLE_ELEM to remove two macros
[SVN r12294]
2002-01-13 15:27:25 +00:00
590d3be836 tuple functionality will be divided into multiple headers
[SVN r12293]
2002-01-13 15:23:50 +00:00
4835f0392d minor comment change
[SVN r12292]
2002-01-13 15:17:02 +00:00
5adad67c89 Minor changes.
[SVN r12206]
2002-01-03 14:56:18 +00:00
1f2380191c Bug fix: missing type in TEST() macro.
[SVN r12174]
2001-12-31 11:26:55 +00:00
d8b52a3a42 PREPROCESSOR -> PP. WHILE documented.
[SVN r12162]
2001-12-28 11:06:53 +00:00
5991b00456 Removed unnecessary #includes.
[SVN r12161]
2001-12-28 11:05:11 +00:00
aa53f0052b Split unit test for more fine grained test results
[SVN r12159]
2001-12-28 08:41:34 +00:00
7b1499c976 bumped workaround number to accomodate CodeWarrior beta compiler
[SVN r12124]
2001-12-19 21:30:15 +00:00
6218e5799d Reduced recursion depths due to excessive compile times on EDG
[SVN r12082]
2001-12-17 15:33:10 +00:00
f6d5ec02a8 Removed MUL(50,50), because it takes too much time on some compilers
[SVN r12013]
2001-12-11 07:58:08 +00:00
27466e7d4d Lowered implicitly tested maximum iteration depth slightly
[SVN r12011]
2001-12-10 22:27:07 +00:00
a612153a59 Added MOD
[SVN r12010]
2001-12-10 22:15:42 +00:00
cd69e240b3 Added MOD and implemented ADD, SUB & MUL using WHILE reducing internal repetition
[SVN r12009]
2001-12-10 22:11:42 +00:00
ef938f3335 Removed confusing #include information
[SVN r11987]
2001-12-09 14:30:29 +00:00
90f8bb2304 Compressed while implementation
[SVN r11942]
2001-12-05 22:24:23 +00:00
692025092b Fixed long file names
[SVN r11933]
2001-12-05 18:21:47 +00:00
4c2d36fad3 *** empty log message ***
[SVN r11931]
2001-12-05 17:02:26 +00:00
40de542d88 CodeWarrior workaround
[SVN r11930]
2001-12-05 16:53:42 +00:00
0e7988bb46 Minor updates
[SVN r11889]
2001-12-03 22:29:23 +00:00
5eae85ecd9 Apparently the doxygen generated style sheet was not used.
[SVN r11886]
2001-12-03 21:36:46 +00:00
0dd5c9fe3d Removed doxygen.gif - it is not needed
[SVN r11885]
2001-12-03 21:33:51 +00:00
d9ab221221 Reference document generation files
[SVN r11884]
2001-12-03 21:27:13 +00:00
7b5dd2ba63 Official copyright holder in Finland is "Housemarque Oy"
[SVN r11883]
2001-12-03 21:20:27 +00:00
4eac3f9372 Official copyright holder in Finland is "Housemarque Oy"
[SVN r11880]
2001-12-03 21:11:11 +00:00
f380b1a2d3 Moved test rationale to test code file
[SVN r11878]
2001-12-03 20:58:50 +00:00
211 changed files with 9841 additions and 5769 deletions

40
doc/acknowledgements.htm Normal file
View File

@ -0,0 +1,40 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Acknowledgements</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Acknowledgements</h2>
</td>
</tr>
</table>
<hr>
<p>The original idea of passing two extra parameters to REPEAT, which makes it
possible to create preprocessor code on top of it, was due to Aleksey Gurtovoy.
The invokeable IDENTITY macro was also invented by him. He also suggested the
name for the library. Many thanks to Aleksey for his insights!</p>
<p>Thanks to everyone who participated in the review: David Abrahams, Beman Dawes,
Ronald Garcia, Douglas Gregor, Aleksey Gurtovoy, Jeremy Siek, and Daryle Walker.</p>
<p>Thanks to Chris Little and Mat Marcus for providing help with MWCW.</p>
<p>The PREPROCESSOR library has been developed by Vesa Karvonen. </p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
</p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body>
</html>

47
doc/bibliography.htm Normal file
View File

@ -0,0 +1,47 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Bibliography</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Bibliography</h2>
</td>
</tr>
</table>
<hr>
<table>
<tr><td><b>[Stroustrup]</b></td><td><a name="[Stroustrup]">Stroustrup: <i>The Design and Evolution of C++</i>, ISBN 0201543303</a></td></tr>
<tr><td><b>[Czarnecki]</b></td><td><a name="[Czarnecki]">Czarnecki, Eisenecker: <i>Generative Programming</i>, ISBN 0201309777</a></td></tr>
<tr><td><b>[Barton]</b></td><td><a name="[Barton]">Barton, Nackman: <i>Scientific and Engineering C++</i>, ISBN 0201533936</a></td></tr>
<tr><td><b>[McConnell]</b></td><td><a name="[McConnell]">McConnell: <i>Code Complete</i>, ISBN 1556154844</a></td></tr>
<tr><td><b>[Std]</b></td><td><a name="[Std]">ISO/IEC 14882:1998 <i>Programming languages - C++</i></a></td></tr>
<tr><td><b>[Thompson]</b></td><td><a name="[Thompson]">Thompson: <i>Haskell: The Craft of Functional Programming</i>, ISBN 0201342758</a></td></tr>
<tr><td><b>[Okasaki]</b></td><td><a name="[Okasaki]">Okasaki: <i>Purely Functional Data Structures</i>, ISBN 0521663504</a></td></tr>
<tr><td><b>[Cousineau]</b></td><td><a name="[Cousineau]">Cousineau, Mauny: <i>The Functional Approach to Programming</i>, ISBN 0521576814</a></td></tr>
<tr><td><b>[Abelson]</b></td><td><a name="[Abelson]">Abelson, Sussman, Sussman: <i>Structure and Interpretation of Computer Programs</i>, ISBN 0262011530</a></td></tr>
</table>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
</p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body>
</html>

View File

@ -1,16 +1,22 @@
<html>
<head>
<title>Boost PREPROCESSOR library</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Tutorial examples preprocessed</title>
</head>
<body bgcolor="#FFFFFF">
<a href="index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../c++boost.gif"
width=277 align=center></a>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Tutorial examples preprocessed</h2>
</td>
</tr>
</table>
<hr>
<h1>Boost PREPROCESSOR library: Tutorial examples preprocessed</h1>
<p>The following code snippets were produced by actually preprocessing the code
snippets of the tutorial. After preprocessing the code was reformatted manually.</p>
@ -76,7 +82,7 @@ vec&lt;T,n&gt;&
<hr>
<p><strong><a name="UNUSED"></a><a href="tutorial.htm#UNUSED">EXAMPLE</a>:</strong>
Use BOOST_PREPROCESSOR_EMPTY() as an unused parameter in Local Macro instantiations</p>
Use BOOST_PP_EMPTY() as an unused parameter in Local Macro instantiations</p>
<blockquote>
<pre>template&lt;class base&gt;
@ -100,7 +106,7 @@ const typename implement_subscript_using_begin_subscript&lt;base&gt;::value_type
</blockquote>
<hr>
<p><b><a name="CAT"></a><a href="tutorial.htm#CAT">EXAMPLE:</a></b> Use BOOST_PREPROCESSOR_CAT instead of ## when necessary</p>
<p><b><a name="CAT"></a><a href="tutorial.htm#CAT">EXAMPLE:</a></b> Use BOOST_PP_CAT instead of ## when necessary</p>
<blockquote>
<pre>enum
@ -113,7 +119,7 @@ typedef char
</pre>
</blockquote>
<hr>
<p><b><a name="STRINGIZE"></a><a href="tutorial.htm#STRINGIZE">EXAMPLE:</a></b> Use BOOST_PREPROCESSOR_STRINGIZE instead of # whenever necessary</p>
<p><b><a name="STRINGIZE"></a><a href="tutorial.htm#STRINGIZE">EXAMPLE:</a></b> Use BOOST_PP_STRINGIZE instead of # whenever necessary</p>
<blockquote>
<pre>#pragma message("examples.cpp" "(" "20" ") : " "TBD!")</pre>
</blockquote>
@ -121,12 +127,12 @@ typedef char
<p><strong><a name="ENUM_PARAMS"></a><a href="tutorial.htm#ENUM_PARAMS">EXAMPLE</a>:</strong>
Use:</p>
<ul>
<li> BOOST_PREPROCESSOR_ENUM_PARAMS,</li>
<li> BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT,</li>
<li> BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS,</li>
<li> BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS, or</li>
<li>BOOST_PREPROCESSOR_REPEAT, and</li>
<li> BOOST_PREPROCESSOR_COMMA_IF</li>
<li> BOOST_PP_ENUM_PARAMS,</li>
<li> BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT,</li>
<li> BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS,</li>
<li> BOOST_PP_ENUM_SHIFTED_PARAMS, or</li>
<li>BOOST_PP_REPEAT, and</li>
<li> BOOST_PP_COMMA_IF</li>
</ul>
<p>to avoid O(N) repetition on lists in general</p>
<blockquote>
@ -177,7 +183,7 @@ public:
<hr>
<p><strong><a name="Token Look-Up"></a><a href="tutorial.htm#Token Look-Up">EXAMPLE</a>:</strong>
Use BOOST_PREPROCESSOR_REPEAT and a Token Look-Up Function to eliminate categorical
Use BOOST_PP_REPEAT and a Token Look-Up Function to eliminate categorical
repetition</p>
<blockquote>
@ -238,7 +244,7 @@ catch (long double t)
<hr>
<p><strong><a name="2ND_REPEAT"></a><a href="tutorial.htm#2ND_REPEAT">EXAMPLE</a>:</strong>
Use BOOST_PREPROCESSOR_REPEAT_2ND to avoid O(N*N) repetition</p>
Use BOOST_PP_REPEAT_2ND to avoid O(N*N) repetition</p>
<blockquote>
<pre>vec()
@ -302,7 +308,7 @@ vec(T a0, T a1, T a2, T a3, T a4, T a5, T a6, T a7)
<p>
<hr>
<p><a name="IF"></a><a href="tutorial.htm#IF"><b>EXAMPLE:</b></a>
Use BOOST_PREPROCESSOR_IF to implement special case for the first element</p>
Use BOOST_PP_IF to implement special case for the first element</p>
<blockquote>
<pre>false == false;
@ -323,12 +329,15 @@ BAD PARAMS FOR SPECIAL_NUMBERED_LIST! E0, E1, E2, S</pre>
</blockquote>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Updated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" -->
<p></p>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
</p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body>
</html>

View File

@ -1,55 +1,41 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Boost PREPROCESSOR library</TITLE>
<BODY bgcolor="#FFFFFF">
<IMG
src="../../../c++boost.gif"
alt="c++boost.gif (8819 bytes)" align=center width="277" height="86">
<hr>
<h1>Boost PREPROCESSOR library</h1>
<p>C++ programming sometimes involves repeating lists of template or function
parameters. Such repetition is troublesome, because it tends to be done manually,
which means that the maximum number of parameters is bound into the design of
the program making it difficult to configure. Automating the repetition using
extra linguistic tools introduces another set of problems.</p>
<p>The C preprocessor is part of the C++ language and can manipulate and generate
tokens. Unfortunately the C preprocessor is also a very low level macro processor.
In particular, it doesn't directly support repetition or recursion. Fortunately
it is possible to perform finite repetition and recursion using a library of
preprocessor primitives.</p>
<p>The PREPROCESSOR library provides facilities for C preprocessor metaprogramming.
Preprocessor metaprogramming makes it possible to generate function and template
parameter lists and make libraries configurable through preprocessor definitions.</p>
<h2>Documentation</h2>
<DL>
<LI><A href="tutorial.htm">Tutorial</A>
<LI><A href="reference/index.html">Reference</A>
<LI><a href="known_problems_with_cpp.htm">Widely known problems with the C preprocessor</a>
<LI><A href="keywords.txt">Keywords for syntax highlighting</A>
<LI><A href="references.htm">References</A>
<LI><A href="problems_with_compilers.htm">Known problems with specific compilers</A>
</DL>
<h3>Acknowledgements</h3>
<p>The original idea of passing two extra parameters to REPEAT, which makes it
possible to create preprocessor code on top of it, was due to Aleksey Gurtovoy.
The invokeable IDENTITY macro was also invented by him. He also suggested the
name for the library. Many thanks to Aleksey for his insights!</p>
<p>Thanks to everyone who participated in the review: David Abrahams, Beman Dawes,
Ronald Garcia, Douglas Gregor, Aleksey Gurtovoy, Jeremy Siek, and Daryle Walker.</p>
<p>The PREPROCESSOR library has been developed by
<a href="../../../people/vesa_karvonen.htm">Vesa Karvonen</a>.</p>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Index</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Index</h2>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Updated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan -->30 Nov 2001<!--webbot bot="Timestamp" i-checksum="15239" endspan -->
<p></p>
</BODY></HTML>
<h2>Contents</h2>
<dl>
<dt><a href="tutorial.htm">Tutorial</a></dt>
<dt><a href="reference/index.htm">Reference</a></dt>
<dt><a href="known_problems_with_cpp.htm">Widely known problems with the C preprocessor</a></dt>
<dt><a href="keywords.txt">Keywords for syntax highlighting</a></dt>
<dt><a href="problems_with_compilers.htm">Known problems with specific compilers</a></dt>
<dt><a href="bibliography.htm">Bibliography</a></dt>
<dt><a href="acknowledgements.htm">Acknowledgements</a></dt>
</dl>
<hr>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body>
</html>

View File

@ -1,39 +1,69 @@
BOOST_PREPROCESSOR_ADD
BOOST_PREPROCESSOR_AND
BOOST_PREPROCESSOR_ASSERT_MSG
BOOST_PREPROCESSOR_BOOL
BOOST_PREPROCESSOR_CAT
BOOST_PREPROCESSOR_COMMA
BOOST_PREPROCESSOR_COMMA_IF
BOOST_PREPROCESSOR_DEC
BOOST_PREPROCESSOR_DIV
BOOST_PREPROCESSOR_EMPTY
BOOST_PREPROCESSOR_ENUM_PARAMS
BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT
BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS
BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS
BOOST_PREPROCESSOR_EQUAL
BOOST_PREPROCESSOR_GREATER
BOOST_PREPROCESSOR_GREATER_EQUAL
BOOST_PREPROCESSOR_IDENTITY
BOOST_PREPROCESSOR_IF
BOOST_PREPROCESSOR_INC
BOOST_PREPROCESSOR_LESS
BOOST_PREPROCESSOR_LESS_EQUAL
BOOST_PREPROCESSOR_LIMIT_DIM
BOOST_PREPROCESSOR_LIMIT_MAG
BOOST_PREPROCESSOR_LIMIT_TUPLE
BOOST_PREPROCESSOR_MAX
BOOST_PREPROCESSOR_MIN
BOOST_PREPROCESSOR_MUL
BOOST_PREPROCESSOR_NOR
BOOST_PREPROCESSOR_NOT
BOOST_PREPROCESSOR_NOT_EQUAL
BOOST_PREPROCESSOR_OR
BOOST_PREPROCESSOR_REPEAT
BOOST_PREPROCESSOR_REPEAT_2ND
BOOST_PREPROCESSOR_REPEAT_3RD
BOOST_PREPROCESSOR_STRINGIZE
BOOST_PREPROCESSOR_SUB
BOOST_PREPROCESSOR_TUPLE_ELEM
BOOST_PREPROCESSOR_XOR
BOOST_PP_ADD
BOOST_PP_AND
BOOST_PP_ASSERT_MSG
BOOST_PP_BOOL
BOOST_PP_CAT
BOOST_PP_COMMA
BOOST_PP_COMMA_IF
BOOST_PP_DEC
BOOST_PP_DIV
BOOST_PP_EMPTY
BOOST_PP_ENUM
BOOST_PP_ENUM_PARAMS
BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT
BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS
BOOST_PP_ENUM_SHIFTED
BOOST_PP_ENUM_SHIFTED_PARAMS
BOOST_PP_EQUAL
BOOST_PP_EXPAND
BOOST_PP_FOR
BOOST_PP_GREATER
BOOST_PP_GREATER_EQUAL
BOOST_PP_IDENTITY
BOOST_PP_IF
BOOST_PP_INC
BOOST_PP_LESS
BOOST_PP_LESS_EQUAL
BOOST_PP_LIMIT_DIM
BOOST_PP_LIMIT_MAG
BOOST_PP_LIMIT_TUPLE
BOOST_PP_LIST_APPEND
BOOST_PP_LIST_AT
BOOST_PP_LIST_CAT
BOOST_PP_LIST_CONS
BOOST_PP_LIST_ENUM
BOOST_PP_LIST_FILTER
BOOST_PP_LIST_FIRST
BOOST_PP_LIST_FIRST_N
BOOST_PP_LIST_FOLD_LEFT
BOOST_PP_LIST_FOLD_RIGHT
BOOST_PP_LIST_FOR_EACH
BOOST_PP_LIST_FOR_EACH_PRODUCT
BOOST_PP_LIST_IS_CONS
BOOST_PP_LIST_IS_NIL
BOOST_PP_LIST_NIL
BOOST_PP_LIST_REST
BOOST_PP_LIST_REST_N
BOOST_PP_LIST_REVERSE
BOOST_PP_LIST_SIZE
BOOST_PP_LIST_TO_TUPLE
BOOST_PP_LIST_TRANSFORM
BOOST_PP_MAX
BOOST_PP_MIN
BOOST_PP_MOD
BOOST_PP_MUL
BOOST_PP_NOR
BOOST_PP_NOT
BOOST_PP_NOT_EQUAL
BOOST_PP_OR
BOOST_PP_REPEAT
BOOST_PP_REPEAT_2ND
BOOST_PP_REPEAT_3RD
BOOST_PP_STRINGIZE
BOOST_PP_SUB
BOOST_PP_TUPLE_EAT
BOOST_PP_TUPLE_ELEM
BOOST_PP_TUPLE_REVERSE
BOOST_PP_TUPLE_TO_LIST
BOOST_PP_WHILE
BOOST_PP_XOR

View File

@ -1,17 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Boost PREPROCESSOR library</TITLE>
<BODY bgcolor="#ffffff">
<a href="index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../c++boost.gif"
width=277 align=center></a>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Widely known problems with the C preprocessor</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Widely known problems with the C preprocessor</h2>
</td>
</tr>
</table>
<hr>
<h1>Boost PREPROCESSOR library:&nbsp;Widely known problems with the C preprocessor</h1>
<p>
Preprocessor metaprogramming is subject to heated discussions. Part of this is caused by
<p>Preprocessor metaprogramming is subject to heated discussions. Part of this is caused by
bad experiences with dangerous techniques, such as defining inline functions using macros. As a rule
of thumb, if you can find a clean and
manageable way to do something without using the preprocessor, then
@ -92,22 +100,25 @@ substituting the parameters of the macro. </P>
simply by using a search and replace tool. </LI></UL>
<P><B><EM> An especially important thing to remember is to limit the use of&nbsp;preprocessor
to the structured, well understood and safe methods. Structure helps to understand
complex systems <A href="references.htm#[4]">[4]</A>.</EM></B></P>
complex systems <A href="bibliography.htm#[McConnell]">[McConnell]</A>.</EM></B></P>
<HR>
<P><B>PROBLEM:</B> "I'd
like to see Cpp abolished." - Bjarne Stroustrup in&nbsp;<A href="references.htm#[1]">[1]</A></P>
like to see Cpp abolished." - Bjarne Stroustrup in&nbsp;<A href="bibliography.htm#[Stroustrup]">[Stroustrup]</A></P>
<P><B>SOLUTION:</B>&nbsp;The C preprocessor&nbsp;will be here for a
long time.</P>
<P><EM><B>In practice, preprocessor metaprogramming is far simpler and more portable
than template metaprogramming <A href="references.htm#[2]">[2]</A>.</B></EM></P>
than template metaprogramming <A href="bibliography.htm#[Czarnecki]">[Czarnecki]</A>.</B></EM></P>
<hr>
<P><EFBFBD> Copyright Housemarque, Inc. 2001</P>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Updated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p></p>
</BODY></HTML>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
</p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body>
</html>

View File

@ -1,21 +1,10 @@
If you have suggestions for additions or improvements to this library,
please e-mail such suggestions to boost@yahoogroups.com, but also cc
them to vesa.karvonen@housemarque.fi.
them to vesa_karvonen@hotmail.com.
Issues:
- case studies
- more isolated examples & less complex examples in tutorial
-> Please e-mail suggestions to vesa.karvonen@housemarque.fi
Resolved for now:
- explanations of tricky issues with macro replacement
- how macros are expanded, step-by-step examples
- delay of # and ##
- recursion prohibition
-> Just refer to the standard. It is not the purpose of the documentation to teach C++.
- arithmetic
- The preprocessor limitations seem to make it impossible to achieve both:
- O(1) _size_ implementation of ADD, SUB, MUL, DIV, ...
- ease of use
-> I have choosen ease of use and used O(N) size implementations
Current:
- Writing examples
- Improving documentation
- Categorization of preprocessor bugs
- Faster preprocessing
- Faster arithmetic

View File

@ -1,13 +1,23 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Boost PREPROCESSOR library</TITLE>
<BODY bgcolor="#ffffff">
<a href="index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../c++boost.gif"
width=277 align=center></a>
<hr>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Known problems with specific compilers</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Known problems with specific compilers</h2>
</td>
</tr>
</table>
<h1>Boost PREPROCESSOR library:&nbsp;Known problems with specific compilers</h1>
<hr>
<p> Some compilers have buggy or limited preprocessors. This page explains known
problems with specific compilers.</p>
@ -46,8 +56,8 @@ int c IDENTITY_MACRO(IDENTITY_MACRO(COMMA_TOKEN))() d; // this doesn't
macro that does work on MWCW:</p>
<blockquote>
<pre>#define NUMBERED_EXPRESSION(n, x) \
BOOST_PREPROCESSOR_CAT(BOOST_, \
BOOST_PREPROCESSOR_IF( \
BOOST_PP_CAT(BOOST_, \
BOOST_PP_IF( \
n \
, PREPROCESSOR_IDENTITY(x##n) \
, PREPROCESSOR_EMPTY \
@ -74,11 +84,11 @@ typedef char yes_type;
#define IS_FUNCTION_HELPER(I,A)\
template\
&ltBOOST_PREPROCESSOR_ENUM_PARAMS(BOOST_PREPROCESSOR_INC(I),class P)&gt;\
&ltBOOST_PP_ENUM_PARAMS(BOOST_PP_INC(I),class P)&gt;\
yes_type is_function_helper(\
P0 (*)(BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS(BOOST_PREPROCESSOR_INC(I),P)));
P0 (*)(BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_INC(I),P)));
BOOST_PREPROCESSOR_REPEAT_2ND(BOOST_PREPROCESSOR_INC(IS_FUNCTION_HELPER_TEST_MAX),IS_FUNCTION_HELPER,A)
BOOST_PP_REPEAT_2ND(BOOST_PP_INC(IS_FUNCTION_HELPER_TEST_MAX),IS_FUNCTION_HELPER,A)
#undef IS_FUNCTION_HELPER
</pre></blockquote>
@ -115,12 +125,15 @@ BOOST_PREPROCESSOR_REPEAT_2ND(BOOST_PREPROCESSOR_INC(IS_FUNCTION_HELPER_TEST_MAX
<p align="right"><i>Reported by Aleksey Gurtovoy</i></p>
<hr>
<P><EFBFBD> Copyright Housemarque, Inc. 2001</P>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Updated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p></p>
</BODY></HTML>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
</p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body>
</html>

View File

@ -1,58 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>add.hpp File Reference</h1><code>#include &lt;boost/preprocessor/inc.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="add_8hpp.html#a0">BOOST_PREPROCESSOR_ADD</a>(X, Y)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to the sum of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/arithmetic/add.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="add.hpp::BOOST_PREPROCESSOR_ADD"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ADD</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X, <tr>
<td></td>
<td></td>
<td class="md" nowrap>Y&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to the sum of X and Y.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,59 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>and.hpp File Reference</h1><code>#include &lt;boost/preprocessor/logical/nor.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/logical/not.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="and_8hpp.html#a0">BOOST_PREPROCESSOR_AND</a>(X, Y)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to the logical AND of the operands.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/logical/and.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="and.hpp::BOOST_PREPROCESSOR_AND"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_AND</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X, <tr>
<td></td>
<td></td>
<td class="md" nowrap>Y&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to the logical AND of the operands.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -0,0 +1,41 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="while.htm">Prev</a> <a href="arithmetic_add.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/arithmetic.hpp">boost/preprocessor/arithmetic.hpp</a>&gt;</h1>
<p>Includes all arithmetic headers.</p>
<hr>
<a href="while.htm">Prev</a> <a href="arithmetic_add.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,25 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>arithmetic.hpp File Reference</h1><code>#include &lt;boost/preprocessor/arithmetic/add.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/arithmetic/div.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/arithmetic/mul.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/arithmetic/sub.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/arithmetic.hpp">Click here to see the header.</a>
<p>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -0,0 +1,63 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="arithmetic.htm">Prev</a> <a href="arithmetic_div.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/arithmetic/add.hpp">boost/preprocessor/arithmetic/add.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_ADD">#define BOOST_PP_ADD</a>(X,Y)</h2>
<p>Expands to the sum of <code>X</code> and <code>Y</code>.</p>
<p>For example, <code><a href="arithmetic_add.htm#BOOST_PP_ADD">BOOST_PP_ADD</a>(4,3)</code> expands to <code>7</code> (a
single token).</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_ADD">#define BOOST_PREPROCESSOR_ADD</a>(X,Y)</h2>
<p>Obsolete. Use <a href="arithmetic_add.htm#BOOST_PP_ADD">BOOST_PP_ADD</a>().</p>
<hr>
<a href="arithmetic.htm">Prev</a> <a href="arithmetic_div.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,63 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="arithmetic_add.htm">Prev</a> <a href="arithmetic_mod.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/arithmetic/div.hpp">boost/preprocessor/arithmetic/div.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_DIV">#define BOOST_PP_DIV</a>(X,Y)</h2>
<p>Expands to the quotient of <code>X</code> and <code>Y</code>.</p>
<p>For example, <code><a href="arithmetic_div.htm#BOOST_PP_DIV">BOOST_PP_DIV</a>(4,3)</code> expands to <code>1</code> (a
single token).</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_DIV">#define BOOST_PREPROCESSOR_DIV</a>(X,Y)</h2>
<p>Obsolete. Use <a href="arithmetic_div.htm#BOOST_PP_DIV">BOOST_PP_DIV</a>().</p>
<hr>
<a href="arithmetic_add.htm">Prev</a> <a href="arithmetic_mod.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,63 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="arithmetic_div.htm">Prev</a> <a href="arithmetic_mul.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/arithmetic/mod.hpp">boost/preprocessor/arithmetic/mod.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_MOD">#define BOOST_PP_MOD</a>(X,Y)</h2>
<p>Expands to the remainder of <code>X</code> and <code>Y</code>.</p>
<p>For example, <code><a href="arithmetic_mod.htm#BOOST_PP_MOD">BOOST_PP_MOD</a>(4,3)</code> expands to <code>1</code> (a
single token).</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_MOD">#define BOOST_PREPROCESSOR_MOD</a>(X,Y)</h2>
<p>Obsolete. Use <a href="arithmetic_mod.htm#BOOST_PP_MOD">BOOST_PP_MOD</a>().</p>
<hr>
<a href="arithmetic_div.htm">Prev</a> <a href="arithmetic_mul.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,63 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="arithmetic_mod.htm">Prev</a> <a href="arithmetic_sub.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/arithmetic/mul.hpp">boost/preprocessor/arithmetic/mul.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_MUL">#define BOOST_PP_MUL</a>(X,Y)</h2>
<p>Expands to the product of <code>X</code> and <code>Y</code>.</p>
<p>For example, <code><a href="arithmetic_mul.htm#BOOST_PP_MUL">BOOST_PP_MUL</a>(4,3)</code> expands to <code>12</code> (a
single token).</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_MUL">#define BOOST_PREPROCESSOR_MUL</a>(X,Y)</h2>
<p>Obsolete. Use <a href="arithmetic_mul.htm#BOOST_PP_MUL">BOOST_PP_MUL</a>().</p>
<hr>
<a href="arithmetic_mod.htm">Prev</a> <a href="arithmetic_sub.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,63 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="arithmetic_mul.htm">Prev</a> <a href="assert_msg.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/arithmetic/sub.hpp">boost/preprocessor/arithmetic/sub.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_SUB">#define BOOST_PP_SUB</a>(X,Y)</h2>
<p>Expands to the difference of <code>X</code> and <code>Y</code>.</p>
<p>For example, <code><a href="arithmetic_sub.htm#BOOST_PP_SUB">BOOST_PP_SUB</a>(4,3)</code> expands to <code>1</code> (a
single token).</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_SUB">#define BOOST_PREPROCESSOR_SUB</a>(X,Y)</h2>
<p>Obsolete. Use <a href="arithmetic_sub.htm#BOOST_PP_SUB">BOOST_PP_SUB</a>(X,Y).</p>
<hr>
<a href="arithmetic_mul.htm">Prev</a> <a href="assert_msg.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,60 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>assert_msg.hpp File Reference</h1><code>#include &lt;boost/preprocessor/empty.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/identity.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/if.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="assert__msg_8hpp.html#a0">BOOST_PREPROCESSOR_ASSERT_MSG</a>(C, MSG)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to nothing if C != 0 and to MSG if C == 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/assert_msg.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="assert_msg.hpp::BOOST_PREPROCESSOR_ASSERT_MSG"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ASSERT_MSG</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">C, <tr>
<td></td>
<td></td>
<td class="md" nowrap>MSG&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to nothing if C != 0 and to MSG if C == 0.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -0,0 +1,50 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="arithmetic_sub.htm">Prev</a> <a href="cat.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/assert_msg.hpp">boost/preprocessor/assert_msg.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_ASSERT_MSG">#define BOOST_PP_ASSERT_MSG</a>(C,MSG)</h2>
<p>Expands to nothing if <code>C != 0</code> and to <code>MSG</code> if
<code>C == 0</code>.</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_ASSERT_MSG">#define BOOST_PREPROCESSOR_ASSERT_MSG</a>(C,MSG)</h2>
<p>Obsolete. Use <a href="assert_msg.htm#BOOST_PP_ASSERT_MSG">BOOST_PP_ASSERT_MSG</a>().</p>
<hr>
<a href="arithmetic_sub.htm">Prev</a> <a href="cat.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,54 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>bool.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="bool_8hpp.html#a0">BOOST_PREPROCESSOR_BOOL</a>(X)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to 0 if X == 0 and 1 if X != 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/logical/bool.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="bool.hpp::BOOST_PREPROCESSOR_BOOL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_BOOL</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to 0 if X == 0 and 1 if X != 0.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

61
doc/reference/cat.htm Normal file
View File

@ -0,0 +1,61 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="assert_msg.htm">Prev</a> <a href="comma.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/cat.hpp">boost/preprocessor/cat.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_CAT">#define BOOST_PP_CAT</a>(X,Y)</h2>
<p>Concatenates <code>X</code> and <code>Y</code> after they are macro
expanded.</p>
<h3>Example</h3>
<ul>
<li><a href="../../example/static_assert.c">static_assert.c</a></li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/preprocessor_test.cpp">preprocessor_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_CAT">#define BOOST_PREPROCESSOR_CAT</a>(X,Y)</h2>
<p>Obsolete. Use <a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>().</p>
<hr>
<a href="assert_msg.htm">Prev</a> <a href="comma.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,96 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>cat.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="cat_8hpp.html#a0">BOOST_PREPROCESSOR_CAT</a>(L, R)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Delays the catenation of L and R.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/cat.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="cat.hpp::BOOST_PREPROCESSOR_CAT"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_CAT</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">L, <tr>
<td></td>
<td></td>
<td class="md" nowrap>R&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Delays the catenation of L and R.
<p>
Example:
<p>
<pre><div class="fragment"><pre>
#define STATIC_ASSERT(EXPR)\
enum\
{ BOOST_PREPROCESSOR_CAT(static_check_,__LINE__) = (EXPR) ? 1 : -1\
};\
typedef char\
BOOST_PREPROCESSOR_CAT(static_assert_,__LINE__)\
[ BOOST_PREPROCESSOR_CAT(static_check_,__LINE__)\
]
// ...
STATIC_ASSERT(sizeof(int) &lt;= sizeof(long));
</pre></div></pre>
<p>
The above expands to:
<p>
<pre><div class="fragment"><pre>
enum
{ static_check_152 = (sizeof(int) &lt;= sizeof(long)) ? 1 : -1
};
typedef char
static_assert_152
[ static_check_152
];
</pre></div></pre>
<p>
Using <a class="el" href="cat_8hpp.html#a0">BOOST_PREPROCESSOR_CAT</a>() above lets the preprocessor expand the __LINE__. If the above code would use the ## operator directly then __LINE__ would not be expanded and the above would expand to:
<p>
<pre><div class="fragment"><pre>
enum
{ static_check___LINE__ = (sizeof(int) &lt;= sizeof(long)) ? 1 : -1
};
typedef char
static_assert___LINE__
[ static_check___LINE__
];
</pre></div></pre> </td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

55
doc/reference/comma.htm Normal file
View File

@ -0,0 +1,55 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="cat.htm">Prev</a> <a href="comma_if.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/comma.hpp">boost/preprocessor/comma.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_COMMA">#define BOOST_PP_COMMA</a>()</h2>
<p>Expands to a comma. Can be used with <a href="if.htm#BOOST_PP_IF">BOOST_PP_IF</a>().</p>
<h3>See</h3>
<ul>
<li><a href="comma_if.htm#BOOST_PP_COMMA_IF">BOOST_PP_COMMA_IF</a>()</li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_COMMA">#define BOOST_PREPROCESSOR_COMMA</a>()</h2>
<p>Obsolete. Use <a href="comma.htm#BOOST_PP_COMMA">BOOST_PP_COMMA</a>().</p>
<hr>
<a href="cat.htm">Prev</a> <a href="comma_if.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,54 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>comma.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="comma_8hpp.html#a0">BOOST_PREPROCESSOR_COMMA</a>()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to a comma. Can be used with <a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>().</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/comma.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="comma.hpp::BOOST_PREPROCESSOR_COMMA"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_COMMA</td>
<td class="md" valign="top">(&nbsp;</td>
&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to a comma. Can be used with <a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>().
<p>
See <a class="el" href="comma__if_8hpp.html#a0">BOOST_PREPROCESSOR_COMMA_IF</a>(). </td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,57 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>comma_if.hpp File Reference</h1><code>#include &lt;boost/preprocessor/comma.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/empty.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/if.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="comma__if_8hpp.html#a0">BOOST_PREPROCESSOR_COMMA_IF</a>(C)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to a comma if C != 0 and nothing if C == 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/comma_if.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="comma_if.hpp::BOOST_PREPROCESSOR_COMMA_IF"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_COMMA_IF</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">C&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to a comma if C != 0 and nothing if C == 0.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -0,0 +1,51 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="comma.htm">Prev</a> <a href="comparison.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/comma_if.hpp">boost/preprocessor/comma_if.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_COMMA_IF">#define BOOST_PP_COMMA_IF</a>(C)</h2>
<p>Expands to a comma if <code>C != 0</code> and nothing if
<code>C == 0</code>.</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_COMMA_IF">#define BOOST_PREPROCESSOR_COMMA_IF</a>(C)</h2>
<p>Obsolete. Use <a href="comma_if.htm#BOOST_PP_COMMA_IF">BOOST_PP_COMMA_IF</a>().</p>
<hr>
<a href="comma.htm">Prev</a> <a href="comparison.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,41 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="comma_if.htm">Prev</a> <a href="comparison_equal.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/comparison.hpp">boost/preprocessor/comparison.hpp</a>&gt;</h1>
<p>Includes all comparison headers.</p>
<hr>
<a href="comma_if.htm">Prev</a> <a href="comparison_equal.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,27 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>comparison.hpp File Reference</h1><code>#include &lt;boost/preprocessor/comparison/equal.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/comparison/greater.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/comparison/greater_equal.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/comparison/less.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/comparison/less_equal.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/comparison/not_equal.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/comparison.hpp">Click here to see the header.</a>
<p>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -0,0 +1,61 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="comparison.htm">Prev</a> <a href="comparison_greater.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/comparison/equal.hpp">boost/preprocessor/comparison/equal.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_EQUAL">#define BOOST_PP_EQUAL</a>(X,Y)</h2>
<p>Expands to <code>1</code> if <code>X == Y</code> and <code>0</code>
otherwise.</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_EQUAL">#define BOOST_PREPROCESSOR_EQUAL</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_equal.htm#BOOST_PP_EQUAL">BOOST_PP_EQUAL</a>().</p>
<hr>
<a href="comparison.htm">Prev</a> <a href="comparison_greater.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,61 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="comparison_equal.htm">Prev</a> <a href="comparison_greater_equal.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/comparison/greater.hpp">boost/preprocessor/comparison/greater.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_GREATER">#define BOOST_PP_GREATER</a>(X,Y)</h2>
<p>Expands to <code>1</code> if <code>X &gt; Y</code> and <code>0</code>
otherwise.</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_GREATER">#define BOOST_PREPROCESSOR_GREATER</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_greater.htm#BOOST_PP_GREATER">BOOST_PP_GREATER</a>().</p>
<hr>
<a href="comparison_equal.htm">Prev</a> <a href="comparison_greater_equal.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,61 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="comparison_greater.htm">Prev</a> <a href="comparison_less.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/comparison/greater_equal.hpp">boost/preprocessor/comparison/greater_equal.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_GREATER_EQUAL">#define BOOST_PP_GREATER_EQUAL</a>(X,Y)</h2>
<p>Expands to <code>1</code> if <code>X &gt;= Y</code> and <code>0</code>
otherwise.</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_GREATER_EQUAL">#define BOOST_PREPROCESSOR_GREATER_EQUAL</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_greater_equal.htm#BOOST_PP_GREATER_EQUAL">BOOST_PP_GREATER_EQUAL</a>().</p>
<hr>
<a href="comparison_greater.htm">Prev</a> <a href="comparison_less.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,61 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="comparison_greater_equal.htm">Prev</a> <a href="comparison_less_equal.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/comparison/less.hpp">boost/preprocessor/comparison/less.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LESS">#define BOOST_PP_LESS</a>(X,Y)</h2>
<p>Expands to <code>1</code> if <code>X &lt; Y</code> and <code>0</code>
otherwise.</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_LESS">#define BOOST_PREPROCESSOR_LESS</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_less.htm#BOOST_PP_LESS">BOOST_PP_LESS</a>().</p>
<hr>
<a href="comparison_greater_equal.htm">Prev</a> <a href="comparison_less_equal.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,61 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="comparison_less.htm">Prev</a> <a href="comparison_not_equal.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/comparison/less_equal.hpp">boost/preprocessor/comparison/less_equal.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LESS_EQUAL">#define BOOST_PP_LESS_EQUAL</a>(X,Y)</h2>
<p>Expands to <code>1</code> if <code>X &lt;= Y</code> and <code>0</code>
otherwise.</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_LESS_EQUAL">#define BOOST_PREPROCESSOR_LESS_EQUAL</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_less_equal.htm#BOOST_PP_LESS_EQUAL">BOOST_PP_LESS_EQUAL</a>().</p>
<hr>
<a href="comparison_less.htm">Prev</a> <a href="comparison_not_equal.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,61 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="comparison_less_equal.htm">Prev</a> <a href="dec.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/comparison/not_equal.hpp">boost/preprocessor/comparison/not_equal.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_NOT_EQUAL">#define BOOST_PP_NOT_EQUAL</a>(X,Y)</h2>
<p>Expands to <code>1</code> if <code>X != Y</code> and <code>0</code>
otherwise.</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_NOT_EQUAL">#define BOOST_PREPROCESSOR_NOT_EQUAL</a>(X,Y)</h2>
<p>Obsolete. Use <a href="comparison_not_equal.htm#BOOST_PP_NOT_EQUAL">BOOST_PP_NOT_EQUAL</a>().</p>
<hr>
<a href="comparison_less_equal.htm">Prev</a> <a href="dec.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

58
doc/reference/dec.htm Normal file
View File

@ -0,0 +1,58 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="comparison_not_equal.htm">Prev</a> <a href="empty.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/dec.hpp">boost/preprocessor/dec.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_DEC">#define BOOST_PP_DEC</a>(X)</h2>
<p>Decrements <code>X</code> expanding to a single token.</p>
<p>For example, <code><a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>(3)</code> expands to <code>2</code> (a
single token).</p>
<p><a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>() uses saturation arithmetic. Decrementing 0 yeilds a 0.</p>
<p>Only decimal integer literals in the range [0,<a href="limits.htm#BOOST_PP_LIMIT_MAG">BOOST_PP_LIMIT_MAG</a>] are
supported.</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_DEC">#define BOOST_PREPROCESSOR_DEC</a>(X)</h2>
<p>Obsolete. Use <a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>().</p>
<hr>
<a href="comparison_not_equal.htm">Prev</a> <a href="empty.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,56 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>dec.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="dec_8hpp.html#a0">BOOST_PREPROCESSOR_DEC</a>(X)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Decrements X expanding to a single token.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/dec.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="dec.hpp::BOOST_PREPROCESSOR_DEC"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_DEC</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Decrements X expanding to a single token.
<p>
<a class="el" href="dec_8hpp.html#a0">BOOST_PREPROCESSOR_DEC</a>() uses saturation arithmetic. Decrementing 0 yeilds a 0.
<p>
Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG] are supported. </td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,62 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>div.hpp File Reference</h1><code>#include &lt;boost/preprocessor/arithmetic/sub.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/comparison/less_equal.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/inc.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/tuple.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/while.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="div_8hpp.html#a0">BOOST_PREPROCESSOR_DIV</a>(X, Y)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to the quotient of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/arithmetic/div.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="div.hpp::BOOST_PREPROCESSOR_DIV"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_DIV</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X, <tr>
<td></td>
<td></td>
<td class="md" nowrap>Y&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to the quotient of X and Y.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,23 +0,0 @@
H1 { text-align: center; }
A.qindex {}
A.qindexRef {}
A.el { text-decoration: none; font-weight: bold }
A.elRef { font-weight: bold }
A.code { text-decoration: none; font-weight: normal; color: #4444ee }
A.codeRef { font-weight: normal; color: #4444ee }
A:hover { text-decoration: none; background-color: #f2f2ff }
DL.el { margin-left: -1cm }
DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
TD.md { background-color: #f2f2ff; font-weight: bold; }
TD.mdname1 { background-color: #f2f2ff; font-weight: bold; color: #602020; }
TD.mdname { background-color: #f2f2ff; font-weight: bold; color: #602020; width: 600px; }
DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
FONT.keyword { color: #008000 }
FONT.keywordtype { color: #604020 }
FONT.keywordflow { color: #e08000 }
FONT.comment { color: #800000 }
FONT.preprocessor { color: #806020 }
FONT.stringliteral { color: #002080 }
FONT.charliteral { color: #008080 }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 525 B

60
doc/reference/empty.htm Normal file
View File

@ -0,0 +1,60 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="dec.htm">Prev</a> <a href="enum.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/empty.hpp">boost/preprocessor/empty.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_EMPTY">#define BOOST_PP_EMPTY</a>()</h2>
<p>Expands to nothing. Used with <a href="if.htm#BOOST_PP_IF">BOOST_PP_IF</a>() and as an unused parameter.</p>
<h3>Example</h3>
<ul>
<li><a href="../../example/subscript_layer.cpp">subscript_layer.cpp</a></li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/preprocessor_test.cpp">preprocessor_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_EMPTY">#define BOOST_PREPROCESSOR_EMPTY</a>()</h2>
<p>Obsolete. Use <a href="empty.htm#BOOST_PP_EMPTY">BOOST_PP_EMPTY</a>().</p>
<hr>
<a href="dec.htm">Prev</a> <a href="enum.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,101 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>empty.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="empty_8hpp.html#a0">BOOST_PREPROCESSOR_EMPTY</a>()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to nothing. Used with <a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>() and as an unused parameter.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/empty.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="empty.hpp::BOOST_PREPROCESSOR_EMPTY"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_EMPTY</td>
<td class="md" valign="top">(&nbsp;</td>
&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to nothing. Used with <a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>() and as an unused parameter.
<p>
Example usage as the implementation of <a class="el" href="comma__if_8hpp.html#a0">BOOST_PREPROCESSOR_COMMA_IF</a>(C):
<p>
<pre><div class="fragment"><pre>
#define BOOST_PREPROCESSOR_COMMA_IF(C)\
BOOST_PREPROCESSOR_IF(C,BOOST_PREPROCESSOR_COMMA,BOOST_PREPROCESSOR_EMPTY)()
</pre></div></pre>
<p>
Example usage as an unused macro parameter:
<p>
<pre><div class="fragment"><pre>
#define BOOST_PREPROCESSOR_DEF(CV)\
template&lt;class base&gt; \
CV typename implement_subscript_using_begin_subscript&lt;base&gt;::value_type&amp;\
implement_subscript_using_begin_subscript&lt;base&gt;::operator[]\
( index_type \
i \
) CV \
{ return base::begin()[i]; \
}
BOOST_PREPROCESSOR_DEF(BOOST_PREPROCESSOR_EMPTY())
BOOST_PREPROCESSOR_DEF(const)
#undef BOOST_PREPROCESSOR_DEF
</pre></div></pre>
<p>
The above expands to:
<p>
<pre><div class="fragment"><pre>
template&lt;class base&gt;
typename implement_subscript_using_begin_subscript&lt;base&gt;::value_type&amp;
implement_subscript_using_begin_subscript&lt;base&gt;::operator[]
( index_type
i
)
{ return base::begin()[i];
}
template&lt;class base&gt;
const typename implement_subscript_using_begin_subscript&lt;base&gt;::value_type&amp;
implement_subscript_using_begin_subscript&lt;base&gt;::operator[]
( index_type
i
) const
{ return base::begin()[i];
}
</pre></div></pre>
<p>
In case you wonder, the above code is part of a generalized layer for implementing the subscripting operators of a random access container. </td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

62
doc/reference/enum.htm Normal file
View File

@ -0,0 +1,62 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="empty.htm">Prev</a> <a href="enum_params.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/enum.hpp">boost/preprocessor/enum.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_ENUM">#define BOOST_PP_ENUM</a>(N,F,P)</h2>
<p>Generates a comma separated list.</p>
<p>In other words, expands to the sequence:</p>
<pre>
F(0,P), F(1,P), ..., F(<a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>(N),P)
</pre>
<h3>Uses</h3>
<ul>
<li><a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/repeat_test.cpp">repeat_test.cpp</a></li>
</ul>
<hr>
<a href="empty.htm">Prev</a> <a href="enum_params.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,65 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>enum_params.hpp File Reference</h1><code>#include &lt;boost/preprocessor/comma_if.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/repeat.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="enum__params_8hpp.html#a0">BOOST_PREPROCESSOR_ENUM_PARAMS</a>(N, P)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Generates a comma separated list of parameters.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/enum_params.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="enum_params.hpp::BOOST_PREPROCESSOR_ENUM_PARAMS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_PARAMS</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">N, <tr>
<td></td>
<td></td>
<td class="md" nowrap>P&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Generates a comma separated list of parameters.
<p>
In other words, expands to the sequence:
<p>
<pre><div class="fragment"><pre>
P##0, P##1, ..., P##N-1
</pre></div></pre>
<p>
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(). </td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,70 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>enum_params_with_a_default.hpp File Reference</h1><code>#include &lt;boost/preprocessor/cat.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/comma_if.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/repeat.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/tuple.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="enum__params__with__a__default_8hpp.html#a0">BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT</a>(N, P, D)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Generates a comma separated list of parameters with a default.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/enum_params_with_a_default.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="enum_params_with_a_default.hpp::BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">N, <tr>
<td></td>
<td></td>
<td class="md" nowrap>P, <tr>
<td></td>
<td></td>
<td class="md" nowrap>D&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Generates a comma separated list of parameters with a default.
<p>
In other words, expands to the sequence:
<p>
<pre><div class="fragment"><pre>
P##0 = D, P##1 = D, ..., P##N-1 = D
</pre></div></pre>
<p>
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(). </td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,70 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>enum_params_with_defaults.hpp File Reference</h1><code>#include &lt;boost/preprocessor/cat.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/comma_if.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/repeat.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/tuple.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="enum__params__with__defaults_8hpp.html#a0">BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS</a>(N, P, D)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Generates a comma separated list of parameters with defaults.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/enum_params_with_defaults.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="enum_params_with_defaults.hpp::BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">N, <tr>
<td></td>
<td></td>
<td class="md" nowrap>P, <tr>
<td></td>
<td></td>
<td class="md" nowrap>D&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Generates a comma separated list of parameters with defaults.
<p>
In other words, expands to the sequence:
<p>
<pre><div class="fragment"><pre>
P##0 = D##0, P##1 = D##1, ..., P##N-1 = D##N-1
</pre></div></pre>
<p>
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(). </td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,72 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>enum_shifted_params.hpp File Reference</h1><code>#include &lt;boost/preprocessor/cat.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/comma_if.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/dec.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/inc.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/repeat.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="enum__shifted__params_8hpp.html#a0">BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS</a>(N, P)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Generates a comma separated list of shifted actual parameters.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/enum_shifted_params.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="enum_shifted_params.hpp::BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">N, <tr>
<td></td>
<td></td>
<td class="md" nowrap>P&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Generates a comma separated list of shifted actual parameters.
<p>
In other words, expands to the sequence:
<p>
<pre><div class="fragment"><pre>
P##1, P##2, ..., P##N-1
</pre></div></pre>
<p>
NOTE: The implementation uses <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>().
<p>
RATIONALE:<ul>
<li>This macro facilitates a typical usage of the library. Shifted parameter lists are common in template metaprograms. <li>ENUM_SHIFTED_PARAMS must be tested so that the shifted range is shown to be correct. </ul>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="enum.htm">Prev</a> <a href="enum_params_with_a_default.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/enum_params.hpp">boost/preprocessor/enum_params.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_ENUM_PARAMS">#define BOOST_PP_ENUM_PARAMS</a>(N,P)</h2>
<p>Generates a comma separated list of parameters.</p>
<p>In other words, expands to the sequence:</p>
<pre>
<a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,0), <a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,1), ..., <a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,<a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>(N))
</pre>
<h3>Uses</h3>
<ul>
<li><a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/repeat_test.cpp">repeat_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_ENUM_PARAMS">#define BOOST_PREPROCESSOR_ENUM_PARAMS</a>(N,P)</h2>
<p>Obsolete. Use <a href="enum_params.htm#BOOST_PP_ENUM_PARAMS">BOOST_PP_ENUM_PARAMS</a>().</p>
<hr>
<a href="enum.htm">Prev</a> <a href="enum_params_with_a_default.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="enum_params.htm">Prev</a> <a href="enum_params_with_defaults.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/enum_params_with_a_default.hpp">boost/preprocessor/enum_params_with_a_default.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT">#define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</a>(N,P,D)</h2>
<p>Generates a comma separated list of parameters with a default.</p>
<p>In other words, expands to the sequence:</p>
<pre>
<a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,0) = D, <a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,1) = D, ..., <a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,<a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>(N)) = D
</pre>
<h3>Uses</h3>
<ul>
<li><a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/repeat_test.cpp">repeat_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT">#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT</a>(N,P,D)</h2>
<p>Obsolete. Use <a href="enum_params_with_a_default.htm#BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT">BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</a>().</p>
<hr>
<a href="enum_params.htm">Prev</a> <a href="enum_params_with_defaults.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,69 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="enum_params_with_a_default.htm">Prev</a> <a href="enum_shifted.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/enum_params_with_defaults.hpp">boost/preprocessor/enum_params_with_defaults.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS">#define BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</a>(N,P,D)</h2>
<p>Generates a comma separated list of parameters with defaults.</p>
<p>In other words, expands to the sequence:</p>
<pre>
<a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,0) = <a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(D,0),
<a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,1) = <a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(D,1),
...,
<a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,<a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>(N)) = <a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(D,<a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>(N))
</pre>
<h3>Uses</h3>
<ul>
<li><a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/repeat_test.cpp">repeat_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS">#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS</a>(N,P,D)</h2>
<p>Obsolete. Use <a href="enum_params_with_defaults.htm#BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS">BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</a>().</p>
<hr>
<a href="enum_params_with_a_default.htm">Prev</a> <a href="enum_shifted.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,57 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="enum_params_with_defaults.htm">Prev</a> <a href="enum_shifted_params.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/enum_shifted.hpp">boost/preprocessor/enum_shifted.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_ENUM_SHIFTED">#define BOOST_PP_ENUM_SHIFTED</a>(N,F,P)</h2>
<p>Generates a comma separated shifted list.</p>
<p>In other words, expands to the sequence:</p>
<pre>
F(1,P), F(2,P), ..., F(<a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>(N),P)
</pre>
<h3>Uses</h3>
<ul>
<li><a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>()</li>
</ul>
<hr>
<a href="enum_params_with_defaults.htm">Prev</a> <a href="enum_shifted_params.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,72 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="enum_shifted.htm">Prev</a> <a href="expand.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/enum_shifted_params.hpp">boost/preprocessor/enum_shifted_params.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_ENUM_SHIFTED_PARAMS">#define BOOST_PP_ENUM_SHIFTED_PARAMS</a>(N,P)</h2>
<p>Generates a comma separated list of shifted actual parameters.</p>
<p>In other words, expands to the sequence:</p>
<pre>
<a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,1), <a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,2), ..., <a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a>(P,<a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>(N))
</pre>
<h3>Uses</h3>
<ul>
<li><a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>()</li>
</ul>
<h3>Rationale</h3>
<ul>
<li>This macro facilitates a typical usage of the library. Shifted parameter
lists are common in template metaprograms.</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/repeat_2nd_test.cpp">repeat_2nd_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS">#define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS</a>(N,P)</h2>
<p>Obsolete. Use <a href="enum_shifted_params.htm#BOOST_PP_ENUM_SHIFTED_PARAMS">BOOST_PP_ENUM_SHIFTED_PARAMS</a>().</p>
<hr>
<a href="enum_shifted.htm">Prev</a> <a href="expand.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,60 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>equal.hpp File Reference</h1><code>#include &lt;boost/preprocessor/arithmetic/add.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/arithmetic/sub.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/logical/not.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="equal_8hpp.html#a0">BOOST_PREPROCESSOR_EQUAL</a>(X, Y)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to 1 if X==Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/comparison/equal.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="equal.hpp::BOOST_PREPROCESSOR_EQUAL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_EQUAL</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X, <tr>
<td></td>
<td></td>
<td class="md" nowrap>Y&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to 1 if X==Y and 0 otherwise.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

45
doc/reference/expand.htm Normal file
View File

@ -0,0 +1,45 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="enum_shifted_params.htm">Prev</a> <a href="for.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/expand.hpp">boost/preprocessor/expand.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_EXPAND">#define BOOST_PP_EXPAND</a>(X)</h2>
<p>Essentially macro expands the parameter <code>X</code> twice.</p>
<hr>
<a href="enum_shifted_params.htm">Prev</a> <a href="for.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,60 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>Boost PREPROCESSOR library: Reference File List</h1>Here is a list of all files with brief descriptions:<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="add_8hpp.html">add.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="and_8hpp.html">and.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="arithmetic_8hpp.html">arithmetic.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="assert__msg_8hpp.html">assert_msg.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="bool_8hpp.html">bool.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="cat_8hpp.html">cat.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="comma_8hpp.html">comma.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="comma__if_8hpp.html">comma_if.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="comparison_8hpp.html">comparison.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="dec_8hpp.html">dec.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="div_8hpp.html">div.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="empty_8hpp.html">empty.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="enum__params_8hpp.html">enum_params.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="enum__params__with__a__default_8hpp.html">enum_params_with_a_default.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="enum__params__with__defaults_8hpp.html">enum_params_with_defaults.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="enum__shifted__params_8hpp.html">enum_shifted_params.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="equal_8hpp.html">equal.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="greater_8hpp.html">greater.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="greater__equal_8hpp.html">greater_equal.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="identity_8hpp.html">identity.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="if_8hpp.html">if.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="inc_8hpp.html">inc.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="less_8hpp.html">less.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="less__equal_8hpp.html">less_equal.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="limits_8hpp.html">limits.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="logical_8hpp.html">logical.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="max_8hpp.html">max.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="min_8hpp.html">min.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="mul_8hpp.html">mul.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="nor_8hpp.html">nor.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="not_8hpp.html">not.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="not__equal_8hpp.html">not_equal.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="or_8hpp.html">or.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="preprocessor_8hpp.html">preprocessor.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="repeat_8hpp.html">repeat.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="repeat__2nd_8hpp.html">repeat_2nd.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="repeat__3rd_8hpp.html">repeat_3rd.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="stringize_8hpp.html">stringize.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="sub_8hpp.html">sub.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="tuple_8hpp.html">tuple.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="while_8hpp.html">while.hpp</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="xor_8hpp.html">xor.hpp</a></td><td></td></tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

89
doc/reference/for.htm Normal file
View File

@ -0,0 +1,89 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="expand.htm">Prev</a> <a href="identity.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/for.hpp">boost/preprocessor/for.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_FOR">#define BOOST_PP_FOR</a>(X,C,F,I)</h2>
<p>Repeats <code>I(R,X)</code> and iterates <code>F(R,X)</code> while
<code>C(R,X)</code> is true.</p>
<p>In other words, expands to the sequence:</p>
<pre>
I(R,X) I(R,F(R,X)) I(R,F(R,F(R,X))) ... I(R,F(R,F(...F(R,X)...)))
</pre>
<p>The length of the sequence is determined by <code>C(R,X)</code>.</p>
<h3>Legend</h3>
<ul>
<li><b>X</b> is the current state of iteration. The state is usually a tuple.</li>
<li><b>C</b> is the condition for iteration. It must expand to a decimal
integer literal.</li>
<li><b>F</b> is the iterated macro. Note that if the state is a tuple, then
F(R,X) usually expands to a tuple of the same number of elements.</li>
<li><b>I</b> is the state instantiation macro.</li>
<li><b>R</b> is the recursion depth and should only be used as a parameter to
other macros using <a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>() or for invoking <a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>##R()
directly. For each macro using <a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>(), there is a version of the
macro, distinguished by the R suffix, that accepts an additional
recursion depth as the first parameter. This technique is necessary to
avoid recursively expanding the same macro again, which is not permitted
by the C++ preprocessor.</li>
</ul>
<h3><a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>() vs <a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>()</h3>
<p><a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>() is a generalization of <a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>(). This means that
<a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>() can be implemented using <a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>(). However,
<a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>() was introduced earlier, is generally easier to use, and is
still quite useful on its own.</p>
<h3>2D and 3D repetition</h3>
<p><a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>() can be used for multidimensional repetition simply by
invoking <a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>##R() directly.</p>
<h3>Test</h3>
<ul>
<li><a href="../../test/for_test.cpp">for_test.cpp</a></li>
</ul>
<hr>
<a href="expand.htm">Prev</a> <a href="identity.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,58 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>Boost PREPROCESSOR library: Reference File Members</h1>Here is a list of all file members with links to the files they belong to:<ul>
<li>BOOST_PREPROCESSOR_ADD
: <a class="el" href="add_8hpp.html#a0">add.hpp</a><li>BOOST_PREPROCESSOR_AND
: <a class="el" href="and_8hpp.html#a0">and.hpp</a><li>BOOST_PREPROCESSOR_ASSERT_MSG
: <a class="el" href="assert__msg_8hpp.html#a0">assert_msg.hpp</a><li>BOOST_PREPROCESSOR_BOOL
: <a class="el" href="bool_8hpp.html#a0">bool.hpp</a><li>BOOST_PREPROCESSOR_CAT
: <a class="el" href="cat_8hpp.html#a0">cat.hpp</a><li>BOOST_PREPROCESSOR_COMMA
: <a class="el" href="comma_8hpp.html#a0">comma.hpp</a><li>BOOST_PREPROCESSOR_COMMA_IF
: <a class="el" href="comma__if_8hpp.html#a0">comma_if.hpp</a><li>BOOST_PREPROCESSOR_DEC
: <a class="el" href="dec_8hpp.html#a0">dec.hpp</a><li>BOOST_PREPROCESSOR_DIV
: <a class="el" href="div_8hpp.html#a0">div.hpp</a><li>BOOST_PREPROCESSOR_EMPTY
: <a class="el" href="empty_8hpp.html#a0">empty.hpp</a><li>BOOST_PREPROCESSOR_ENUM_PARAMS
: <a class="el" href="enum__params_8hpp.html#a0">enum_params.hpp</a><li>BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT
: <a class="el" href="enum__params__with__a__default_8hpp.html#a0">enum_params_with_a_default.hpp</a><li>BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS
: <a class="el" href="enum__params__with__defaults_8hpp.html#a0">enum_params_with_defaults.hpp</a><li>BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS
: <a class="el" href="enum__shifted__params_8hpp.html#a0">enum_shifted_params.hpp</a><li>BOOST_PREPROCESSOR_EQUAL
: <a class="el" href="equal_8hpp.html#a0">equal.hpp</a><li>BOOST_PREPROCESSOR_GREATER
: <a class="el" href="greater_8hpp.html#a0">greater.hpp</a><li>BOOST_PREPROCESSOR_GREATER_EQUAL
: <a class="el" href="greater__equal_8hpp.html#a0">greater_equal.hpp</a><li>BOOST_PREPROCESSOR_IDENTITY
: <a class="el" href="identity_8hpp.html#a0">identity.hpp</a><li>BOOST_PREPROCESSOR_IF
: <a class="el" href="if_8hpp.html#a0">if.hpp</a><li>BOOST_PREPROCESSOR_INC
: <a class="el" href="inc_8hpp.html#a0">inc.hpp</a><li>BOOST_PREPROCESSOR_LESS
: <a class="el" href="less_8hpp.html#a0">less.hpp</a><li>BOOST_PREPROCESSOR_LESS_EQUAL
: <a class="el" href="less__equal_8hpp.html#a0">less_equal.hpp</a><li>BOOST_PREPROCESSOR_LIMIT_DIM
: <a class="el" href="limits_8hpp.html#a0">limits.hpp</a><li>BOOST_PREPROCESSOR_LIMIT_MAG
: <a class="el" href="limits_8hpp.html#a1">limits.hpp</a><li>BOOST_PREPROCESSOR_LIMIT_TUPLE
: <a class="el" href="limits_8hpp.html#a2">limits.hpp</a><li>BOOST_PREPROCESSOR_MAX
: <a class="el" href="max_8hpp.html#a0">max.hpp</a><li>BOOST_PREPROCESSOR_MIN
: <a class="el" href="min_8hpp.html#a0">min.hpp</a><li>BOOST_PREPROCESSOR_MUL
: <a class="el" href="mul_8hpp.html#a0">mul.hpp</a><li>BOOST_PREPROCESSOR_NOR
: <a class="el" href="nor_8hpp.html#a0">nor.hpp</a><li>BOOST_PREPROCESSOR_NOT
: <a class="el" href="not_8hpp.html#a0">not.hpp</a><li>BOOST_PREPROCESSOR_NOT_EQUAL
: <a class="el" href="not__equal_8hpp.html#a0">not_equal.hpp</a><li>BOOST_PREPROCESSOR_OR
: <a class="el" href="or_8hpp.html#a0">or.hpp</a><li>BOOST_PREPROCESSOR_REPEAT
: <a class="el" href="repeat_8hpp.html#a0">repeat.hpp</a><li>BOOST_PREPROCESSOR_REPEAT_2ND
: <a class="el" href="repeat__2nd_8hpp.html#a0">repeat_2nd.hpp</a><li>BOOST_PREPROCESSOR_REPEAT_3RD
: <a class="el" href="repeat__3rd_8hpp.html#a0">repeat_3rd.hpp</a><li>BOOST_PREPROCESSOR_STRINGIZE
: <a class="el" href="stringize_8hpp.html#a0">stringize.hpp</a><li>BOOST_PREPROCESSOR_SUB
: <a class="el" href="sub_8hpp.html#a0">sub.hpp</a><li>BOOST_PREPROCESSOR_TUPLE_ELEM
: <a class="el" href="tuple_8hpp.html#a0">tuple.hpp</a><li>BOOST_PREPROCESSOR_WHILE
: <a class="el" href="while_8hpp.html#a0">while.hpp</a><li>BOOST_PREPROCESSOR_XOR
: <a class="el" href="xor_8hpp.html#a0">xor.hpp</a></ul>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,58 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>greater.hpp File Reference</h1><code>#include &lt;boost/preprocessor/comparison/less.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="greater_8hpp.html#a0">BOOST_PREPROCESSOR_GREATER</a>(X, Y)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to 1 if X&gt;Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/comparison/greater.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="greater.hpp::BOOST_PREPROCESSOR_GREATER"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_GREATER</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X, <tr>
<td></td>
<td></td>
<td class="md" nowrap>Y&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to 1 if X&gt;Y and 0 otherwise.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,58 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>greater_equal.hpp File Reference</h1><code>#include &lt;boost/preprocessor/comparison/less_equal.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="greater__equal_8hpp.html#a0">BOOST_PREPROCESSOR_GREATER_EQUAL</a>(X, Y)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to 1 if X&gt;=Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/comparison/greater_equal.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="greater_equal.hpp::BOOST_PREPROCESSOR_GREATER_EQUAL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_GREATER_EQUAL</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X, <tr>
<td></td>
<td></td>
<td class="md" nowrap>Y&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to 1 if X&gt;=Y and 0 otherwise.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -0,0 +1,70 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="for.htm">Prev</a> <a href="if.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/identity.hpp">boost/preprocessor/identity.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_IDENTITY">#define BOOST_PP_IDENTITY</a>(X)</h2>
<p>Expands to <code>X</code> once invoked.</p>
<p>Designed to be used with <a href="if.htm#BOOST_PP_IF">BOOST_PP_IF</a>(), when one of the clauses need to be
invoked.</p>
<p>For example,</p>
<pre>
<a href="if.htm#BOOST_PP_IF">BOOST_PP_IF</a>(1,<a href="identity.htm#BOOST_PP_IDENTITY">BOOST_PP_IDENTITY</a>(X),<a href="empty.htm#BOOST_PP_EMPTY">BOOST_PP_EMPTY</a>)<b>()</b>
</pre>
<p>expands to:</p>
<pre>
X
</pre>
<h3>Test</h3>
<ul>
<li><a href="../../test/preprocessor_test.cpp">preprocessor_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_IDENTITY">#define BOOST_PREPROCESSOR_IDENTITY</a>(X)</h2>
<p>Obsolete. Use <a href="identity.htm#BOOST_PP_IDENTITY">BOOST_PP_IDENTITY</a>().</p>
<hr>
<a href="for.htm">Prev</a> <a href="if.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,70 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>identity.hpp File Reference</h1><code>#include &lt;boost/preprocessor/empty.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="identity_8hpp.html#a0">BOOST_PREPROCESSOR_IDENTITY</a>(X)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to X once invoked.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/identity.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="identity.hpp::BOOST_PREPROCESSOR_IDENTITY"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_IDENTITY</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to X once invoked.
<p>
Designed to be used with <a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>(), when one of the clauses need to be invoked.
<p>
Example:
<p>
<pre><div class="fragment"><pre>
BOOST_PREPROCESSOR_IDENTITY(X)()
// ^^ NOTE!
</pre></div></pre>
<p>
The above expands to:
<p>
<pre><div class="fragment"><pre>
X
</pre></div></pre>
<p>
NOTE: If <a class="el" href="identity_8hpp.html#a0">BOOST_PREPROCESSOR_IDENTITY</a>() is not invoked, the expansion will not be usable. </td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

59
doc/reference/if.htm Normal file
View File

@ -0,0 +1,59 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="identity.htm">Prev</a> <a href="inc.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/if.hpp">boost/preprocessor/if.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_IF">#define BOOST_PP_IF</a>(C,T,E)</h2>
<p>Expands to <code>T</code> if <code>C != 0</code> and <code>E</code> if
<code>C == 0</code>.</p>
<p><a href="if.htm#BOOST_PP_IF">BOOST_PP_IF</a>() enables convenient generation of lists using
<a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>().</p>
<h3>Test</h3>
<ul>
<li><a href="../../test/preprocessor_test.cpp">preprocessor_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_IF">#define BOOST_PREPROCESSOR_IF</a>(C,T,E)</h2>
<p>Obsolete. Use <a href="if.htm#BOOST_PP_IF">BOOST_PP_IF</a>().</p>
<hr>
<a href="identity.htm">Prev</a> <a href="inc.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,61 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>if.hpp File Reference</h1><code>#include &lt;boost/preprocessor/logical/bool.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>(C, T, E)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to T if C != 0 and E if C == 0.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/if.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="if.hpp::BOOST_PREPROCESSOR_IF"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_IF</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">C, <tr>
<td></td>
<td></td>
<td class="md" nowrap>T, <tr>
<td></td>
<td></td>
<td class="md" nowrap>E&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to T if C != 0 and E if C == 0.
<p>
<a class="el" href="if_8hpp.html#a0">BOOST_PREPROCESSOR_IF</a>() enables convenient generation of lists using <a class="el" href="repeat_8hpp.html#a0">BOOST_PREPROCESSOR_REPEAT</a>(). </td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

59
doc/reference/inc.htm Normal file
View File

@ -0,0 +1,59 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="if.htm">Prev</a> <a href="limits.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/inc.hpp">boost/preprocessor/inc.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_INC">#define BOOST_PP_INC</a>(X)</h2>
<p>Increments <code>X</code> expanding to a single token.</p>
<p>For example, <code><a href="inc.htm#BOOST_PP_INC">BOOST_PP_INC</a>(3)</code> expands to <code>4</code> (a
single token).</p>
<p><a href="inc.htm#BOOST_PP_INC">BOOST_PP_INC</a>() uses saturation arithmetic. Incrementing a
<a href="limits.htm#BOOST_PP_LIMIT_MAG">BOOST_PP_LIMIT_MAG</a> yields a <a href="limits.htm#BOOST_PP_LIMIT_MAG">BOOST_PP_LIMIT_MAG</a>.</p>
<p>Only decimal integer literals in the range [0,<a href="limits.htm#BOOST_PP_LIMIT_MAG">BOOST_PP_LIMIT_MAG</a>] are
supported.</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_INC">#define BOOST_PREPROCESSOR_INC</a>(X)</h2>
<p>Obsolete. Use <a href="inc.htm#BOOST_PP_INC">BOOST_PP_INC</a>().</p>
<hr>
<a href="if.htm">Prev</a> <a href="limits.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,56 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>inc.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="inc_8hpp.html#a0">BOOST_PREPROCESSOR_INC</a>(X)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Increments X expanding to a single token.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/inc.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="inc.hpp::BOOST_PREPROCESSOR_INC"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_INC</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Increments X expanding to a single token.
<p>
<a class="el" href="inc_8hpp.html#a0">BOOST_PREPROCESSOR_INC</a>() uses saturation arithmetic. Incrementing a BOOST_PREPROCESSOR_LIMIT_MAG yields a BOOST_PREPROCESSOR_LIMIT_MAG.
<p>
Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG] are supported. </td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

219
doc/reference/index.htm Normal file
View File

@ -0,0 +1,219 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<h2><a name="Macros">Macros</a> (<a href="#Headers">Headers</a>)</h2>
<dl>
<dt><a href="arithmetic_add.htm#BOOST_PP_ADD">BOOST_PP_ADD</a></dt>
<dt><a href="logical_and.htm#BOOST_PP_AND">BOOST_PP_AND</a></dt>
<dt><a href="assert_msg.htm#BOOST_PP_ASSERT_MSG">BOOST_PP_ASSERT_MSG</a></dt>
<dt><a href="logical_bool.htm#BOOST_PP_BOOL">BOOST_PP_BOOL</a></dt>
<dt><a href="cat.htm#BOOST_PP_CAT">BOOST_PP_CAT</a></dt>
<dt><a href="comma.htm#BOOST_PP_COMMA">BOOST_PP_COMMA</a></dt>
<dt><a href="comma_if.htm#BOOST_PP_COMMA_IF">BOOST_PP_COMMA_IF</a></dt>
<dt><a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a></dt>
<dt><a href="arithmetic_div.htm#BOOST_PP_DIV">BOOST_PP_DIV</a></dt>
<dt><a href="empty.htm#BOOST_PP_EMPTY">BOOST_PP_EMPTY</a></dt>
<dt><a href="enum.htm#BOOST_PP_ENUM">BOOST_PP_ENUM</a></dt>
<dt><a href="enum_params.htm#BOOST_PP_ENUM_PARAMS">BOOST_PP_ENUM_PARAMS</a></dt>
<dt><a href="enum_params_with_a_default.htm#BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT">BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</a></dt>
<dt><a href="enum_params_with_defaults.htm#BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS">BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</a></dt>
<dt><a href="enum_shifted.htm#BOOST_PP_ENUM_SHIFTED">BOOST_PP_ENUM_SHIFTED</a></dt>
<dt><a href="enum_shifted_params.htm#BOOST_PP_ENUM_SHIFTED_PARAMS">BOOST_PP_ENUM_SHIFTED_PARAMS</a></dt>
<dt><a href="comparison_equal.htm#BOOST_PP_EQUAL">BOOST_PP_EQUAL</a></dt>
<dt><a href="expand.htm#BOOST_PP_EXPAND">BOOST_PP_EXPAND</a></dt>
<dt><a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a></dt>
<dt><a href="comparison_greater.htm#BOOST_PP_GREATER">BOOST_PP_GREATER</a></dt>
<dt><a href="comparison_greater_equal.htm#BOOST_PP_GREATER_EQUAL">BOOST_PP_GREATER_EQUAL</a></dt>
<dt><a href="identity.htm#BOOST_PP_IDENTITY">BOOST_PP_IDENTITY</a></dt>
<dt><a href="if.htm#BOOST_PP_IF">BOOST_PP_IF</a></dt>
<dt><a href="inc.htm#BOOST_PP_INC">BOOST_PP_INC</a></dt>
<dt><a href="comparison_less.htm#BOOST_PP_LESS">BOOST_PP_LESS</a></dt>
<dt><a href="comparison_less_equal.htm#BOOST_PP_LESS_EQUAL">BOOST_PP_LESS_EQUAL</a></dt>
<dt><a href="limits.htm#BOOST_PP_LIMIT_DIM">BOOST_PP_LIMIT_DIM</a></dt>
<dt><a href="limits.htm#BOOST_PP_LIMIT_MAG">BOOST_PP_LIMIT_MAG</a></dt>
<dt><a href="limits.htm#BOOST_PP_LIMIT_TUPLE">BOOST_PP_LIMIT_TUPLE</a></dt>
<dt><a href="list_append.htm#BOOST_PP_LIST_APPEND">BOOST_PP_LIST_APPEND</a></dt>
<dt><a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a></dt>
<dt><a href="list_cat.htm#BOOST_PP_LIST_CAT">BOOST_PP_LIST_CAT</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_CONS">BOOST_PP_LIST_CONS</a></dt>
<dt><a href="list_enum.htm#BOOST_PP_LIST_ENUM">BOOST_PP_LIST_ENUM</a></dt>
<dt><a href="list_filter.htm#BOOST_PP_LIST_FILTER">BOOST_PP_LIST_FILTER</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_FIRST">BOOST_PP_LIST_FIRST</a></dt>
<dt><a href="list_first_n.htm#BOOST_PP_LIST_FIRST_N">BOOST_PP_LIST_FIRST_N</a></dt>
<dt><a href="list_fold_left.htm#BOOST_PP_LIST_FOLD_LEFT">BOOST_PP_LIST_FOLD_LEFT</a></dt>
<dt><a href="list_fold_right.htm#BOOST_PP_LIST_FOLD_RIGHT">BOOST_PP_LIST_FOLD_RIGHT</a></dt>
<dt><a href="list_for_each.htm#BOOST_PP_LIST_FOR_EACH">BOOST_PP_LIST_FOR_EACH</a></dt>
<dt><a href="list_for_each_product.htm#BOOST_PP_LIST_FOR_EACH_PRODUCT">BOOST_PP_LIST_FOR_EACH_PRODUCT</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_IS_CONS">BOOST_PP_LIST_IS_CONS</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_IS_NIL">BOOST_PP_LIST_IS_NIL</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_NIL">BOOST_PP_LIST_NIL</a></dt>
<dt><a href="list_adt.htm#BOOST_PP_LIST_REST">BOOST_PP_LIST_REST</a></dt>
<dt><a href="list_rest_n.htm#BOOST_PP_LIST_REST_N">BOOST_PP_LIST_REST_N</a></dt>
<dt><a href="list_reverse.htm#BOOST_PP_LIST_REVERSE">BOOST_PP_LIST_REVERSE</a></dt>
<dt><a href="list_size.htm#BOOST_PP_LIST_SIZE">BOOST_PP_LIST_SIZE</a></dt>
<dt><a href="list_to_tuple.htm#BOOST_PP_LIST_TO_TUPLE">BOOST_PP_LIST_TO_TUPLE</a></dt>
<dt><a href="list_transform.htm#BOOST_PP_LIST_TRANSFORM">BOOST_PP_LIST_TRANSFORM</a></dt>
<dt><a href="max.htm#BOOST_PP_MAX">BOOST_PP_MAX</a></dt>
<dt><a href="min.htm#BOOST_PP_MIN">BOOST_PP_MIN</a></dt>
<dt><a href="arithmetic_mod.htm#BOOST_PP_MOD">BOOST_PP_MOD</a></dt>
<dt><a href="arithmetic_mul.htm#BOOST_PP_MUL">BOOST_PP_MUL</a></dt>
<dt><a href="logical_nor.htm#BOOST_PP_NOR">BOOST_PP_NOR</a></dt>
<dt><a href="logical_not.htm#BOOST_PP_NOT">BOOST_PP_NOT</a></dt>
<dt><a href="comparison_not_equal.htm#BOOST_PP_NOT_EQUAL">BOOST_PP_NOT_EQUAL</a></dt>
<dt><a href="logical_or.htm#BOOST_PP_OR">BOOST_PP_OR</a></dt>
<dt><a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a></dt>
<dt><a href="repeat_2nd.htm#BOOST_PP_REPEAT_2ND">BOOST_PP_REPEAT_2ND</a></dt>
<dt><a href="repeat_3rd.htm#BOOST_PP_REPEAT_3RD">BOOST_PP_REPEAT_3RD</a></dt>
<dt><a href="stringize.htm#BOOST_PP_STRINGIZE">BOOST_PP_STRINGIZE</a></dt>
<dt><a href="arithmetic_sub.htm#BOOST_PP_SUB">BOOST_PP_SUB</a></dt>
<dt><a href="tuple_eat.htm#BOOST_PP_TUPLE_EAT">BOOST_PP_TUPLE_EAT</a></dt>
<dt><a href="tuple_elem.htm#BOOST_PP_TUPLE_ELEM">BOOST_PP_TUPLE_ELEM</a></dt>
<dt><a href="tuple_reverse.htm#BOOST_PP_TUPLE_REVERSE">BOOST_PP_TUPLE_REVERSE</a></dt>
<dt><a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a></dt>
<dt><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a></dt>
<dt><a href="logical_xor.htm#BOOST_PP_XOR">BOOST_PP_XOR</a></dt>
<dt><a href="arithmetic_add.htm#BOOST_PREPROCESSOR_ADD">BOOST_PREPROCESSOR_ADD</a></dt>
<dt><a href="logical_and.htm#BOOST_PREPROCESSOR_AND">BOOST_PREPROCESSOR_AND</a></dt>
<dt><a href="assert_msg.htm#BOOST_PREPROCESSOR_ASSERT_MSG">BOOST_PREPROCESSOR_ASSERT_MSG</a></dt>
<dt><a href="logical_bool.htm#BOOST_PREPROCESSOR_BOOL">BOOST_PREPROCESSOR_BOOL</a></dt>
<dt><a href="cat.htm#BOOST_PREPROCESSOR_CAT">BOOST_PREPROCESSOR_CAT</a></dt>
<dt><a href="comma.htm#BOOST_PREPROCESSOR_COMMA">BOOST_PREPROCESSOR_COMMA</a></dt>
<dt><a href="comma_if.htm#BOOST_PREPROCESSOR_COMMA_IF">BOOST_PREPROCESSOR_COMMA_IF</a></dt>
<dt><a href="dec.htm#BOOST_PREPROCESSOR_DEC">BOOST_PREPROCESSOR_DEC</a></dt>
<dt><a href="arithmetic_div.htm#BOOST_PREPROCESSOR_DIV">BOOST_PREPROCESSOR_DIV</a></dt>
<dt><a href="empty.htm#BOOST_PREPROCESSOR_EMPTY">BOOST_PREPROCESSOR_EMPTY</a></dt>
<dt><a href="enum_params.htm#BOOST_PREPROCESSOR_ENUM_PARAMS">BOOST_PREPROCESSOR_ENUM_PARAMS</a></dt>
<dt><a href="enum_params_with_a_default.htm#BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT">BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT</a></dt>
<dt><a href="enum_params_with_defaults.htm#BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS">BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS</a></dt>
<dt><a href="enum_shifted_params.htm#BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS">BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS</a></dt>
<dt><a href="comparison_equal.htm#BOOST_PREPROCESSOR_EQUAL">BOOST_PREPROCESSOR_EQUAL</a></dt>
<dt><a href="comparison_greater.htm#BOOST_PREPROCESSOR_GREATER">BOOST_PREPROCESSOR_GREATER</a></dt>
<dt><a href="comparison_greater_equal.htm#BOOST_PREPROCESSOR_GREATER_EQUAL">BOOST_PREPROCESSOR_GREATER_EQUAL</a></dt>
<dt><a href="identity.htm#BOOST_PREPROCESSOR_IDENTITY">BOOST_PREPROCESSOR_IDENTITY</a></dt>
<dt><a href="if.htm#BOOST_PREPROCESSOR_IF">BOOST_PREPROCESSOR_IF</a></dt>
<dt><a href="inc.htm#BOOST_PREPROCESSOR_INC">BOOST_PREPROCESSOR_INC</a></dt>
<dt><a href="comparison_less.htm#BOOST_PREPROCESSOR_LESS">BOOST_PREPROCESSOR_LESS</a></dt>
<dt><a href="comparison_less_equal.htm#BOOST_PREPROCESSOR_LESS_EQUAL">BOOST_PREPROCESSOR_LESS_EQUAL</a></dt>
<dt><a href="limits.htm#BOOST_PREPROCESSOR_LIMIT_DIM">BOOST_PREPROCESSOR_LIMIT_DIM</a></dt>
<dt><a href="limits.htm#BOOST_PREPROCESSOR_LIMIT_MAG">BOOST_PREPROCESSOR_LIMIT_MAG</a></dt>
<dt><a href="limits.htm#BOOST_PREPROCESSOR_LIMIT_TUPLE">BOOST_PREPROCESSOR_LIMIT_TUPLE</a></dt>
<dt><a href="max.htm#BOOST_PREPROCESSOR_MAX">BOOST_PREPROCESSOR_MAX</a></dt>
<dt><a href="min.htm#BOOST_PREPROCESSOR_MIN">BOOST_PREPROCESSOR_MIN</a></dt>
<dt><a href="arithmetic_mod.htm#BOOST_PREPROCESSOR_MOD">BOOST_PREPROCESSOR_MOD</a></dt>
<dt><a href="arithmetic_mul.htm#BOOST_PREPROCESSOR_MUL">BOOST_PREPROCESSOR_MUL</a></dt>
<dt><a href="logical_nor.htm#BOOST_PREPROCESSOR_NOR">BOOST_PREPROCESSOR_NOR</a></dt>
<dt><a href="logical_not.htm#BOOST_PREPROCESSOR_NOT">BOOST_PREPROCESSOR_NOT</a></dt>
<dt><a href="comparison_not_equal.htm#BOOST_PREPROCESSOR_NOT_EQUAL">BOOST_PREPROCESSOR_NOT_EQUAL</a></dt>
<dt><a href="logical_or.htm#BOOST_PREPROCESSOR_OR">BOOST_PREPROCESSOR_OR</a></dt>
<dt><a href="repeat.htm#BOOST_PREPROCESSOR_REPEAT">BOOST_PREPROCESSOR_REPEAT</a></dt>
<dt><a href="repeat_2nd.htm#BOOST_PREPROCESSOR_REPEAT_2ND">BOOST_PREPROCESSOR_REPEAT_2ND</a></dt>
<dt><a href="repeat_3rd.htm#BOOST_PREPROCESSOR_REPEAT_3RD">BOOST_PREPROCESSOR_REPEAT_3RD</a></dt>
<dt><a href="stringize.htm#BOOST_PREPROCESSOR_STRINGIZE">BOOST_PREPROCESSOR_STRINGIZE</a></dt>
<dt><a href="arithmetic_sub.htm#BOOST_PREPROCESSOR_SUB">BOOST_PREPROCESSOR_SUB</a></dt>
<dt><a href="tuple_elem.htm#BOOST_PREPROCESSOR_TUPLE_ELEM">BOOST_PREPROCESSOR_TUPLE_ELEM</a></dt>
<dt><a href="logical_xor.htm#BOOST_PREPROCESSOR_XOR">BOOST_PREPROCESSOR_XOR</a></dt>
</dl>
<hr>
<h2><a name="Headers">Headers</a> (<a href="#Macros">Macros</a>)</h2>
<dl>
<dt>#include &lt;<a href="arithmetic.htm">boost/preprocessor/arithmetic.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="arithmetic_add.htm">boost/preprocessor/arithmetic/add.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="arithmetic_div.htm">boost/preprocessor/arithmetic/div.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="arithmetic_mod.htm">boost/preprocessor/arithmetic/mod.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="arithmetic_mul.htm">boost/preprocessor/arithmetic/mul.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="arithmetic_sub.htm">boost/preprocessor/arithmetic/sub.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="assert_msg.htm">boost/preprocessor/assert_msg.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="cat.htm">boost/preprocessor/cat.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="comma.htm">boost/preprocessor/comma.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="comma_if.htm">boost/preprocessor/comma_if.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="comparison.htm">boost/preprocessor/comparison.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="comparison_equal.htm">boost/preprocessor/comparison/equal.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="comparison_greater.htm">boost/preprocessor/comparison/greater.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="comparison_greater_equal.htm">boost/preprocessor/comparison/greater_equal.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="comparison_less.htm">boost/preprocessor/comparison/less.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="comparison_less_equal.htm">boost/preprocessor/comparison/less_equal.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="comparison_not_equal.htm">boost/preprocessor/comparison/not_equal.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="dec.htm">boost/preprocessor/dec.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="empty.htm">boost/preprocessor/empty.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="enum.htm">boost/preprocessor/enum.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="enum_params.htm">boost/preprocessor/enum_params.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="enum_params_with_a_default.htm">boost/preprocessor/enum_params_with_a_default.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="enum_params_with_defaults.htm">boost/preprocessor/enum_params_with_defaults.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="enum_shifted.htm">boost/preprocessor/enum_shifted.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="enum_shifted_params.htm">boost/preprocessor/enum_shifted_params.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="expand.htm">boost/preprocessor/expand.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="for.htm">boost/preprocessor/for.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="identity.htm">boost/preprocessor/identity.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="if.htm">boost/preprocessor/if.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="inc.htm">boost/preprocessor/inc.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="limits.htm">boost/preprocessor/limits.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list.htm">boost/preprocessor/list.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_adt.htm">boost/preprocessor/list/adt.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_append.htm">boost/preprocessor/list/append.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_at.htm">boost/preprocessor/list/at.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_cat.htm">boost/preprocessor/list/cat.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_enum.htm">boost/preprocessor/list/enum.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_filter.htm">boost/preprocessor/list/filter.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_first_n.htm">boost/preprocessor/list/first_n.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_fold_left.htm">boost/preprocessor/list/fold_left.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_fold_right.htm">boost/preprocessor/list/fold_right.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_for_each.htm">boost/preprocessor/list/for_each.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_for_each_product.htm">boost/preprocessor/list/for_each_product.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_rest_n.htm">boost/preprocessor/list/rest_n.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_reverse.htm">boost/preprocessor/list/reverse.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_size.htm">boost/preprocessor/list/size.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_to_tuple.htm">boost/preprocessor/list/to_tuple.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="list_transform.htm">boost/preprocessor/list/transform.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="logical.htm">boost/preprocessor/logical.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="logical_and.htm">boost/preprocessor/logical/and.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="logical_bool.htm">boost/preprocessor/logical/bool.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="logical_nor.htm">boost/preprocessor/logical/nor.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="logical_not.htm">boost/preprocessor/logical/not.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="logical_or.htm">boost/preprocessor/logical/or.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="logical_xor.htm">boost/preprocessor/logical/xor.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="max.htm">boost/preprocessor/max.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="min.htm">boost/preprocessor/min.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="repeat.htm">boost/preprocessor/repeat.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="repeat_2nd.htm">boost/preprocessor/repeat_2nd.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="repeat_3rd.htm">boost/preprocessor/repeat_3rd.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="stringize.htm">boost/preprocessor/stringize.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="tuple.htm">boost/preprocessor/tuple.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="tuple_eat.htm">boost/preprocessor/tuple/eat.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="tuple_elem.htm">boost/preprocessor/tuple/elem.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="tuple_reverse.htm">boost/preprocessor/tuple/reverse.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="tuple_to_list.htm">boost/preprocessor/tuple/to_list.hpp</a>&gt;</dt>
<dt>#include &lt;<a href="while.htm">boost/preprocessor/while.hpp</a>&gt;</dt>
</dl>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,18 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>Boost PREPROCESSOR library: Reference Documentation</h1>
<p>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,60 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>less.hpp File Reference</h1><code>#include &lt;boost/preprocessor/comparison/equal.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/comparison/less_equal.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/if.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="less_8hpp.html#a0">BOOST_PREPROCESSOR_LESS</a>(X, Y)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to 1 if X&lt;Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/comparison/less.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="less.hpp::BOOST_PREPROCESSOR_LESS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_LESS</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X, <tr>
<td></td>
<td></td>
<td class="md" nowrap>Y&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to 1 if X&lt;Y and 0 otherwise.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,59 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>less_equal.hpp File Reference</h1><code>#include &lt;boost/preprocessor/arithmetic/sub.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/logical/not.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="less__equal_8hpp.html#a0">BOOST_PREPROCESSOR_LESS_EQUAL</a>(X, Y)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to 1 if X&lt;=Y and 0 otherwise.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/comparison/less_equal.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="less_equal.hpp::BOOST_PREPROCESSOR_LESS_EQUAL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_LESS_EQUAL</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X, <tr>
<td></td>
<td></td>
<td class="md" nowrap>Y&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to 1 if X&lt;=Y and 0 otherwise.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

85
doc/reference/limits.htm Normal file
View File

@ -0,0 +1,85 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="inc.htm">Prev</a> <a href="list.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/limits.hpp">boost/preprocessor/limits.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIMIT_DIM">#define BOOST_PP_LIMIT_DIM</a></h2>
<p>Expands to the number of dimensions of repeat supported by the
library.</p>
<p>The repeat macros are named <a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a>(), <a href="repeat_2nd.htm#BOOST_PP_REPEAT_2ND">BOOST_PP_REPEAT_2ND</a>(),
<a href="repeat_3rd.htm#BOOST_PP_REPEAT_3RD">BOOST_PP_REPEAT_3RD</a>(), ...</p>
<hr>
<h2><a name="BOOST_PP_LIMIT_MAG">#define BOOST_PP_LIMIT_MAG</a></h2>
<p>Expands to the maximum straight numeric literal supported by the
library.</p>
<p>This is also the limit of the repetition primitives (<a href="enum.htm#BOOST_PP_ENUM">BOOST_PP_ENUM</a> family
and <a href="repeat.htm#BOOST_PP_REPEAT">BOOST_PP_REPEAT</a> family).</p>
<h3>Note</h3>
<ul>
<li>Only decimal integer literals in the range [0, <a href="limits.htm#BOOST_PP_LIMIT_MAG">BOOST_PP_LIMIT_MAG</a>]
are supported.</li>
<li>All arithmetic operations (<a href="arithmetic_add.htm#BOOST_PP_ADD">BOOST_PP_ADD</a>(), <a href="arithmetic_sub.htm#BOOST_PP_SUB">BOOST_PP_SUB</a>(),
<a href="arithmetic_mul.htm#BOOST_PP_MUL">BOOST_PP_MUL</a>(), <a href="arithmetic_div.htm#BOOST_PP_DIV">BOOST_PP_DIV</a>()) use saturation arithmetic.</li>
<li>The maximum repetition count supported by the library may not be reached
due to compiler limitations.</li>
</ul>
<hr>
<h2><a name="BOOST_PP_LIMIT_TUPLE">#define BOOST_PP_LIMIT_TUPLE</a></h2>
<p>Expands to the maximum tuple length supported by the library.</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_LIMIT_DIM">#define BOOST_PREPROCESSOR_LIMIT_DIM</a></h2>
<p>Obsolete. Use <a href="limits.htm#BOOST_PP_LIMIT_DIM">BOOST_PP_LIMIT_DIM</a>.</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_LIMIT_MAG">#define BOOST_PREPROCESSOR_LIMIT_MAG</a></h2>
<p>Obsolete. Use <a href="limits.htm#BOOST_PP_LIMIT_MAG">BOOST_PP_LIMIT_MAG</a>.</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_LIMIT_TUPLE">#define BOOST_PREPROCESSOR_LIMIT_TUPLE</a></h2>
<p>Obsolete. Use <a href="limits.htm#BOOST_PP_LIMIT_TUPLE">BOOST_PP_LIMIT_TUPLE</a>.</p>
<hr>
<a href="inc.htm">Prev</a> <a href="list.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,103 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>limits.hpp File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="limits_8hpp.html#a0">BOOST_PREPROCESSOR_LIMIT_DIM</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to the number of dimensions of repeat supported by the library.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="limits_8hpp.html#a1">BOOST_PREPROCESSOR_LIMIT_MAG</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to the maximum straight numeric literal supported by the library.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="limits_8hpp.html#a2">BOOST_PREPROCESSOR_LIMIT_TUPLE</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to the maximum tuple length supported by the library.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/limits.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="limits.hpp::BOOST_PREPROCESSOR_LIMIT_DIM"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_LIMIT_DIM
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to the number of dimensions of repeat supported by the library.
<p>
</td>
</tr>
</table>
<a name="a1" doxytag="limits.hpp::BOOST_PREPROCESSOR_LIMIT_MAG"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_LIMIT_MAG
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to the maximum straight numeric literal supported by the library.
<p>
NOTES:<ul>
<li>Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG] are supported.<li>All arithmetic operations (ADD,SUB,MUL,DIV) use saturation arithmetic.<li>The maximum repetition count supported by the library may not be reached due to compiler limitations. </ul>
</td>
</tr>
</table>
<a name="a2" doxytag="limits.hpp::BOOST_PREPROCESSOR_LIMIT_TUPLE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_LIMIT_TUPLE
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to the maximum tuple length supported by the library.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

41
doc/reference/list.htm Normal file
View File

@ -0,0 +1,41 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="limits.htm">Prev</a> <a href="list_adt.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list.hpp">boost/preprocessor/list.hpp</a>&gt;</h1>
<p>Includes all list headers.</p>
<hr>
<a href="limits.htm">Prev</a> <a href="list_adt.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

120
doc/reference/list_adt.htm Normal file
View File

@ -0,0 +1,120 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list.htm">Prev</a> <a href="list_append.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/adt.hpp">boost/preprocessor/list/adt.hpp</a>&gt;</h1>
<p>This header defines the fundamental list operations.</p>
<h3>Note</h3>
<ul>
<li>The internal representation of lists is hidden. Although there aren't
compelling reasons to change the representation, you should avoid
writing code that depends on the internal representation details.</li>
</ul>
<hr>
<h2><a name="BOOST_PP_LIST_CONS">#define BOOST_PP_LIST_CONS</a>(H,T)</h2>
<p>List constructor.</p>
<p>Lists are build using list constructors <a href="list_adt.htm#BOOST_PP_LIST_NIL">BOOST_PP_LIST_NIL</a> and
<a href="list_adt.htm#BOOST_PP_LIST_CONS">BOOST_PP_LIST_CONS</a>(). For example,</p>
<pre>
<a href="list_adt.htm#BOOST_PP_LIST_CONS">BOOST_PP_LIST_CONS</a>(1,
<a href="list_adt.htm#BOOST_PP_LIST_CONS">BOOST_PP_LIST_CONS</a>(2,
<a href="list_adt.htm#BOOST_PP_LIST_CONS">BOOST_PP_LIST_CONS</a>(3,
<a href="list_adt.htm#BOOST_PP_LIST_CONS">BOOST_PP_LIST_CONS</a>(4,
<a href="list_adt.htm#BOOST_PP_LIST_CONS">BOOST_PP_LIST_CONS</a>(5,
<a href="list_adt.htm#BOOST_PP_LIST_NIL">BOOST_PP_LIST_NIL</a>)))))
</pre>
<p>Short lists can also be build from tuples:</p>
<pre>
<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(5,(1,2,3,4,5))
</pre>
<p>Both of the above lists contain 5 elements: 1, 2, 3, 4 and 5.</p>
<p>Longer lists can be built with the help of <a href="list_append.htm#BOOST_PP_LIST_APPEND">BOOST_PP_LIST_APPEND</a>().</p>
<hr>
<h2><a name="BOOST_PP_LIST_NIL">#define BOOST_PP_LIST_NIL</a></h2>
<p>List nil constructor.</p>
<hr>
<h2><a name="BOOST_PP_LIST_IS_CONS">#define BOOST_PP_LIST_IS_CONS</a>(L)</h2>
<p>Expands to 1 if the list is not nil and 0 otherwise.</p>
<hr>
<h2><a name="BOOST_PP_LIST_IS_NIL">#define BOOST_PP_LIST_IS_NIL</a>(L)</h2>
<p>Expands to 1 if the list is nil and 0 otherwise.</p>
<hr>
<h2><a name="BOOST_PP_LIST_FIRST">#define BOOST_PP_LIST_FIRST</a>(L)</h2>
<p>Expands to the first element of the list. The list must not be nil.</p>
<p>For example,</p>
<pre>
<a href="list_adt.htm#BOOST_PP_LIST_FIRST">BOOST_PP_LIST_FIRST</a>(<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(5,(1,2,3,4,5)))
</pre>
<p>expands to 1.</p>
<hr>
<h2><a name="BOOST_PP_LIST_REST">#define BOOST_PP_LIST_REST</a>(L)</h2>
<p>Expands to a list of all but the first element of the list.</p>
<p>The list must not be nil.</p>
<p>For example,</p>
<pre>
<a href="list_adt.htm#BOOST_PP_LIST_REST">BOOST_PP_LIST_REST</a>(<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(5,(1,2,3,4,5)))
</pre>
<p>expands to the same as:</p>
<pre>
<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(4,(2,3,4,5))
</pre>
<hr>
<a href="list.htm">Prev</a> <a href="list_append.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,71 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_adt.htm">Prev</a> <a href="list_at.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/append.hpp">boost/preprocessor/list/append.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_APPEND">#define BOOST_PP_LIST_APPEND</a>(L,P)</h2>
<p>Catenates two lists together.</p>
<p>For example,</p>
<pre>
<a href="list_append.htm#BOOST_PP_LIST_APPEND">BOOST_PP_LIST_APPEND</a>
( <a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(2,(1,2))
, <a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(2,(3,4))
)
</pre>
<p>expands to the same as:</p>
<pre>
<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(4,(1,2,3,4))
</pre>
<h3>Uses</h3>
<ul>
<li><a href="list_fold_right.htm#BOOST_PP_LIST_FOLD_RIGHT">BOOST_PP_LIST_FOLD_RIGHT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_adt.htm">Prev</a> <a href="list_at.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

65
doc/reference/list_at.htm Normal file
View File

@ -0,0 +1,65 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_append.htm">Prev</a> <a href="list_cat.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/at.hpp">boost/preprocessor/list/at.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_AT">#define BOOST_PP_LIST_AT</a>(L,I)</h2>
<p>Expands to the <code>I</code>:th element of the list <code>L</code>. The
first element is at index <code>0</code>.</p>
<p>For example,</p>
<pre>
<a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(3,(A,B,C)),1)
</pre>
<p>expands to <code>B</code>.</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_append.htm">Prev</a> <a href="list_cat.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,68 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_at.htm">Prev</a> <a href="list_enum.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/cat.hpp">boost/preprocessor/list/cat.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_CAT">#define BOOST_PP_LIST_CAT</a>(L)</h2>
<p>Catenates all elements of the list.</p>
<p>For example,</p>
<pre>
<a href="list_cat.htm#BOOST_PP_LIST_CAT">BOOST_PP_LIST_CAT</a>(<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(3,(1,2,3)))
</pre>
<p>expands to:</p>
<pre>
123
</pre>
<h3>Uses</h3>
<ul>
<li><a href="list_fold_left.htm#BOOST_PP_LIST_FOLD_LEFT">BOOST_PP_LIST_FOLD_LEFT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_at.htm">Prev</a> <a href="list_enum.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,63 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_cat.htm">Prev</a> <a href="list_filter.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/enum.hpp">boost/preprocessor/list/enum.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_ENUM">#define BOOST_PP_LIST_ENUM</a>(L)</h2>
<p>Converts the list to a comma separated list.</p>
<p>For example,</p>
<pre>
<a href="list_enum.htm#BOOST_PP_LIST_ENUM">BOOST_PP_LIST_ENUM</a>(<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(3,(A,B,C)))
</pre>
<p>expands to:</p>
<pre>
A,B,C
</pre>
<h3>Uses</h3>
<ul>
<li><a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>()</li>
</ul>
<hr>
<a href="list_cat.htm">Prev</a> <a href="list_filter.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,69 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_enum.htm">Prev</a> <a href="list_first_n.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/filter.hpp">boost/preprocessor/list/filter.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_FILTER">#define BOOST_PP_LIST_FILTER</a>(F,P,L)</h2>
<p>Expands to a list containing all the elements <code>X</code> of the list
for which <code>F(D,P,X)</code> is true.</p>
<p>For example,</p>
<pre>
<a href="list_filter.htm#BOOST_PP_LIST_FILTER">BOOST_PP_LIST_FILTER</a>(BOOST_PP_NOT_EQUAL_D,2,<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(3,(1,2,3)))
</pre>
<p>expands to the same as:</p>
<pre>
<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(2,(1,3))
</pre>
<h3>Uses</h3>
<ul>
<li><a href="list_fold_right.htm#BOOST_PP_LIST_FOLD_RIGHT">BOOST_PP_LIST_FOLD_RIGHT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_enum.htm">Prev</a> <a href="list_first_n.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,74 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_filter.htm">Prev</a> <a href="list_fold_left.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/first_n.hpp">boost/preprocessor/list/first_n.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_FIRST_N">#define BOOST_PP_LIST_FIRST_N</a>(N,L)</h2>
<p>Expands to a list of the first <code>N</code> elements of the list
<code>L</code>.</p>
<p>For example,</p>
<pre>
<a href="list_first_n.htm#BOOST_PP_LIST_FIRST_N">BOOST_PP_LIST_FIRST_N</a>(2,<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(4,(+,-,*,/)))
</pre>
<p>expands to the same as:</p>
<pre>
<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(2,(+,-))
</pre>
<h3>See</h3>
<ul>
<li><a href="list_rest_n.htm#BOOST_PP_LIST_REST_N">BOOST_PP_LIST_REST_N</a>()</li>
</ul>
<h3>Uses</h3>
<ul>
<li><a href="list_fold_left.htm#BOOST_PP_LIST_FOLD_LEFT">BOOST_PP_LIST_FOLD_LEFT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_filter.htm">Prev</a> <a href="list_fold_left.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,78 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_first_n.htm">Prev</a> <a href="list_fold_right.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/fold_left.hpp">boost/preprocessor/list/fold_left.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_FOLD_LEFT">#define BOOST_PP_LIST_FOLD_LEFT</a>(F,P,L)</h2>
<p>Iterates <code>F(D,P,X)</code> for each element <code>X</code> of the
list <code>L</code> (from the left or the start of the list).</p>
<p>In other words, expands to:</p>
<pre>
F
( D
, ... F(D, F(D,P,<a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,0)), <a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,1)) ...
, <a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,<a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>(<a href="list_size.htm#BOOST_PP_LIST_SIZE">BOOST_PP_LIST_SIZE</a>(L))
)
</pre>
<h3>Note</h3>
<ul>
<li>Folding, or accumulation, is a very general pattern of computation.
Most list operations can be implemented in terms of folding.</li>
</ul>
<h3>See</h3>
<ul>
<li><a href="list_fold_right.htm#BOOST_PP_LIST_FOLD_RIGHT">BOOST_PP_LIST_FOLD_RIGHT</a>()</li>
</ul>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_first_n.htm">Prev</a> <a href="list_fold_right.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,75 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_fold_left.htm">Prev</a> <a href="list_for_each.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/fold_right.hpp">boost/preprocessor/list/fold_right.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_FOLD_RIGHT">#define BOOST_PP_LIST_FOLD_RIGHT</a>(F,L,P)</h2>
<p>Iterates <code>F(D,X,P)</code> for each element <code>X</code> of the
list <code>L</code> (from the right or the end of the list).</p>
<p>In other words, expands to:</p>
<pre>
F
( D
, <a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,0)
, ... F
( D
, <a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,<a href="arithmetic_sub.htm#BOOST_PP_SUB">BOOST_PP_SUB</a>(<a href="list_size.htm#BOOST_PP_LIST_SIZE">BOOST_PP_LIST_SIZE</a>(L),2))
, F
( D
, <a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,<a href="arithmetic_sub.htm#BOOST_PP_SUB">BOOST_PP_SUB</a>(<a href="list_size.htm#BOOST_PP_LIST_SIZE">BOOST_PP_LIST_SIZE</a>(L),1))
, P
)
) ...
)
</pre>
<h3>Uses</h3>
<ul>
<li><a href="list_fold_left.htm#BOOST_PP_LIST_FOLD_LEFT">BOOST_PP_LIST_FOLD_LEFT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_fold_left.htm">Prev</a> <a href="list_for_each.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,71 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_fold_right.htm">Prev</a> <a href="list_for_each_product.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/for_each.hpp">boost/preprocessor/list/for_each.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_FOR_EACH">#define BOOST_PP_LIST_FOR_EACH</a>(F,P,L)</h2>
<p>Repeats <code>F(R,P,<a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,I))</code> for each I = [0,
<a href="list_size.htm#BOOST_PP_LIST_SIZE">BOOST_PP_LIST_SIZE</a>(L)[.</p>
<p>In other words, expands to the sequence:</p>
<pre>
F(R,P,<a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,0))
F(R,P,<a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,1))
...
F(R,P,<a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,<a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>(<a href="list_size.htm#BOOST_PP_LIST_SIZE">BOOST_PP_LIST_SIZE</a>(L))))
</pre>
<h3>Example</h3>
<ul>
<li><a href="../../example/catch_builtin.cpp">catch_builtin.cpp</a></li>
</ul>
<h3>Uses</h3>
<ul>
<li><a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_fold_right.htm">Prev</a> <a href="list_for_each_product.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_for_each.htm">Prev</a> <a href="list_rest_n.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/for_each_product.hpp">boost/preprocessor/list/for_each_product.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_FOR_EACH_PRODUCT">#define BOOST_PP_LIST_FOR_EACH_PRODUCT</a>(F,N,T_OF_L)</h2>
<p>Repeats <code>F(R,X)</code> for each element <code>X</code> of the
cartesian product of the lists of the <code>N</code>-tuple <code>T_OF_L</code>.</p>
<p>This macro is useful for generating code to avoid combinatorial
explosion.</p>
<h3>Example</h3>
<ul>
<li><a href="../../example/is_integral.cpp">is_integral.cpp</a></li>
<li><a href="../../example/array_arithmetic.c">array_arithmetic.c</a></li>
</ul>
<h3>Uses</h3>
<ul>
<li><a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_for_each.htm">Prev</a> <a href="list_rest_n.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,74 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_for_each_product.htm">Prev</a> <a href="list_reverse.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/rest_n.hpp">boost/preprocessor/list/rest_n.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_REST_N">#define BOOST_PP_LIST_REST_N</a>(N,L)</h2>
<p>Expands to a list of all but the first <code>N</code> elements of the
list <code>L</code>.</p>
<p>For example,</p>
<pre>
<a href="list_rest_n.htm#BOOST_PP_LIST_REST_N">BOOST_PP_LIST_REST_N</a>(2,<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(4,(+,-,*,/)))
</pre>
<p>expands to the same as:</p>
<pre>
<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(2,(*,/))
</pre>
<h3>See</h3>
<ul>
<li><a href="list_first_n.htm#BOOST_PP_LIST_FIRST_N">BOOST_PP_LIST_FIRST_N</a>()</li>
</ul>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_for_each_product.htm">Prev</a> <a href="list_reverse.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,68 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_rest_n.htm">Prev</a> <a href="list_size.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/reverse.hpp">boost/preprocessor/list/reverse.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_REVERSE">#define BOOST_PP_LIST_REVERSE</a>(L)</h2>
<p>List reversal.</p>
<p>For example,</p>
<pre>
<a href="list_reverse.htm#BOOST_PP_LIST_REVERSE">BOOST_PP_LIST_REVERSE</a>(<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(3,(A,B,C)))
</pre>
<p>expands to the same as:</p>
<pre>
<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(3,(C,B,A))
</pre>
<h3>Uses</h3>
<ul>
<li><a href="list_fold_left.htm#BOOST_PP_LIST_FOLD_LEFT">BOOST_PP_LIST_FOLD_LEFT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_rest_n.htm">Prev</a> <a href="list_size.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_reverse.htm">Prev</a> <a href="list_to_tuple.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/size.hpp">boost/preprocessor/list/size.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_SIZE">#define BOOST_PP_LIST_SIZE</a>(L)</h2>
<p>Expands to the number of elements in the list.</p>
<p>For example,</p>
<pre>
<a href="list_size.htm#BOOST_PP_LIST_SIZE">BOOST_PP_LIST_SIZE</a>(<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(3,(A,B,C)))
</pre>
<p>expands to <code>3</code>.</p>
<h3>Uses</h3>
<ul>
<li><a href="list_fold_left.htm#BOOST_PP_LIST_FOLD_LEFT">BOOST_PP_LIST_FOLD_LEFT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_reverse.htm">Prev</a> <a href="list_to_tuple.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,70 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_size.htm">Prev</a> <a href="list_transform.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/to_tuple.hpp">boost/preprocessor/list/to_tuple.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_TO_TUPLE">#define BOOST_PP_LIST_TO_TUPLE</a>(L)</h2>
<p>Converts the list to a tuple.</p>
<p>For example,</p>
<pre>
<a href="list_to_tuple.htm#BOOST_PP_LIST_TO_TUPLE">BOOST_PP_LIST_TO_TUPLE</a>(<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(3,(A,B,C)))
</pre>
<p>expands to <code>(A,B,C)</code>.</p>
<h3>Note</h3>
<ul>
<li>The supported size of the list being converted to a tuple is limited by
<a href="limits.htm#BOOST_PP_LIMIT_MAG">BOOST_PP_LIMIT_MAG</a> rather than <a href="limits.htm#BOOST_PP_LIMIT_TUPLE">BOOST_PP_LIMIT_TUPLE</a>.</li>
</ul>
<h3>Uses</h3>
<ul>
<li><a href="for.htm#BOOST_PP_FOR">BOOST_PP_FOR</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_size.htm">Prev</a> <a href="list_transform.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,79 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_to_tuple.htm">Prev</a> <a href="logical.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/list/transform.hpp">boost/preprocessor/list/transform.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_LIST_TRANSFORM">#define BOOST_PP_LIST_TRANSFORM</a>(F,P,L)</h2>
<p>Applies the macro <code>F(D,P,X)</code> to each element <code>X</code>
of the list producing a new list.</p>
<p>In other words, expands to:</p>
<pre>
<a href="list_adt.htm#BOOST_PP_LIST_CONS">BOOST_PP_LIST_CONS</a>(F(D,P,<a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,0)),
<a href="list_adt.htm#BOOST_PP_LIST_CONS">BOOST_PP_LIST_CONS</a>(F(D,P,<a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,1)),
...
<a href="list_adt.htm#BOOST_PP_LIST_CONS">BOOST_PP_LIST_CONS</a>(F(D,P,<a href="list_at.htm#BOOST_PP_LIST_AT">BOOST_PP_LIST_AT</a>(L,<a href="dec.htm#BOOST_PP_DEC">BOOST_PP_DEC</a>(<a href="list_size.htm#BOOST_PP_LIST_SIZE">BOOST_PP_LIST_SIZE</a>(L)))),
<a href="list_adt.htm#BOOST_PP_LIST_NIL">BOOST_PP_LIST_NIL</a>) ... ))
</pre>
<p>For example,</p>
<pre>
<a href="list_transform.htm#BOOST_PP_LIST_TRANSFORM">BOOST_PP_LIST_TRANSFORM</a>(BOOST_PP_ADD_D,2,<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(2,(1,2)))
</pre>
<p>expands to the same as:</p>
<pre>
<a href="tuple_to_list.htm#BOOST_PP_TUPLE_TO_LIST">BOOST_PP_TUPLE_TO_LIST</a>(2,(3,4))
</pre>
<h3>Uses</h3>
<ul>
<li><a href="list_fold_right.htm#BOOST_PP_LIST_FOLD_RIGHT">BOOST_PP_LIST_FOLD_RIGHT</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/list_test.cpp">list_test.cpp</a></li>
</ul>
<hr>
<a href="list_to_tuple.htm">Prev</a> <a href="logical.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

41
doc/reference/logical.htm Normal file
View File

@ -0,0 +1,41 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="list_transform.htm">Prev</a> <a href="logical_and.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/logical.hpp">boost/preprocessor/logical.hpp</a>&gt;</h1>
<p>Includes all logical headers.</p>
<hr>
<a href="list_transform.htm">Prev</a> <a href="logical_and.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,27 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>logical.hpp File Reference</h1><code>#include &lt;boost/preprocessor/logical/and.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/logical/bool.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/logical/nor.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/logical/not.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/logical/or.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/logical/xor.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/logical.hpp">Click here to see the header.</a>
<p>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -0,0 +1,57 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="logical.htm">Prev</a> <a href="logical_bool.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/logical/and.hpp">boost/preprocessor/logical/and.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_AND">#define BOOST_PP_AND</a>(X,Y)</h2>
<p>Expands to the logical AND of the operands.</p>
<p>For example, <code><a href="logical_and.htm#BOOST_PP_AND">BOOST_PP_AND</a>(0,5)</code> expands to <code>0</code> (a single token).</p>
<h3>Test</h3>
<ul>
<li><a href="../../test/logical_test.cpp">logical_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_AND">#define BOOST_PREPROCESSOR_AND</a>(X,Y)</h2>
<p>Obsolete. Use <a href="logical_and.htm#BOOST_PP_AND">BOOST_PP_AND</a>().</p>
<hr>
<a href="logical.htm">Prev</a> <a href="logical_bool.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,50 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="logical_and.htm">Prev</a> <a href="logical_nor.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/logical/bool.hpp">boost/preprocessor/logical/bool.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_BOOL">#define BOOST_PP_BOOL</a>(X)</h2>
<p>Expands to <code>0</code> if <code>X == 0</code> and <code>1</code> if <code>X != 0</code>.</p>
<hr>
<h2><a name="BOOST_PREPROCESSOR_BOOL">#define BOOST_PREPROCESSOR_BOOL</a>(X)</h2>
<p>Obsolete. Use <a href="logical_bool.htm#BOOST_PP_BOOL">BOOST_PP_BOOL</a>().</p>
<hr>
<a href="logical_and.htm">Prev</a> <a href="logical_nor.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,57 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="logical_bool.htm">Prev</a> <a href="logical_not.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/logical/nor.hpp">boost/preprocessor/logical/nor.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_NOR">#define BOOST_PP_NOR</a>(X,Y)</h2>
<p>Expands to the logical NEITHER OR of the operands.</p>
<p>For example, <code><a href="logical_nor.htm#BOOST_PP_NOR">BOOST_PP_NOR</a>(0,5)</code> expands to <code>0</code> (a single token).</p>
<h3>Test</h3>
<ul>
<li><a href="../../test/logical_test.cpp">logical_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_NOR">#define BOOST_PREPROCESSOR_NOR</a>(X,Y)</h2>
<p>Obsolete. Use <a href="logical_nor.htm#BOOST_PP_NOR">BOOST_PP_NOR</a>().</p>
<hr>
<a href="logical_bool.htm">Prev</a> <a href="logical_not.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,57 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="logical_nor.htm">Prev</a> <a href="logical_or.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/logical/not.hpp">boost/preprocessor/logical/not.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_NOT">#define BOOST_PP_NOT</a>(X)</h2>
<p>Expands to the logical NOT of the operand.</p>
<p>For example, <code><a href="logical_not.htm#BOOST_PP_NOT">BOOST_PP_NOT</a>(0)</code> expands to <code>1</code> (a single token).</p>
<h3>Test</h3>
<ul>
<li><a href="../../test/logical_test.cpp">logical_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_NOT">#define BOOST_PREPROCESSOR_NOT</a>(X)</h2>
<p>Obsolete. Use <a href="logical_not.htm#BOOST_PP_NOT">BOOST_PP_NOT</a>().</p>
<hr>
<a href="logical_nor.htm">Prev</a> <a href="logical_or.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,57 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="logical_not.htm">Prev</a> <a href="logical_xor.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/logical/or.hpp">boost/preprocessor/logical/or.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_OR">#define BOOST_PP_OR</a>(X,Y)</h2>
<p>Expands to the logical OR of the operands.</p>
<p>For example, <code><a href="logical_or.htm#BOOST_PP_OR">BOOST_PP_OR</a>(0,2)</code> expands to <code>1</code> (a single token).</p>
<h3>Test</h3>
<ul>
<li><a href="../../test/logical_test.cpp">logical_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_OR">#define BOOST_PREPROCESSOR_OR</a>(X,Y)</h2>
<p>Obsolete. Use <a href="logical_or.htm#BOOST_PP_OR">BOOST_PP_OR</a>().</p>
<hr>
<a href="logical_not.htm">Prev</a> <a href="logical_xor.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -0,0 +1,57 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="logical_or.htm">Prev</a> <a href="max.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/logical/xor.hpp">boost/preprocessor/logical/xor.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_XOR">#define BOOST_PP_XOR</a>(X,Y)</h2>
<p>Expands to the logical EXCLUSIVE OR of the operands.</p>
<p>For example, <code><a href="logical_xor.htm#BOOST_PP_XOR">BOOST_PP_XOR</a>(1,2)</code> expands to <code>0</code> (a single token).</p>
<h3>Test</h3>
<ul>
<li><a href="../../test/logical_test.cpp">logical_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_XOR">#define BOOST_PREPROCESSOR_XOR</a>(X,Y)</h2>
<p>Obsolete. Use <a href="logical_xor.htm#BOOST_PP_XOR">BOOST_PP_XOR</a>().</p>
<hr>
<a href="logical_or.htm">Prev</a> <a href="max.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

63
doc/reference/max.htm Normal file
View File

@ -0,0 +1,63 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="logical_xor.htm">Prev</a> <a href="min.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/max.hpp">boost/preprocessor/max.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_MAX">#define BOOST_PP_MAX</a>(X,Y)</h2>
<p>Expands to the maximum of <code>X</code> and <code>Y</code>.</p>
<p>For example, <code><a href="max.htm#BOOST_PP_MAX">BOOST_PP_MAX</a>(5,7)</code> expands to <code>7</code> (a
single token).</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_MAX">#define BOOST_PREPROCESSOR_MAX</a>(X,Y)</h2>
<p>Obsolete. Use <a href="max.htm#BOOST_PP_MAX">BOOST_PP_MAX</a>().</p>
<hr>
<a href="logical_xor.htm">Prev</a> <a href="min.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,59 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>max.hpp File Reference</h1><code>#include &lt;boost/preprocessor/comparison/less.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/if.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="max_8hpp.html#a0">BOOST_PREPROCESSOR_MAX</a>(X, Y)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to the maximum of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/max.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="max.hpp::BOOST_PREPROCESSOR_MAX"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_MAX</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X, <tr>
<td></td>
<td></td>
<td class="md" nowrap>Y&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to the maximum of X and Y.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

63
doc/reference/min.htm Normal file
View File

@ -0,0 +1,63 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Boost.Preprocessor - Reference</title>
</head>
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
"header">
<tr>
<td valign="top" width="300">
<h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../c++boost.gif" border="0"></a></h3>
</td>
<td valign="top">
<h1 align="center">Boost.Preprocessor</h1>
<h2 align="center">Reference</h2>
</td>
</tr>
</table>
<hr>
<a href="max.htm">Prev</a> <a href="repeat.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<h1>#include &lt;<a href="../../../../boost/preprocessor/min.hpp">boost/preprocessor/min.hpp</a>&gt;</h1>
<hr>
<h2><a name="BOOST_PP_MIN">#define BOOST_PP_MIN</a>(X,Y)</h2>
<p>Expands to the minimum of <code>X</code> and <code>Y</code>.</p>
<p>For example, <code><a href="min.htm#BOOST_PP_MIN">BOOST_PP_MIN</a>(5,7)</code> expands to <code>5</code> (a
single token).</p>
<h3>Uses</h3>
<ul>
<li><a href="while.htm#BOOST_PP_WHILE">BOOST_PP_WHILE</a>()</li>
</ul>
<h3>Test</h3>
<ul>
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
</ul>
<hr>
<h2><a name="BOOST_PREPROCESSOR_MIN">#define BOOST_PREPROCESSOR_MIN</a>(X,Y)</h2>
<p>Obsolete. Use <a href="min.htm#BOOST_PP_MIN">BOOST_PP_MIN</a>().</p>
<hr>
<a href="max.htm">Prev</a> <a href="repeat.htm">Next</a> <a href="index.htm#Macros">Macros</a> <a href="index.htm#Headers">Headers</a>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
<p><i>&copy; Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose.</i></p>
</body></html>

View File

@ -1,59 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>min.hpp File Reference</h1><code>#include &lt;boost/preprocessor/comparison/less.hpp&gt;</code><br>
<code>#include &lt;boost/preprocessor/if.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="min_8hpp.html#a0">BOOST_PREPROCESSOR_MIN</a>(X, Y)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to the minimum of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/min.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="min.hpp::BOOST_PREPROCESSOR_MIN"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_MIN</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X, <tr>
<td></td>
<td></td>
<td class="md" nowrap>Y&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to the minimum of X and Y.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

View File

@ -1,58 +0,0 @@
<a href="../index.htm"><IMG height=86
alt="c++boost.gif (8819 bytes)"
src="../../../../c++boost.gif"
width=277 align=center></a>
<hr>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>mul.hpp File Reference</h1><code>#include &lt;boost/preprocessor/arithmetic/add.hpp&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="mul_8hpp.html#a0">BOOST_PREPROCESSOR_MUL</a>(X, Y)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Expands to the product of X and Y.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a href="../../../../boost/preprocessor/arithmetic/mul.hpp">Click here to see the header.</a>
<p>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="mul.hpp::BOOST_PREPROCESSOR_MUL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BOOST_PREPROCESSOR_MUL</td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">X, <tr>
<td></td>
<td></td>
<td class="md" nowrap>Y&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Expands to the product of X and Y.
<p>
</td>
</tr>
</table>
<hr>
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
<p>Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
"as is" without express or implied warranty, and with no claim as to its suitability
for any purpose. </p>
<p>Generated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>

Some files were not shown because too many files have changed in this diff Show More