diff --git a/doc/reference/arithmetic_add.htm b/doc/reference/arithmetic_add.htm index d8606d4..8c700aa 100644 --- a/doc/reference/arithmetic_add.htm +++ b/doc/reference/arithmetic_add.htm @@ -1,36 +1,59 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/arithmetic/add.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/arithmetic/add.hpp>


-

#define BOOST_PP_ADD(X,Y)

-

Expands to the sum of X and Y.

+

#define BOOST_PP_ADD(X,Y)

+

Expands to the sum of X and Y.

-

For example, BOOST_PP_ADD(4,3) expands to 7 (a single token).

+

For example, BOOST_PP_ADD(4,3) expands to 7 (a +single token).

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_ADD(X,Y)

-

Obsolete. Use BOOST_PP_ADD().

+

#define BOOST_PREPROCESSOR_ADD(X,Y)

+

Obsolete. Use BOOST_PP_ADD().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/arithmetic_div.htm b/doc/reference/arithmetic_div.htm index 1f115e0..b9a6994 100644 --- a/doc/reference/arithmetic_div.htm +++ b/doc/reference/arithmetic_div.htm @@ -1,36 +1,59 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/arithmetic/div.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/arithmetic/div.hpp>


-

#define BOOST_PP_DIV(X,Y)

-

Expands to the quotient of X and Y.

+

#define BOOST_PP_DIV(X,Y)

+

Expands to the quotient of X and Y.

-

For example, BOOST_PP_DIV(4,3) expands to 1 (a single token).

+

For example, BOOST_PP_DIV(4,3) expands to 1 (a +single token).

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_DIV(X,Y)

-

Obsolete. Use BOOST_PP_DIV().

+

#define BOOST_PREPROCESSOR_DIV(X,Y)

+

Obsolete. Use BOOST_PP_DIV().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/arithmetic_mod.htm b/doc/reference/arithmetic_mod.htm index 96e1d8a..d40942f 100644 --- a/doc/reference/arithmetic_mod.htm +++ b/doc/reference/arithmetic_mod.htm @@ -1,36 +1,59 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/arithmetic/mod.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/arithmetic/mod.hpp>


-

#define BOOST_PP_MOD(X,Y)

-

Expands to the remainder of X and Y.

+

#define BOOST_PP_MOD(X,Y)

+

Expands to the remainder of X and Y.

-

For example, BOOST_PP_MOD(4,3) expands to 1 (a single token).

+

For example, BOOST_PP_MOD(4,3) expands to 1 (a +single token).

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_MOD(X,Y)

-

Obsolete. Use BOOST_PP_MOD().

+

#define BOOST_PREPROCESSOR_MOD(X,Y)

+

Obsolete. Use BOOST_PP_MOD().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/arithmetic_mul.htm b/doc/reference/arithmetic_mul.htm index 18634b4..2745590 100644 --- a/doc/reference/arithmetic_mul.htm +++ b/doc/reference/arithmetic_mul.htm @@ -1,36 +1,59 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/arithmetic/mul.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/arithmetic/mul.hpp>


-

#define BOOST_PP_MUL(X,Y)

-

Expands to the product of X and Y.

+

#define BOOST_PP_MUL(X,Y)

+

Expands to the product of X and Y.

-

For example, BOOST_PP_MUL(4,3) expands to 12 (a single token).

+

For example, BOOST_PP_MUL(4,3) expands to 12 (a +single token).

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_MUL(X,Y)

-

Obsolete. Use BOOST_PP_MUL().

+

#define BOOST_PREPROCESSOR_MUL(X,Y)

+

Obsolete. Use BOOST_PP_MUL().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/arithmetic_sub.htm b/doc/reference/arithmetic_sub.htm index d0da7a6..bceb484 100644 --- a/doc/reference/arithmetic_sub.htm +++ b/doc/reference/arithmetic_sub.htm @@ -1,36 +1,59 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/arithmetic/sub.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/arithmetic/sub.hpp>


-

#define BOOST_PP_SUB(X,Y)

-

Expands to the difference of X and Y.

+

#define BOOST_PP_SUB(X,Y)

+

Expands to the difference of X and Y.

-

For example, BOOST_PP_SUB(4,3) expands to 1 (a single token).

+

For example, BOOST_PP_SUB(4,3) expands to 1 (a +single token).

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_SUB(X,Y)

-

Obsolete. Use BOOST_PP_SUB(X,Y).

+

#define BOOST_PREPROCESSOR_SUB(X,Y)

+

Obsolete. Use BOOST_PP_SUB(X,Y).


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/assert_msg.htm b/doc/reference/assert_msg.htm index 7f1f2fb..57ab5d7 100644 --- a/doc/reference/assert_msg.htm +++ b/doc/reference/assert_msg.htm @@ -1,28 +1,51 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/assert_msg.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/assert_msg.hpp>


-

#define BOOST_PP_ASSERT_MSG(C,MSG)

-

Expands to nothing if C != 0 and to MSG if C == 0.

+

#define BOOST_PP_ASSERT_MSG(C,MSG)

+

Expands to nothing if C != 0 and to MSG if +C == 0.


-

#define BOOST_PREPROCESSOR_ASSERT_MSG(C,MSG)

-

Obsolete. Use BOOST_PP_ASSERT_MSG().

+

#define BOOST_PREPROCESSOR_ASSERT_MSG(C,MSG)

+

Obsolete. Use BOOST_PP_ASSERT_MSG().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/cat.htm b/doc/reference/cat.htm index 13822c7..4a7a79d 100644 --- a/doc/reference/cat.htm +++ b/doc/reference/cat.htm @@ -1,34 +1,57 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/cat.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/cat.hpp>


-

#define BOOST_PP_CAT(X,Y)

-

Catenates X and Y after they are macro expanded.

+

#define BOOST_PP_CAT(X,Y)

+

Concatenates X and Y after they are macro +expanded.

-

Example

- +

Example

+
-

#define BOOST_PREPROCESSOR_CAT(X,Y)

-

Obsolete. Use BOOST_PP_CAT().

+

#define BOOST_PREPROCESSOR_CAT(X,Y)

+

Obsolete. Use BOOST_PP_CAT().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/comma.htm b/doc/reference/comma.htm index 0d29317..4e5f604 100644 --- a/doc/reference/comma.htm +++ b/doc/reference/comma.htm @@ -1,34 +1,56 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/comma.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/comma.hpp>


-

#define BOOST_PP_COMMA()

-

Expands to a comma. Can be used with BOOST_PP_IF().

+

#define BOOST_PP_COMMA()

+

Expands to a comma. Can be used with BOOST_PP_IF().

-

See

- +

See

+
-

#define BOOST_PREPROCESSOR_COMMA()

-

Obsolete. Use BOOST_PP_COMMA().

+

#define BOOST_PREPROCESSOR_COMMA()

+

Obsolete. Use BOOST_PP_COMMA().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/comma_if.htm b/doc/reference/comma_if.htm index 1780101..60c0340 100644 --- a/doc/reference/comma_if.htm +++ b/doc/reference/comma_if.htm @@ -1,28 +1,52 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/comma_if.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/comma_if.hpp>


-

#define BOOST_PP_COMMA_IF(C)

-

Expands to a comma if C != 0 and nothing if C == 0.

+

#define BOOST_PP_COMMA_IF(C)

+

Expands to a comma if C != 0 and nothing if +C == 0.

+
-

#define BOOST_PREPROCESSOR_COMMA_IF(C)

-

Obsolete. Use BOOST_PP_COMMA_IF().

+

#define BOOST_PREPROCESSOR_COMMA_IF(C)

+

Obsolete. Use BOOST_PP_COMMA_IF().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/comparison_equal.htm b/doc/reference/comparison_equal.htm index aa8bd5c..7e8df81 100644 --- a/doc/reference/comparison_equal.htm +++ b/doc/reference/comparison_equal.htm @@ -1,34 +1,57 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/comparison/equal.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/comparison/equal.hpp>


-

#define BOOST_PP_EQUAL(X,Y)

-

Expands to 1 if X==Y and 0 otherwise.

+

#define BOOST_PP_EQUAL(X,Y)

+

Expands to 1 if X == Y and 0 +otherwise.

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_EQUAL(X,Y)

-

Obsolete. Use BOOST_PP_EQUAL().

+

#define BOOST_PREPROCESSOR_EQUAL(X,Y)

+

Obsolete. Use BOOST_PP_EQUAL().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/comparison_greater.htm b/doc/reference/comparison_greater.htm index 407ad39..fa4b1e9 100644 --- a/doc/reference/comparison_greater.htm +++ b/doc/reference/comparison_greater.htm @@ -1,34 +1,57 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/comparison/greater.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/comparison/greater.hpp>


-

#define BOOST_PP_GREATER(X,Y)

-

Expands to 1 if X>Y and 0 otherwise.

+

#define BOOST_PP_GREATER(X,Y)

+

Expands to 1 if X > Y and 0 +otherwise.

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_GREATER(X,Y)

-

Obsolete. Use BOOST_PP_GREATER().

+

#define BOOST_PREPROCESSOR_GREATER(X,Y)

+

Obsolete. Use BOOST_PP_GREATER().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/comparison_greater_equal.htm b/doc/reference/comparison_greater_equal.htm index 8e3f1a7..ec559e6 100644 --- a/doc/reference/comparison_greater_equal.htm +++ b/doc/reference/comparison_greater_equal.htm @@ -1,34 +1,57 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/comparison/greater_equal.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/comparison/greater_equal.hpp>


-

#define BOOST_PP_GREATER_EQUAL(X,Y)

-

Expands to 1 if X>=Y and 0 otherwise.

+

#define BOOST_PP_GREATER_EQUAL(X,Y)

+

Expands to 1 if X >= Y and 0 +otherwise.

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_GREATER_EQUAL(X,Y)

-

Obsolete. Use BOOST_PP_GREATER_EQUAL().

+

#define BOOST_PREPROCESSOR_GREATER_EQUAL(X,Y)

+

Obsolete. Use BOOST_PP_GREATER_EQUAL().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/comparison_less.htm b/doc/reference/comparison_less.htm index 490e603..0d19902 100644 --- a/doc/reference/comparison_less.htm +++ b/doc/reference/comparison_less.htm @@ -1,34 +1,57 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/comparison/less.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/comparison/less.hpp>


-

#define BOOST_PP_LESS(X,Y)

-

Expands to 1 if X<Y and 0 otherwise.

+

#define BOOST_PP_LESS(X,Y)

+

Expands to 1 if X < Y and 0 +otherwise.

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_LESS(X,Y)

-

Obsolete. Use BOOST_PP_LESS().

+

#define BOOST_PREPROCESSOR_LESS(X,Y)

+

Obsolete. Use BOOST_PP_LESS().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/comparison_less_equal.htm b/doc/reference/comparison_less_equal.htm index f63bc5f..ee00809 100644 --- a/doc/reference/comparison_less_equal.htm +++ b/doc/reference/comparison_less_equal.htm @@ -1,34 +1,57 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/comparison/less_equal.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/comparison/less_equal.hpp>


-

#define BOOST_PP_LESS_EQUAL(X,Y)

-

Expands to 1 if X<=Y and 0 otherwise.

+

#define BOOST_PP_LESS_EQUAL(X,Y)

+

Expands to 1 if X <= Y and 0 +otherwise.

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_LESS_EQUAL(X,Y)

-

Obsolete. Use BOOST_PP_LESS_EQUAL().

+

#define BOOST_PREPROCESSOR_LESS_EQUAL(X,Y)

+

Obsolete. Use BOOST_PP_LESS_EQUAL().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/comparison_not_equal.htm b/doc/reference/comparison_not_equal.htm index aab5209..a15d92c 100644 --- a/doc/reference/comparison_not_equal.htm +++ b/doc/reference/comparison_not_equal.htm @@ -1,34 +1,57 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/comparison/not_equal.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/comparison/not_equal.hpp>


-

#define BOOST_PP_NOT_EQUAL(X,Y)

-

Expands to 1 if X!=Y and 0 otherwise.

+

#define BOOST_PP_NOT_EQUAL(X,Y)

+

Expands to 1 if X != Y and 0 +otherwise.

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_NOT_EQUAL(X,Y)

-

Obsolete. Use BOOST_PP_NOT_EQUAL().

+

#define BOOST_PREPROCESSOR_NOT_EQUAL(X,Y)

+

Obsolete. Use BOOST_PP_NOT_EQUAL().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/dec.htm b/doc/reference/dec.htm index 2c4c37c..ee40e00 100644 --- a/doc/reference/dec.htm +++ b/doc/reference/dec.htm @@ -1,36 +1,59 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/dec.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/dec.hpp>


-

#define BOOST_PP_DEC(X)

-

Decrements X expanding to a single token.

+

#define BOOST_PP_DEC(X)

+

Decrements X expanding to a single token.

-

For example, BOOST_PP_DEC(3) expands to 2 (a single token).

+

For example, BOOST_PP_DEC(3) expands to 2 (a +single token).

-

BOOST_PP_DEC() uses saturation arithmetic. Decrementing 0 yeilds a 0.

+

BOOST_PP_DEC() uses saturation arithmetic. Decrementing 0 yeilds a 0.

-

Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are -supported.

+

Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are +supported.


-

#define BOOST_PREPROCESSOR_DEC(X)

-

Obsolete. Use BOOST_PP_DEC().

+

#define BOOST_PREPROCESSOR_DEC(X)

+

Obsolete. Use BOOST_PP_DEC().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/empty.htm b/doc/reference/empty.htm index 03ff8dc..e4f41f5 100644 --- a/doc/reference/empty.htm +++ b/doc/reference/empty.htm @@ -1,79 +1,56 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/empty.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/empty.hpp>


-

#define BOOST_PP_EMPTY()

-

Expands to nothing. Used with BOOST_PP_IF() and as an unused parameter.

+

#define BOOST_PP_EMPTY()

+

Expands to nothing. Used with BOOST_PP_IF() and as an unused parameter.

-

Example usage as the implementation of BOOST_PP_COMMA_IF(C):

- -
-  #define BOOST_PP_COMMA_IF(C)\
-    BOOST_PP_IF(C,BOOST_PP_COMMA,BOOST_PP_EMPTY)()
-
- -

Example usage as an unused macro parameter:

- -
-  #define BOOST_PP_DEF(CV)\
-    template\
-    CV() typename implement_subscript_using_begin_subscript::value_type&\
-      implement_subscript_using_begin_subscript::operator[]\
-      ( index_type\
-          i\
-      ) CV()\
-    { return base::begin()[i];\
-    }
-
-  BOOST_PP_DEF(BOOST_PP_EMPTY)
-  BOOST_PP_DEF(const BOOST_PP_EMPTY)
-  #undef BOOST_PP_DEF
-
- -

The above expands to:

- -
-  template
-  typename implement_subscript_using_begin_subscript::value_type&
-    implement_subscript_using_begin_subscript::operator[]
-    ( index_type
-        i
-    )
-  { return base::begin()[i];
-  }
-
-  template
-  const typename implement_subscript_using_begin_subscript::value_type&
-    implement_subscript_using_begin_subscript::operator[]
-    ( index_type
-        i
-    ) const
-  { return base::begin()[i];
-  }
-
- -

In case you wonder, the above code is part of a generalized layer for -implementing the subscripting operators of a random access container.

+

Example

+
-

#define BOOST_PREPROCESSOR_EMPTY()

-

Obsolete. Use BOOST_PP_EMPTY().

+

#define BOOST_PREPROCESSOR_EMPTY()

+

Obsolete. Use BOOST_PP_EMPTY().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/enum.htm b/doc/reference/enum.htm index 902eba7..4f452af 100644 --- a/doc/reference/enum.htm +++ b/doc/reference/enum.htm @@ -1,36 +1,58 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/enum.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/enum.hpp>


-

#define BOOST_PP_ENUM(N,F,P)

-

Generates a comma separated list.

+

#define BOOST_PP_ENUM(N,F,P)

+

Generates a comma separated list.

-

In other words, expands to the sequence:

+

In other words, expands to the sequence:

-
-  F(0,P), F(1,P), ..., F(N-1,P)
-
+
+  F(0,P), F(1,P), ..., F(BOOST_PP_DEC(N),P)
+
-

Uses

- +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/enum_params.htm b/doc/reference/enum_params.htm index f959dcf..9b0cd47 100644 --- a/doc/reference/enum_params.htm +++ b/doc/reference/enum_params.htm @@ -1,40 +1,62 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/enum_params.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/enum_params.hpp>


-

#define BOOST_PP_ENUM_PARAMS(N,P)

-

Generates a comma separated list of parameters.

+

#define BOOST_PP_ENUM_PARAMS(N,P)

+

Generates a comma separated list of parameters.

-

In other words, expands to the sequence:

+

In other words, expands to the sequence:

-
-  P##0, P##1, ..., P##N-1
-
+
+  BOOST_PP_CAT(P,0), BOOST_PP_CAT(P,1), ..., BOOST_PP_CAT(P,BOOST_PP_DEC(N))
+
-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_ENUM_PARAMS(N,P)

-

Obsolete. Use BOOST_PP_ENUM_PARAMS().

+

#define BOOST_PREPROCESSOR_ENUM_PARAMS(N,P)

+

Obsolete. Use BOOST_PP_ENUM_PARAMS().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/enum_params_with_a_default.htm b/doc/reference/enum_params_with_a_default.htm index cbb0c4c..4149234 100644 --- a/doc/reference/enum_params_with_a_default.htm +++ b/doc/reference/enum_params_with_a_default.htm @@ -1,40 +1,62 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/enum_params_with_a_default.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/enum_params_with_a_default.hpp>


-

#define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D)

-

Generates a comma separated list of parameters with a default.

+

#define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D)

+

Generates a comma separated list of parameters with a default.

-

In other words, expands to the sequence:

+

In other words, expands to the sequence:

-
-  P##0 = D, P##1 = D, ..., P##N-1 = D
-
+
+  BOOST_PP_CAT(P,0) = D, BOOST_PP_CAT(P,1) = D, ..., BOOST_PP_CAT(P,BOOST_PP_DEC(N)) = D
+
-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D)

-

Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT().

+

#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D)

+

Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/enum_params_with_defaults.htm b/doc/reference/enum_params_with_defaults.htm index 6f7e902..8ef4554 100644 --- a/doc/reference/enum_params_with_defaults.htm +++ b/doc/reference/enum_params_with_defaults.htm @@ -1,40 +1,65 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/enum_params_with_defaults.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/enum_params_with_defaults.hpp>


-

#define BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(N,P,D)

-

Generates a comma separated list of parameters with defaults.

+

#define BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(N,P,D)

+

Generates a comma separated list of parameters with defaults.

-

In other words, expands to the sequence:

+

In other words, expands to the sequence:

-
-  P##0 = D##0, P##1 = D##1, ..., P##N-1 = D##N-1
-
+
+  BOOST_PP_CAT(P,0) = BOOST_PP_CAT(D,0),
+  BOOST_PP_CAT(P,1) = BOOST_PP_CAT(D,1),
+  ...,
+  BOOST_PP_CAT(P,BOOST_PP_DEC(N)) = BOOST_PP_CAT(D,BOOST_PP_DEC(N))
+
-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS(N,P,D)

-

Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS().

+

#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS(N,P,D)

+

Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/enum_shifted.htm b/doc/reference/enum_shifted.htm index 1708746..c587acf 100644 --- a/doc/reference/enum_shifted.htm +++ b/doc/reference/enum_shifted.htm @@ -1,36 +1,58 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/enum_shifted.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/enum_shifted.hpp>


-

#define BOOST_PP_ENUM_SHIFTED(N,F,P)

-

Generates a comma separated shifted list.

+

#define BOOST_PP_ENUM_SHIFTED(N,F,P)

+

Generates a comma separated shifted list.

-

In other words, expands to the sequence:

+

In other words, expands to the sequence:

-
-  F(1,P), F(2,P), ..., F(N-1,P)
-
+
+  F(1,P), F(2,P), ..., F(BOOST_PP_DEC(N),P)
+
-

Uses

- +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/enum_shifted_params.htm b/doc/reference/enum_shifted_params.htm index 4a8cce2..31d018a 100644 --- a/doc/reference/enum_shifted_params.htm +++ b/doc/reference/enum_shifted_params.htm @@ -1,46 +1,68 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/enum_shifted_params.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/enum_shifted_params.hpp>


-

#define BOOST_PP_ENUM_SHIFTED_PARAMS(N,P)

-

Generates a comma separated list of shifted actual parameters.

+

#define BOOST_PP_ENUM_SHIFTED_PARAMS(N,P)

+

Generates a comma separated list of shifted actual parameters.

-

In other words, expands to the sequence:

+

In other words, expands to the sequence:

-
-  P##1, P##2, ..., P##N-1
-
+
+  BOOST_PP_CAT(P,1), BOOST_PP_CAT(P,2), ..., BOOST_PP_CAT(P,BOOST_PP_DEC(N))
+
-

Uses

- +

Uses

+ -

Rationale

- +

Rationale

+
-

#define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS(N,P)

-

Obsolete. Use BOOST_PP_ENUM_SHIFTED_PARAMS().

+

#define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS(N,P)

+

Obsolete. Use BOOST_PP_ENUM_SHIFTED_PARAMS().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/expand.htm b/doc/reference/expand.htm index 9822f08..ebc16a4 100644 --- a/doc/reference/expand.htm +++ b/doc/reference/expand.htm @@ -1,24 +1,46 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/expand.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/expand.hpp>


-

#define BOOST_PP_EXPAND(X)

-

Essentially macro expands the parameter X twice.

+

#define BOOST_PP_EXPAND(X)

+

Essentially macro expands the parameter X twice.


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/for.htm b/doc/reference/for.htm index bb08b62..b7bc446 100644 --- a/doc/reference/for.htm +++ b/doc/reference/for.htm @@ -1,62 +1,85 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/for.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/for.hpp>


-

#define BOOST_PP_FOR(X,C,F,I)

-

Repeats I(R,X) and iterates F(R,X) while C(R,X) is true.

+

#define BOOST_PP_FOR(X,C,F,I)

+

Repeats I(R,X) and iterates F(R,X) while +C(R,X) is true.

-

In other words, expands to the sequence:

+

In other words, expands to the sequence:

-
+
   I(R,X)  I(R,F(R,X))  I(R,F(R,F(R,X)))  ...  I(R,F(R,F(...F(R,X)...)))
-
+
-

The length of the sequence is determined by C(R,X).

+

The length of the sequence is determined by C(R,X).

-

Legend

- -

BOOST_PP_REPEAT() vs BOOST_PP_FOR()

+

BOOST_PP_REPEAT() vs BOOST_PP_FOR()

-

BOOST_PP_FOR() is a generalization of BOOST_PP_REPEAT(). This means that +

BOOST_PP_FOR() is a generalization of BOOST_PP_REPEAT(). This means that BOOST_PP_REPEAT() can be implemented using BOOST_PP_FOR(). However, BOOST_PP_REPEAT() was introduced earlier, is generally easier to use, and is -still quite useful on its own.

+still quite useful on its own.

-

2D and 3D repetition

+

2D and 3D repetition

-

BOOST_PP_FOR() can be used for multidimensional repetition simply by -invoking BOOST_PP_FOR##R() directly.

+

BOOST_PP_FOR() can be used for multidimensional repetition simply by +invoking BOOST_PP_FOR##R() directly.


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/identity.htm b/doc/reference/identity.htm index 41510dd..816d278 100644 --- a/doc/reference/identity.htm +++ b/doc/reference/identity.htm @@ -1,48 +1,66 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/identity.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/identity.hpp>


-

#define BOOST_PP_IDENTITY(X)

-

Expands to X once invoked.

+

#define BOOST_PP_IDENTITY(X)

+

Expands to X once invoked.

-

Designed to be used with BOOST_PP_IF(), when one of the clauses need to be -invoked.

+

Designed to be used with BOOST_PP_IF(), when one of the clauses need to be +invoked.

-

For example,

+

For example,

-
-  BOOST_PP_IDENTITY(X)()
-
+
+  BOOST_PP_IF(1,BOOST_PP_IDENTITY(X),BOOST_PP_EMPTY)()
+
-

expands to:

+

expands to:

-
+
   X
-
- -

Note

- -

BOOST_PP_IDENTITY() needs to be invoked.

+

-

#define BOOST_PREPROCESSOR_IDENTITY(X)

-

Obsolete. Use BOOST_PP_IDENTITY().

+

#define BOOST_PREPROCESSOR_IDENTITY(X)

+

Obsolete. Use BOOST_PP_IDENTITY().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/if.htm b/doc/reference/if.htm index 6f7920a..9e6cfd8 100644 --- a/doc/reference/if.htm +++ b/doc/reference/if.htm @@ -1,32 +1,55 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/if.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/if.hpp>


-

#define BOOST_PP_IF(C,T,E)

-

Expands to T if C != 0 and E if C == 0.

+

#define BOOST_PP_IF(C,T,E)

+

Expands to T if C != 0 and E if +C == 0.

-

BOOST_PP_IF() enables convenient generation of lists using -BOOST_PP_REPEAT().

+

BOOST_PP_IF() enables convenient generation of lists using +BOOST_PP_REPEAT().


-

#define BOOST_PREPROCESSOR_IF(C,T,E)

-

Obsolete. Use BOOST_PP_IF().

+

#define BOOST_PREPROCESSOR_IF(C,T,E)

+

Obsolete. Use BOOST_PP_IF().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/inc.htm b/doc/reference/inc.htm index d2bf350..35302f5 100644 --- a/doc/reference/inc.htm +++ b/doc/reference/inc.htm @@ -1,37 +1,60 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/inc.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/inc.hpp>


-

#define BOOST_PP_INC(X)

-

Increments X expanding to a single token.

+

#define BOOST_PP_INC(X)

+

Increments X expanding to a single token.

-

For example, BOOST_PP_INC(3) expands to 4 (a single token).

+

For example, BOOST_PP_INC(3) expands to 4 (a +single token).

-

BOOST_PP_INC() uses saturation arithmetic. Incrementing a -BOOST_PP_LIMIT_MAG yields a BOOST_PP_LIMIT_MAG.

+

BOOST_PP_INC() uses saturation arithmetic. Incrementing a +BOOST_PP_LIMIT_MAG yields a BOOST_PP_LIMIT_MAG.

-

Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are -supported.

+

Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are +supported.


-

#define BOOST_PREPROCESSOR_INC(X)

-

Obsolete. Use BOOST_PP_INC().

+

#define BOOST_PREPROCESSOR_INC(X)

+

Obsolete. Use BOOST_PP_INC().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/index.htm b/doc/reference/index.htm index 6738649..7301e7c 100644 --- a/doc/reference/index.htm +++ b/doc/reference/index.htm @@ -1,202 +1,220 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) - -
- -

Boost PREPROCESSOR Library: Reference

- -
- -

Headers (Macros)

- -
-
#include <boost/preprocessor/arithmetic/add.hpp> -
#include <boost/preprocessor/arithmetic/div.hpp> -
#include <boost/preprocessor/arithmetic/mod.hpp> -
#include <boost/preprocessor/arithmetic/mul.hpp> -
#include <boost/preprocessor/arithmetic/sub.hpp> -
#include <boost/preprocessor/assert_msg.hpp> -
#include <boost/preprocessor/cat.hpp> -
#include <boost/preprocessor/comma.hpp> -
#include <boost/preprocessor/comma_if.hpp> -
#include <boost/preprocessor/comparison/equal.hpp> -
#include <boost/preprocessor/comparison/greater.hpp> -
#include <boost/preprocessor/comparison/greater_equal.hpp> -
#include <boost/preprocessor/comparison/less.hpp> -
#include <boost/preprocessor/comparison/less_equal.hpp> -
#include <boost/preprocessor/comparison/not_equal.hpp> -
#include <boost/preprocessor/dec.hpp> -
#include <boost/preprocessor/empty.hpp> -
#include <boost/preprocessor/enum.hpp> -
#include <boost/preprocessor/enum_params.hpp> -
#include <boost/preprocessor/enum_params_with_a_default.hpp> -
#include <boost/preprocessor/enum_params_with_defaults.hpp> -
#include <boost/preprocessor/enum_shifted.hpp> -
#include <boost/preprocessor/enum_shifted_params.hpp> -
#include <boost/preprocessor/expand.hpp> -
#include <boost/preprocessor/for.hpp> -
#include <boost/preprocessor/identity.hpp> -
#include <boost/preprocessor/if.hpp> -
#include <boost/preprocessor/inc.hpp> -
#include <boost/preprocessor/limits.hpp> -
#include <boost/preprocessor/list/adt.hpp> -
#include <boost/preprocessor/list/append.hpp> -
#include <boost/preprocessor/list/at.hpp> -
#include <boost/preprocessor/list/cat.hpp> -
#include <boost/preprocessor/list/enum.hpp> -
#include <boost/preprocessor/list/filter.hpp> -
#include <boost/preprocessor/list/first_n.hpp> -
#include <boost/preprocessor/list/fold_left.hpp> -
#include <boost/preprocessor/list/fold_right.hpp> -
#include <boost/preprocessor/list/for_each.hpp> -
#include <boost/preprocessor/list/for_each_product.hpp> -
#include <boost/preprocessor/list/rest_n.hpp> -
#include <boost/preprocessor/list/reverse.hpp> -
#include <boost/preprocessor/list/size.hpp> -
#include <boost/preprocessor/list/to_tuple.hpp> -
#include <boost/preprocessor/list/transform.hpp> -
#include <boost/preprocessor/logical/and.hpp> -
#include <boost/preprocessor/logical/bool.hpp> -
#include <boost/preprocessor/logical/nor.hpp> -
#include <boost/preprocessor/logical/not.hpp> -
#include <boost/preprocessor/logical/or.hpp> -
#include <boost/preprocessor/logical/xor.hpp> -
#include <boost/preprocessor/max.hpp> -
#include <boost/preprocessor/min.hpp> -
#include <boost/preprocessor/repeat.hpp> -
#include <boost/preprocessor/repeat_2nd.hpp> -
#include <boost/preprocessor/repeat_3rd.hpp> -
#include <boost/preprocessor/stringize.hpp> -
#include <boost/preprocessor/tuple/eat.hpp> -
#include <boost/preprocessor/tuple/elem.hpp> -
#include <boost/preprocessor/tuple/to_list.hpp> -
#include <boost/preprocessor/while.hpp> -
+ + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

Macros (Headers)

-
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_TO_LIST -
BOOST_PP_WHILE -
BOOST_PP_XOR -
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_MOD -
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
+
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_MOD
+
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
+
+
+ +

Headers (Macros)

+ +
+
#include <boost/preprocessor/arithmetic.hpp>
+
#include <boost/preprocessor/arithmetic/add.hpp>
+
#include <boost/preprocessor/arithmetic/div.hpp>
+
#include <boost/preprocessor/arithmetic/mod.hpp>
+
#include <boost/preprocessor/arithmetic/mul.hpp>
+
#include <boost/preprocessor/arithmetic/sub.hpp>
+
#include <boost/preprocessor/assert_msg.hpp>
+
#include <boost/preprocessor/cat.hpp>
+
#include <boost/preprocessor/comma.hpp>
+
#include <boost/preprocessor/comma_if.hpp>
+
#include <boost/preprocessor/comparison.hpp>
+
#include <boost/preprocessor/comparison/equal.hpp>
+
#include <boost/preprocessor/comparison/greater.hpp>
+
#include <boost/preprocessor/comparison/greater_equal.hpp>
+
#include <boost/preprocessor/comparison/less.hpp>
+
#include <boost/preprocessor/comparison/less_equal.hpp>
+
#include <boost/preprocessor/comparison/not_equal.hpp>
+
#include <boost/preprocessor/dec.hpp>
+
#include <boost/preprocessor/empty.hpp>
+
#include <boost/preprocessor/enum.hpp>
+
#include <boost/preprocessor/enum_params.hpp>
+
#include <boost/preprocessor/enum_params_with_a_default.hpp>
+
#include <boost/preprocessor/enum_params_with_defaults.hpp>
+
#include <boost/preprocessor/enum_shifted.hpp>
+
#include <boost/preprocessor/enum_shifted_params.hpp>
+
#include <boost/preprocessor/expand.hpp>
+
#include <boost/preprocessor/for.hpp>
+
#include <boost/preprocessor/identity.hpp>
+
#include <boost/preprocessor/if.hpp>
+
#include <boost/preprocessor/inc.hpp>
+
#include <boost/preprocessor/limits.hpp>
+
#include <boost/preprocessor/list.hpp>
+
#include <boost/preprocessor/list/adt.hpp>
+
#include <boost/preprocessor/list/append.hpp>
+
#include <boost/preprocessor/list/at.hpp>
+
#include <boost/preprocessor/list/cat.hpp>
+
#include <boost/preprocessor/list/enum.hpp>
+
#include <boost/preprocessor/list/filter.hpp>
+
#include <boost/preprocessor/list/first_n.hpp>
+
#include <boost/preprocessor/list/fold_left.hpp>
+
#include <boost/preprocessor/list/fold_right.hpp>
+
#include <boost/preprocessor/list/for_each.hpp>
+
#include <boost/preprocessor/list/for_each_product.hpp>
+
#include <boost/preprocessor/list/rest_n.hpp>
+
#include <boost/preprocessor/list/reverse.hpp>
+
#include <boost/preprocessor/list/size.hpp>
+
#include <boost/preprocessor/list/to_tuple.hpp>
+
#include <boost/preprocessor/list/transform.hpp>
+
#include <boost/preprocessor/logical.hpp>
+
#include <boost/preprocessor/logical/and.hpp>
+
#include <boost/preprocessor/logical/bool.hpp>
+
#include <boost/preprocessor/logical/nor.hpp>
+
#include <boost/preprocessor/logical/not.hpp>
+
#include <boost/preprocessor/logical/or.hpp>
+
#include <boost/preprocessor/logical/xor.hpp>
+
#include <boost/preprocessor/max.hpp>
+
#include <boost/preprocessor/min.hpp>
+
#include <boost/preprocessor/repeat.hpp>
+
#include <boost/preprocessor/repeat_2nd.hpp>
+
#include <boost/preprocessor/repeat_3rd.hpp>
+
#include <boost/preprocessor/stringize.hpp>
+
#include <boost/preprocessor/tuple.hpp>
+
#include <boost/preprocessor/tuple/eat.hpp>
+
#include <boost/preprocessor/tuple/elem.hpp>
+
#include <boost/preprocessor/tuple/reverse.hpp>
+
#include <boost/preprocessor/tuple/to_list.hpp>
+
#include <boost/preprocessor/while.hpp>

-

(C) Copyright Housemarque Oy 2002

+

Revised

-

Permission to copy, use, modify, sell and distribute this document is granted +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/limits.htm b/doc/reference/limits.htm index bfddea3..048ebe2 100644 --- a/doc/reference/limits.htm +++ b/doc/reference/limits.htm @@ -1,64 +1,86 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/limits.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/limits.hpp>


-

#define BOOST_PP_LIMIT_DIM

-

Expands to the number of dimensions of repeat supported by the -library.

+

#define BOOST_PP_LIMIT_DIM

+

Expands to the number of dimensions of repeat supported by the +library.

-

The repeat macros are named BOOST_PP_REPEAT(), BOOST_PP_REPEAT_2ND(), -BOOST_PP_REPEAT_3RD(), ...

+

The repeat macros are named BOOST_PP_REPEAT(), BOOST_PP_REPEAT_2ND(), +BOOST_PP_REPEAT_3RD(), ...


-

#define BOOST_PP_LIMIT_MAG

-

Expands to the maximum straight numeric literal supported by the -library.

+

#define BOOST_PP_LIMIT_MAG

+

Expands to the maximum straight numeric literal supported by the +library.

-

This is also the limit of the repetition primitives (BOOST_PP_ENUM family -and BOOST_PP_REPEAT family).

+

This is also the limit of the repetition primitives (BOOST_PP_ENUM family +and BOOST_PP_REPEAT family).

-

Note

- +

Note

+
-

#define BOOST_PP_LIMIT_TUPLE

-

Expands to the maximum tuple length supported by the library.

+

#define BOOST_PP_LIMIT_TUPLE

+

Expands to the maximum tuple length supported by the library.


-

#define BOOST_PREPROCESSOR_LIMIT_DIM

-

Obsolete. Use BOOST_PP_LIMIT_DIM.

+

#define BOOST_PREPROCESSOR_LIMIT_DIM

+

Obsolete. Use BOOST_PP_LIMIT_DIM.


-

#define BOOST_PREPROCESSOR_LIMIT_MAG

-

Obsolete. Use BOOST_PP_LIMIT_MAG.

+

#define BOOST_PREPROCESSOR_LIMIT_MAG

+

Obsolete. Use BOOST_PP_LIMIT_MAG.


-

#define BOOST_PREPROCESSOR_LIMIT_TUPLE

-

Obsolete. Use BOOST_PP_LIMIT_TUPLE.

+

#define BOOST_PREPROCESSOR_LIMIT_TUPLE

+

Obsolete. Use BOOST_PP_LIMIT_TUPLE.


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_adt.htm b/doc/reference/list_adt.htm index ee0c54a..4a835e4 100644 --- a/doc/reference/list_adt.htm +++ b/doc/reference/list_adt.htm @@ -1,111 +1,121 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/adt.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/adt.hpp>

+

This header defines the fundamental list operations.

+ +

Note

+
-

#define BOOST_PP_LIST_CONS(H,T)

-

List constructor.

+

#define BOOST_PP_LIST_CONS(H,T)

+

List constructor.

-

Lists are build using list constructors BOOST_PP_LIST_NIL and -BOOST_PP_LIST_CONS(). For example,

+

Lists are build using list constructors BOOST_PP_LIST_NIL and +BOOST_PP_LIST_CONS(). For example,

-
+
   BOOST_PP_LIST_CONS(1,
   BOOST_PP_LIST_CONS(2,
   BOOST_PP_LIST_CONS(3,
   BOOST_PP_LIST_CONS(4,
   BOOST_PP_LIST_CONS(5,
   BOOST_PP_LIST_NIL)))))
-
+
-

Short lists can also be build from tuples:

+

Short lists can also be build from tuples:

-
+
   BOOST_PP_TUPLE_TO_LIST(5,(1,2,3,4,5))
-
+
-

Both of the above lists contain 5 elements: 1, 2, 3, 4 and 5.

+

Both of the above lists contain 5 elements: 1, 2, 3, 4 and 5.

+ +

Longer lists can be built with the help of BOOST_PP_LIST_APPEND().


-

#define BOOST_PP_LIST_NIL

-

List nil constructor.

- -

See

- - +

#define BOOST_PP_LIST_NIL

+

List nil constructor.


-

#define BOOST_PP_LIST_IS_CONS(L)

-

Expands to 1 if the list is not nil and 0 otherwise.

- -

See

- - +

#define BOOST_PP_LIST_IS_CONS(L)

+

Expands to 1 if the list is not nil and 0 otherwise.


-

#define BOOST_PP_LIST_IS_NIL(L)

-

Expands to 1 if the list is nil and 0 otherwise.

- -

See

- - +

#define BOOST_PP_LIST_IS_NIL(L)

+

Expands to 1 if the list is nil and 0 otherwise.


-

#define BOOST_PP_LIST_FIRST(L)

-

Expands to the first element of the list. The list must not be nil.

+

#define BOOST_PP_LIST_FIRST(L)

+

Expands to the first element of the list. The list must not be nil.

-

For example,

+

For example,

-
+
   BOOST_PP_LIST_FIRST(BOOST_PP_TUPLE_TO_LIST(5,(1,2,3,4,5)))
-
+
-

expands to 1.

- -

See

- +

expands to 1.


-

#define BOOST_PP_LIST_REST(L)

-

Expands to a list of all but the first element of the list. The list must not be nil.

+

#define BOOST_PP_LIST_REST(L)

+

Expands to a list of all but the first element of the list.

-

For example,

+

The list must not be nil.

-
+

For example,

+ +
   BOOST_PP_LIST_REST(BOOST_PP_TUPLE_TO_LIST(5,(1,2,3,4,5)))
-
+
-

expands to a list containing 2, 3, 4 and 5.

+

expands to the same as:

-

See

- +
+  BOOST_PP_TUPLE_TO_LIST(4,(2,3,4,5))
+

-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_append.htm b/doc/reference/list_append.htm index c2ab411..6d73759 100644 --- a/doc/reference/list_append.htm +++ b/doc/reference/list_append.htm @@ -1,41 +1,67 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/append.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/append.hpp>


-

#define BOOST_PP_LIST_APPEND(L,P)

-

Catenates two lists together.

+

#define BOOST_PP_LIST_APPEND(L,P)

+

Catenates two lists together.

-

For example,

+

For example,

-
+
   BOOST_PP_LIST_APPEND
   ( BOOST_PP_TUPLE_TO_LIST(2,(1,2))
   , BOOST_PP_TUPLE_TO_LIST(2,(3,4))
   )
-
+
-

produces a list containing 1, 2, 3 and 4.

+

expands to the same as:

-

Uses

- +
+  BOOST_PP_TUPLE_TO_LIST(4,(1,2,3,4))
+
+ +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_at.htm b/doc/reference/list_at.htm index 6df587b..3131fbe 100644 --- a/doc/reference/list_at.htm +++ b/doc/reference/list_at.htm @@ -1,38 +1,61 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/at.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/at.hpp>


-

#define BOOST_PP_LIST_AT(L,I)

-

Expands to the I:th element of the list L. The first element is at index 0.

+

#define BOOST_PP_LIST_AT(L,I)

+

Expands to the I:th element of the list L. The +first element is at index 0.

-

For example,

+

For example,

-
+
   BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(3,(A,B,C)),1)
-
+
-

expands to B.

+

expands to B.

-

Uses

- +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_cat.htm b/doc/reference/list_cat.htm index 2c33841..d814f64 100644 --- a/doc/reference/list_cat.htm +++ b/doc/reference/list_cat.htm @@ -1,38 +1,64 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/cat.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/cat.hpp>


-

#define BOOST_PP_LIST_CAT(L)

-

Catenates all elements of the list.

+

#define BOOST_PP_LIST_CAT(L)

+

Catenates all elements of the list.

-

For example,

+

For example,

-
+
   BOOST_PP_LIST_CAT(BOOST_PP_TUPLE_TO_LIST(3,(1,2,3)))
-
+
-

expands to 123.

+

expands to:

-

Uses

- +
+  123
+
+ +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_enum.htm b/doc/reference/list_enum.htm index be59b45..1f0184a 100644 --- a/doc/reference/list_enum.htm +++ b/doc/reference/list_enum.htm @@ -1,42 +1,64 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/enum.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/enum.hpp>


-

#define BOOST_PP_LIST_ENUM(L)

-

Converts the list to a comma separated list.

+

#define BOOST_PP_LIST_ENUM(L)

+

Converts the list to a comma separated list.

-

For example,

+

For example,

-
+
   BOOST_PP_LIST_ENUM(BOOST_PP_TUPLE_TO_LIST(3,(A,B,C)))
-
+
-

expands to:

+

expands to:

-
-  A, B, C
-
+
+  A,B,C
+
-

Uses

- +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_filter.htm b/doc/reference/list_filter.htm index eb48d7d..96a4562 100644 --- a/doc/reference/list_filter.htm +++ b/doc/reference/list_filter.htm @@ -1,38 +1,65 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/filter.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/filter.hpp>


-

#define BOOST_PP_LIST_FILTER(F,P,L)

-

Expands to a list containing all the elements X of the list for which F(D,P,X) is true.

+

#define BOOST_PP_LIST_FILTER(F,P,L)

+

Expands to a list containing all the elements X of the list +for which F(D,P,X) is true.

-

For example,

+

For example,

-
+
   BOOST_PP_LIST_FILTER(BOOST_PP_NOT_EQUAL_D,2,BOOST_PP_TUPLE_TO_LIST(3,(1,2,3)))
-
+
-

expands to a list containing 1 and 3.

+

expands to the same as:

-

Uses

- +
+  BOOST_PP_TUPLE_TO_LIST(2,(1,3))
+
+ +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_first_n.htm b/doc/reference/list_first_n.htm index dddddf0..4cdfd8e 100644 --- a/doc/reference/list_first_n.htm +++ b/doc/reference/list_first_n.htm @@ -1,38 +1,70 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/first_n.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/first_n.hpp>


-

#define BOOST_PP_LIST_FIRST_N(N,L)

-

Expands to a list of the first N elements of the list.

+

#define BOOST_PP_LIST_FIRST_N(N,L)

+

Expands to a list of the first N elements of the list +L.

-

For example,

+

For example,

-
+
   BOOST_PP_LIST_FIRST_N(2,BOOST_PP_TUPLE_TO_LIST(4,(+,-,*,/)))
-
+
-

expands to a list containing + and -.

+

expands to the same as:

-

Uses

- +
+  BOOST_PP_TUPLE_TO_LIST(2,(+,-))
+
+ +

See

+ + +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_fold_left.htm b/doc/reference/list_fold_left.htm index 096d1ab..542058f 100644 --- a/doc/reference/list_fold_left.htm +++ b/doc/reference/list_fold_left.htm @@ -1,56 +1,74 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/fold_left.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/fold_left.hpp>


-

#define BOOST_PP_LIST_FOLD_LEFT(F,P,L)

-

Iterates F(D,P,X) for each element X of the list L (from the left or the start of the list).

+

#define BOOST_PP_LIST_FOLD_LEFT(F,P,L)

+

Iterates F(D,P,X) for each element X of the +list L (from the left or the start of the list).

-

In other words,

+

In other words, expands to:

-
-  BOOST_PP_LIST_FOLD_LEFT(F,P,L)
-
- -

expands to:

- -
+
   F
   ( D
   , ... F(D, F(D,P,BOOST_PP_LIST_AT(L,0)), BOOST_PP_LIST_AT(L,1)) ...
   , BOOST_PP_LIST_AT(L,BOOST_PP_DEC(BOOST_PP_LIST_SIZE(L))
   )
-
+
-

Note

+

Note

+ -

Folding, or accumulation, is a very general pattern of computation. -Most list operations can be implemented in terms of folding.

+

See

+ -

See

- - -

Uses

- +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_fold_right.htm b/doc/reference/list_fold_right.htm index fee92d9..e20e2f5 100644 --- a/doc/reference/list_fold_right.htm +++ b/doc/reference/list_fold_right.htm @@ -1,25 +1,39 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/fold_right.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/fold_right.hpp>


-

#define BOOST_PP_LIST_FOLD_RIGHT(F,L,P)

-

Iterates F(D,X,P) for each element X of the list L (from the right or the end of the list).

+

#define BOOST_PP_LIST_FOLD_RIGHT(F,L,P)

+

Iterates F(D,X,P) for each element X of the +list L (from the right or the end of the list).

-

In other words,

+

In other words, expands to:

-
-  BOOST_PP_LIST_FOLD_RIGHT(F,L,P)
-
- -

expands to:

- -
+
   F
   ( D
   , BOOST_PP_LIST_AT(L,0)
@@ -33,27 +47,25 @@
           )
         ) ...
   )
-
+
-

See

- - -

Uses

- +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_for_each.htm b/doc/reference/list_for_each.htm index 5390357..566addb 100644 --- a/doc/reference/list_for_each.htm +++ b/doc/reference/list_for_each.htm @@ -1,44 +1,67 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/for_each.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/for_each.hpp>


-

#define BOOST_PP_LIST_FOR_EACH(F,P,L)

-

Repeats F(R,P,BOOST_PP_LIST_AT(L,I)) for each I = [0,BOOST_PP_LIST_SIZE(L)[.

+

#define BOOST_PP_LIST_FOR_EACH(F,P,L)

+

Repeats F(R,P,BOOST_PP_LIST_AT(L,I)) for each I = [0, +BOOST_PP_LIST_SIZE(L)[.

-

In other words, expands to the sequence:

+

In other words, expands to the sequence:

-
+
   F(R,P,BOOST_PP_LIST_AT(L,0))
   F(R,P,BOOST_PP_LIST_AT(L,1))
   ...
   F(R,P,BOOST_PP_LIST_AT(L,BOOST_PP_DEC(BOOST_PP_LIST_SIZE(L))))
-
+
-

Example

- +

Example

+ -

Uses

- +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_for_each_product.htm b/doc/reference/list_for_each_product.htm index 038ca11..9093089 100644 --- a/doc/reference/list_for_each_product.htm +++ b/doc/reference/list_for_each_product.htm @@ -1,45 +1,62 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/for_each_product.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/for_each_product.hpp>


-

#define BOOST_PP_LIST_FOR_EACH_PRODUCT(F,P,LL)

-

THIS IS NOT YET FULLY DOCUMENTED - DO NOT USE!

+

#define BOOST_PP_LIST_FOR_EACH_PRODUCT(F,N,T_OF_L)

+

Repeats F(R,X) for each element X of the +cartesian product of the lists of the N-tuple T_OF_L.

-

Repeats F(R,P,X) for each element X of the cartesian product of the lists LL.

+

This macro is useful for generating code to avoid combinatorial +explosion.

-

This macro is useful for generating code to avoid combinatorial explosion.

+

Example

+ - - -

Example

- - -

Uses

- +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_rest_n.htm b/doc/reference/list_rest_n.htm index 8fae518..fb23190 100644 --- a/doc/reference/list_rest_n.htm +++ b/doc/reference/list_rest_n.htm @@ -1,38 +1,70 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/rest_n.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/rest_n.hpp>


-

#define BOOST_PP_LIST_REST_N(N,L)

-

Expands to a list of all but the first N elements of the list.

+

#define BOOST_PP_LIST_REST_N(N,L)

+

Expands to a list of all but the first N elements of the +list L.

-

For example,

+

For example,

-
+
   BOOST_PP_LIST_REST_N(2,BOOST_PP_TUPLE_TO_LIST(4,(+,-,*,/)))
-
+
-

expands to a list containing * and /.

+

expands to the same as:

-

Uses

- +
+  BOOST_PP_TUPLE_TO_LIST(2,(*,/))
+
+ +

See

+ + +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_reverse.htm b/doc/reference/list_reverse.htm index 78a3378..fa377ce 100644 --- a/doc/reference/list_reverse.htm +++ b/doc/reference/list_reverse.htm @@ -1,38 +1,64 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/reverse.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/reverse.hpp>


-

#define BOOST_PP_LIST_REVERSE(L)

-

List reversal.

+

#define BOOST_PP_LIST_REVERSE(L)

+

List reversal.

-

For example,

+

For example,

-
+
   BOOST_PP_LIST_REVERSE(BOOST_PP_TUPLE_TO_LIST(3,(A,B,C)))
-
+
-

expands to a list containing C, B and A.

+

expands to the same as:

-

Uses

- +
+  BOOST_PP_TUPLE_TO_LIST(3,(C,B,A))
+
+ +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_size.htm b/doc/reference/list_size.htm index cf22c01..167feec 100644 --- a/doc/reference/list_size.htm +++ b/doc/reference/list_size.htm @@ -1,38 +1,60 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/size.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/size.hpp>


-

#define BOOST_PP_LIST_SIZE(L)

-

Expands to the number of elements in the list.

+

#define BOOST_PP_LIST_SIZE(L)

+

Expands to the number of elements in the list.

-

For example,

+

For example,

-
+
   BOOST_PP_LIST_SIZE(BOOST_PP_TUPLE_TO_LIST(3,(A,B,C)))
-
+
-

expands to 3.

+

expands to 3.

-

Uses

- +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_to_tuple.htm b/doc/reference/list_to_tuple.htm index c2fcab9..e1540e4 100644 --- a/doc/reference/list_to_tuple.htm +++ b/doc/reference/list_to_tuple.htm @@ -1,43 +1,66 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/to_tuple.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/to_tuple.hpp>


-

#define BOOST_PP_LIST_TO_TUPLE(L)

-

Converts the list to a tuple.

+

#define BOOST_PP_LIST_TO_TUPLE(L)

+

Converts the list to a tuple.

-

For example,

+

For example,

-
+
   BOOST_PP_LIST_TO_TUPLE(BOOST_PP_TUPLE_TO_LIST(3,(A,B,C)))
-
+
-

expands to (A,B,C).

+

expands to (A,B,C).

-

Note

+

Note

+ -

The supported size of the list being converted to a tuple is limited by -BOOST_PP_LIMIT_MAG rather than BOOST_PP_LIMIT_TUPLE.

- -

Uses

- +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/list_transform.htm b/doc/reference/list_transform.htm index 63b7d32..cab5052 100644 --- a/doc/reference/list_transform.htm +++ b/doc/reference/list_transform.htm @@ -1,48 +1,75 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/list/transform.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/list/transform.hpp>


-

#define BOOST_PP_LIST_TRANSFORM(F,P,L)

-

Applies the macro F(D,P,X) to each element X of the list producing a new list.

+

#define BOOST_PP_LIST_TRANSFORM(F,P,L)

+

Applies the macro F(D,P,X) to each element X +of the list producing a new list.

-

In other words, BOOST_PP_LIST_TRANSFORM(F,P,L) expands to same as:

+

In other words, expands to:

-
+
   BOOST_PP_LIST_CONS(F(D,P,BOOST_PP_LIST_AT(L,0)),
   BOOST_PP_LIST_CONS(F(D,P,BOOST_PP_LIST_AT(L,1)),
   ...
   BOOST_PP_LIST_CONS(F(D,P,BOOST_PP_LIST_AT(L,BOOST_PP_DEC(BOOST_PP_LIST_SIZE(L)))),
   BOOST_PP_LIST_NIL) ... ))
-
+
-

For example,

+

For example,

-
+
   BOOST_PP_LIST_TRANSFORM(BOOST_PP_ADD_D,2,BOOST_PP_TUPLE_TO_LIST(2,(1,2)))
-
+
-

expands to a list containing 3 and 4.

+

expands to the same as:

-

Uses

- +
+  BOOST_PP_TUPLE_TO_LIST(2,(3,4))
+
+ +

Uses

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/logical_and.htm b/doc/reference/logical_and.htm index 730c9c3..a3fc62f 100644 --- a/doc/reference/logical_and.htm +++ b/doc/reference/logical_and.htm @@ -1,31 +1,53 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/logical/and.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/logical/and.hpp>


-

#define BOOST_PP_AND(X,Y)

-

Expands to the logical AND of the operands.

+

#define BOOST_PP_AND(X,Y)

+

Expands to the logical AND of the operands.

-

For example, BOOST_PP_AND(0,5) expands to 0 (a single token).

+

For example, BOOST_PP_AND(0,5) expands to 0 (a single token).


-

#define BOOST_PREPROCESSOR_AND(X,Y)

-

Obsolete. Use BOOST_PP_AND().

+

#define BOOST_PREPROCESSOR_AND(X,Y)

+

Obsolete. Use BOOST_PP_AND().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/logical_bool.htm b/doc/reference/logical_bool.htm index c2983cb..3d0e385 100644 --- a/doc/reference/logical_bool.htm +++ b/doc/reference/logical_bool.htm @@ -1,28 +1,50 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/logical/bool.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/logical/bool.hpp>


-

#define BOOST_PP_BOOL(X)

-

Expands to 0 if X == 0 and 1 if X != 0.

+

#define BOOST_PP_BOOL(X)

+

Expands to 0 if X == 0 and 1 if X != 0.


-

#define BOOST_PREPROCESSOR_BOOL(X)

-

Obsolete. Use BOOST_PP_BOOL().

+

#define BOOST_PREPROCESSOR_BOOL(X)

+

Obsolete. Use BOOST_PP_BOOL().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/logical_nor.htm b/doc/reference/logical_nor.htm index 47a0dba..f66fcf0 100644 --- a/doc/reference/logical_nor.htm +++ b/doc/reference/logical_nor.htm @@ -1,31 +1,53 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/logical/nor.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/logical/nor.hpp>


-

#define BOOST_PP_NOR(X,Y)

-

Expands to the logical NEITHER OR of the operands.

+

#define BOOST_PP_NOR(X,Y)

+

Expands to the logical NEITHER OR of the operands.

-

For example, BOOST_PP_NOR(0,5) expands to 0 (a single token).

+

For example, BOOST_PP_NOR(0,5) expands to 0 (a single token).


-

#define BOOST_PREPROCESSOR_NOR(X,Y)

-

Obsolete. Use BOOST_PP_NOR().

+

#define BOOST_PREPROCESSOR_NOR(X,Y)

+

Obsolete. Use BOOST_PP_NOR().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/logical_not.htm b/doc/reference/logical_not.htm index 1019029..00a39c6 100644 --- a/doc/reference/logical_not.htm +++ b/doc/reference/logical_not.htm @@ -1,31 +1,53 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/logical/not.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/logical/not.hpp>


-

#define BOOST_PP_NOT(X)

-

Expands to the logical NOT of the operand.

+

#define BOOST_PP_NOT(X)

+

Expands to the logical NOT of the operand.

-

For example, BOOST_PP_NOT(0) expands to 1 (a single token).

+

For example, BOOST_PP_NOT(0) expands to 1 (a single token).


-

#define BOOST_PREPROCESSOR_NOT(X)

-

Obsolete. Use BOOST_PP_NOT().

+

#define BOOST_PREPROCESSOR_NOT(X)

+

Obsolete. Use BOOST_PP_NOT().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/logical_or.htm b/doc/reference/logical_or.htm index 9225dc5..883b2b2 100644 --- a/doc/reference/logical_or.htm +++ b/doc/reference/logical_or.htm @@ -1,31 +1,53 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/logical/or.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/logical/or.hpp>


-

#define BOOST_PP_OR(X,Y)

-

Expands to the logical OR of the operands.

+

#define BOOST_PP_OR(X,Y)

+

Expands to the logical OR of the operands.

-

For example, BOOST_PP_OR(0,2) expands to 1 (a single token).

+

For example, BOOST_PP_OR(0,2) expands to 1 (a single token).


-

#define BOOST_PREPROCESSOR_OR(X,Y)

-

Obsolete. Use BOOST_PP_OR().

+

#define BOOST_PREPROCESSOR_OR(X,Y)

+

Obsolete. Use BOOST_PP_OR().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/logical_xor.htm b/doc/reference/logical_xor.htm index 37d781a..7b35e96 100644 --- a/doc/reference/logical_xor.htm +++ b/doc/reference/logical_xor.htm @@ -1,31 +1,53 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/logical/xor.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/logical/xor.hpp>


-

#define BOOST_PP_XOR(X,Y)

-

Expands to the logical EXCLUSIVE OR of the operands.

+

#define BOOST_PP_XOR(X,Y)

+

Expands to the logical EXCLUSIVE OR of the operands.

-

For example, BOOST_PP_XOR(1,2) expands to 0 (a single token).

+

For example, BOOST_PP_XOR(1,2) expands to 0 (a single token).


-

#define BOOST_PREPROCESSOR_XOR(X,Y)

-

Obsolete. Use BOOST_PP_XOR().

+

#define BOOST_PREPROCESSOR_XOR(X,Y)

+

Obsolete. Use BOOST_PP_XOR().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/max.htm b/doc/reference/max.htm index 9946732..858a266 100644 --- a/doc/reference/max.htm +++ b/doc/reference/max.htm @@ -1,36 +1,59 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/max.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/max.hpp>


-

#define BOOST_PP_MAX(X,Y)

-

Expands to the maximum of X and Y.

+

#define BOOST_PP_MAX(X,Y)

+

Expands to the maximum of X and Y.

-

For example, BOOST_PP_MAX(5,7) expands to 7 (a single token).

+

For example, BOOST_PP_MAX(5,7) expands to 7 (a +single token).

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_MAX(X,Y)

-

Obsolete. Use BOOST_PP_MAX().

+

#define BOOST_PREPROCESSOR_MAX(X,Y)

+

Obsolete. Use BOOST_PP_MAX().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/min.htm b/doc/reference/min.htm index a405f12..fb36a1f 100644 --- a/doc/reference/min.htm +++ b/doc/reference/min.htm @@ -1,36 +1,59 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/min.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/min.hpp>


-

#define BOOST_PP_MIN(X,Y)

-

Expands to the minimum of X and Y.

+

#define BOOST_PP_MIN(X,Y)

+

Expands to the minimum of X and Y.

-

For example, BOOST_PP_MIN(5,7) expands to 5 (a single token).

+

For example, BOOST_PP_MIN(5,7) expands to 5 (a +single token).

-

Uses

- +

Uses

+
-

#define BOOST_PREPROCESSOR_MIN(X,Y)

-

Obsolete. Use BOOST_PP_MIN().

+

#define BOOST_PREPROCESSOR_MIN(X,Y)

+

Obsolete. Use BOOST_PP_MIN().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/repeat.htm b/doc/reference/repeat.htm index da1aa1f..2e6df1f 100644 --- a/doc/reference/repeat.htm +++ b/doc/reference/repeat.htm @@ -1,51 +1,73 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/repeat.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/repeat.hpp>


-

#define BOOST_PP_REPEAT(N,M,P)

-

Repeats the macro M(I,P) for I = [0,N-1[.

+

#define BOOST_PP_REPEAT(N,M,P)

+

Repeats the macro M(I,P) for I = [0,N-1[.

-

In other words, expands to the sequence:

+

In other words, expands to the sequence:

-
-  M(0,P) M(1,P) ... M(N-1,P)
-
+
+  M(0,P) M(1,P) ... M(BOOST_PP_DEC(N),P)
+
-

2D and 3D repetition

+

2D and 3D repetition

-

2D and 3D repetition are supported with the BOOST_PP_REPEAT_2ND() and -BOOST_PP_REPEAT_3RD() macros.

+

2D and 3D repetition are supported with the BOOST_PP_REPEAT_2ND() and +BOOST_PP_REPEAT_3RD() macros.

-

Example

- +

Example

+ -

See

- +

See

+
-

#define BOOST_PREPROCESSOR_REPEAT(N,M,P)

-

Obsolete. Use BOOST_PP_REPEAT().

+

#define BOOST_PREPROCESSOR_REPEAT(N,M,P)

+

Obsolete. Use BOOST_PP_REPEAT().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/repeat_2nd.htm b/doc/reference/repeat_2nd.htm index 2490118..782cf2e 100644 --- a/doc/reference/repeat_2nd.htm +++ b/doc/reference/repeat_2nd.htm @@ -1,28 +1,50 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/repeat_2nd.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/repeat_2nd.hpp>


-

#define BOOST_PP_REPEAT_2ND(N,M,P)

-

Same as BOOST_PP_REPEAT(), but implemented independently.

+

#define BOOST_PP_REPEAT_2ND(N,M,P)

+

Same as BOOST_PP_REPEAT(), but implemented independently.


-

#define BOOST_PREPROCESSOR_REPEAT_2ND(N,M,P)

-

Obsolete. Use BOOST_PP_REPEAT_2ND().

+

#define BOOST_PREPROCESSOR_REPEAT_2ND(N,M,P)

+

Obsolete. Use BOOST_PP_REPEAT_2ND().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/repeat_3rd.htm b/doc/reference/repeat_3rd.htm index 6dec27d..756cae6 100644 --- a/doc/reference/repeat_3rd.htm +++ b/doc/reference/repeat_3rd.htm @@ -1,28 +1,50 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/repeat_3rd.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/repeat_3rd.hpp>


-

#define BOOST_PP_REPEAT_3RD(N,M,P)

-

Same as BOOST_PP_REPEAT(), but implemented independently.

+

#define BOOST_PP_REPEAT_3RD(N,M,P)

+

Same as BOOST_PP_REPEAT(), but implemented independently.


-

#define BOOST_PREPROCESSOR_REPEAT_3RD(N,M,P)

-

Obsolete. Use BOOST_PP_REPEAT_3RD().

+

#define BOOST_PREPROCESSOR_REPEAT_3RD(N,M,P)

+

Obsolete. Use BOOST_PP_REPEAT_3RD().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/stringize.htm b/doc/reference/stringize.htm index 10156a1..a3060ff 100644 --- a/doc/reference/stringize.htm +++ b/doc/reference/stringize.htm @@ -1,34 +1,56 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/stringize.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/stringize.hpp>


-

#define BOOST_PP_STRINGIZE(X)

-

Stringizes X after it is macro expanded.

+

#define BOOST_PP_STRINGIZE(X)

+

Stringizes X after it is macro expanded.

-

Example

- +

Example

+
-

#define BOOST_PREPROCESSOR_STRINGIZE(E)

-

Obsolete. Use BOOST_PP_STRINGIZE().

+

#define BOOST_PREPROCESSOR_STRINGIZE(E)

+

Obsolete. Use BOOST_PP_STRINGIZE().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/tuple_eat.htm b/doc/reference/tuple_eat.htm index 3b2b6de..2cadc16 100644 --- a/doc/reference/tuple_eat.htm +++ b/doc/reference/tuple_eat.htm @@ -1,36 +1,58 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/tuple/eat.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/tuple/eat.hpp>


-

#define BOOST_PP_TUPLE_EAT(N)

-

Expands to a macro that eats a tuple of the specified length.

+

#define BOOST_PP_TUPLE_EAT(N)

+

Expands to a macro that eats a tuple of the specified length.

-

BOOST_PP_TUPLE_EAT() is designed to be used with BOOST_PP_IF() like -BOOST_PP_EMPTY().

+

BOOST_PP_TUPLE_EAT() is designed to be used with BOOST_PP_IF() like +BOOST_PP_EMPTY().

-

For example,

+

For example,

-
+
   BOOST_PP_IF(0,BOOST_PP_ENUM_PARAMS,BOOST_PP_TUPLE_EAT(2))(10,P)
-
+
-

expands to nothing.

+

expands to nothing.


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/tuple_elem.htm b/doc/reference/tuple_elem.htm index e134508..2fc59fe 100644 --- a/doc/reference/tuple_elem.htm +++ b/doc/reference/tuple_elem.htm @@ -1,52 +1,74 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/tuple/elem.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/tuple/elem.hpp>


-

#define BOOST_PP_TUPLE_ELEM(N,I,T)

-

Expands to the I:th element of an N-tuple.

+

#define BOOST_PP_TUPLE_ELEM(N,I,T)

+

Expands to the I:th element of an N-tuple.

-

For example,

+

For example,

-
+
   BOOST_PP_TUPLE_ELEM(2,1,(A,B))
-
+
-

expands to B.

+

expands to B.

-

Tuples can be used for representing structured data.

+

Tuples can be used for representing structured data.

-

Examples of tuples:

+

Examples of tuples:

-
+
   2-tuple: (A, B)
   3-tuple: (1, 2, 3)
   4-tuple: (A B C, D, EF, 34)
-
+
-

See

- +

See

+
-

#define BOOST_PREPROCESSOR_TUPLE_ELEM(N,I,T)

-

Obsolete. Use BOOST_PP_TUPLE_ELEM().

+

#define BOOST_PREPROCESSOR_TUPLE_ELEM(N,I,T)

+

Obsolete. Use BOOST_PP_TUPLE_ELEM().


-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/tuple_to_list.htm b/doc/reference/tuple_to_list.htm index acae424..468b671 100644 --- a/doc/reference/tuple_to_list.htm +++ b/doc/reference/tuple_to_list.htm @@ -1,45 +1,67 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/tuple/to_list.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/tuple/to_list.hpp>


-

#define BOOST_PP_TUPLE_TO_LIST(N,T)

-

Converts a tuple to a list.

+

#define BOOST_PP_TUPLE_TO_LIST(N,T)

+

Converts a tuple to a list.

-

For example,

+

For example,

-
+
   BOOST_PP_TUPLE_TO_LIST(3,(A,B,C))
-
+
-

expands to the same as

+

expands to the same as

-
+
   BOOST_PP_LIST_CONS(A,
   BOOST_PP_LIST_CONS(B,
   BOOST_PP_LIST_CONS(C,
   BOOST_PP_LIST_NIL)))
-
+
-

See

- +

See

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file + diff --git a/doc/reference/while.htm b/doc/reference/while.htm index 42ae58a..cd5b222 100644 --- a/doc/reference/while.htm +++ b/doc/reference/while.htm @@ -1,70 +1,88 @@ -Boost PREPROCESSOR library - -c++boost.gif (8819 bytes) + + + + +Boost.Preprocessor + + + + + + + +
+

C++ Boost

+
+

Boost.Preprocessor

+

Reference

+

-

#include <boost/preprocessor/while.hpp>

+Prev Next Macros Headers +
+ +

#include <boost/preprocessor/while.hpp>


-

#define BOOST_PP_WHILE(C,F,X)

-

Iterates F(D,X) while C(D,X) is true.

+

#define BOOST_PP_WHILE(C,F,X)

+

Iterates F(D,X) while C(D,X) is true.

-

In other words, expands to:

+

In other words, expands to:

-
+
   F(D, ... F(D, F(D,X) ) ... )
-
+
-

The depth of iteration is determined by C(D,X).

+

The depth of iteration is determined by C(D,X).

-

Legend

- -

Note

+

Note

+ -

Using BOOST_PP_WHILE() is a bit tricky. This is due to the C++ preprocessor -limitations. It is recommended to take a look at the implementations of the -various PREPROCESSOR library primitives such as BOOST_PP_ADD() for -additional examples.

- -

Example

- - -

Implementation rationale

- +

Example

+
-

(C) Copyright Housemarque Oy 2002

+Prev Next Macros Headers +
-

Permission to copy, use, modify, sell and distribute this document is granted +

Revised

+ +

© Copyright Housemarque Oy 2002

+ +

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.

+for any purpose.

-

Generated:

- - \ No newline at end of file +