initial checkin

[SVN r11780]
This commit is contained in:
Aleksey Gurtovoy
2001-11-25 18:32:11 +00:00
commit 8afa89bd2a
96 changed files with 6941 additions and 0 deletions

View File

@ -0,0 +1,32 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/arithmetic.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
# include <boost/preprocessor/arithmetic/add.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
# include <boost/preprocessor/arithmetic/div.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
# include <boost/preprocessor/arithmetic/mul.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
# include <boost/preprocessor/arithmetic/sub.hpp>
#endif
#endif

View File

@ -0,0 +1,159 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/arithmetic/add.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_INC_HPP
# include <boost/preprocessor/inc.hpp>
#endif
//! Expands to the sum of X and Y.
#define BOOST_PREPROCESSOR_ADD(X,Y) BOOST_PREPROCESSOR_ADD_DELAY(X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_ADD_DELAY(X,Y) BOOST_PREPROCESSOR_ADD##X(Y)
#define BOOST_PREPROCESSOR_ADD0(Y) Y
#define BOOST_PREPROCESSOR_ADD1(Y) BOOST_PREPROCESSOR_INC(Y)
#define BOOST_PREPROCESSOR_ADD2(Y) BOOST_PREPROCESSOR_INC(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD3(Y) BOOST_PREPROCESSOR_ADD2(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD4(Y) BOOST_PREPROCESSOR_ADD3(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD5(Y) BOOST_PREPROCESSOR_ADD4(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD6(Y) BOOST_PREPROCESSOR_ADD5(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD7(Y) BOOST_PREPROCESSOR_ADD6(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD8(Y) BOOST_PREPROCESSOR_ADD7(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD9(Y) BOOST_PREPROCESSOR_ADD8(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD10(Y) BOOST_PREPROCESSOR_ADD9(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD11(Y) BOOST_PREPROCESSOR_ADD10(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD12(Y) BOOST_PREPROCESSOR_ADD11(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD13(Y) BOOST_PREPROCESSOR_ADD12(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD14(Y) BOOST_PREPROCESSOR_ADD13(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD15(Y) BOOST_PREPROCESSOR_ADD14(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD16(Y) BOOST_PREPROCESSOR_ADD15(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD17(Y) BOOST_PREPROCESSOR_ADD16(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD18(Y) BOOST_PREPROCESSOR_ADD17(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD19(Y) BOOST_PREPROCESSOR_ADD18(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD20(Y) BOOST_PREPROCESSOR_ADD19(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD21(Y) BOOST_PREPROCESSOR_ADD20(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD22(Y) BOOST_PREPROCESSOR_ADD21(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD23(Y) BOOST_PREPROCESSOR_ADD22(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD24(Y) BOOST_PREPROCESSOR_ADD23(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD25(Y) BOOST_PREPROCESSOR_ADD24(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD26(Y) BOOST_PREPROCESSOR_ADD25(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD27(Y) BOOST_PREPROCESSOR_ADD26(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD28(Y) BOOST_PREPROCESSOR_ADD27(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD29(Y) BOOST_PREPROCESSOR_ADD28(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD30(Y) BOOST_PREPROCESSOR_ADD29(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD31(Y) BOOST_PREPROCESSOR_ADD30(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD32(Y) BOOST_PREPROCESSOR_ADD31(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD33(Y) BOOST_PREPROCESSOR_ADD32(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD34(Y) BOOST_PREPROCESSOR_ADD33(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD35(Y) BOOST_PREPROCESSOR_ADD34(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD36(Y) BOOST_PREPROCESSOR_ADD35(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD37(Y) BOOST_PREPROCESSOR_ADD36(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD38(Y) BOOST_PREPROCESSOR_ADD37(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD39(Y) BOOST_PREPROCESSOR_ADD38(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD40(Y) BOOST_PREPROCESSOR_ADD39(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD41(Y) BOOST_PREPROCESSOR_ADD40(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD42(Y) BOOST_PREPROCESSOR_ADD41(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD43(Y) BOOST_PREPROCESSOR_ADD42(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD44(Y) BOOST_PREPROCESSOR_ADD43(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD45(Y) BOOST_PREPROCESSOR_ADD44(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD46(Y) BOOST_PREPROCESSOR_ADD45(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD47(Y) BOOST_PREPROCESSOR_ADD46(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD48(Y) BOOST_PREPROCESSOR_ADD47(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD49(Y) BOOST_PREPROCESSOR_ADD48(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD50(Y) BOOST_PREPROCESSOR_ADD49(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD51(Y) BOOST_PREPROCESSOR_ADD50(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD52(Y) BOOST_PREPROCESSOR_ADD51(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD53(Y) BOOST_PREPROCESSOR_ADD52(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD54(Y) BOOST_PREPROCESSOR_ADD53(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD55(Y) BOOST_PREPROCESSOR_ADD54(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD56(Y) BOOST_PREPROCESSOR_ADD55(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD57(Y) BOOST_PREPROCESSOR_ADD56(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD58(Y) BOOST_PREPROCESSOR_ADD57(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD59(Y) BOOST_PREPROCESSOR_ADD58(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD60(Y) BOOST_PREPROCESSOR_ADD59(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD61(Y) BOOST_PREPROCESSOR_ADD60(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD62(Y) BOOST_PREPROCESSOR_ADD61(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD63(Y) BOOST_PREPROCESSOR_ADD62(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD64(Y) BOOST_PREPROCESSOR_ADD63(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD65(Y) BOOST_PREPROCESSOR_ADD64(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD66(Y) BOOST_PREPROCESSOR_ADD65(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD67(Y) BOOST_PREPROCESSOR_ADD66(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD68(Y) BOOST_PREPROCESSOR_ADD67(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD69(Y) BOOST_PREPROCESSOR_ADD68(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD70(Y) BOOST_PREPROCESSOR_ADD69(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD71(Y) BOOST_PREPROCESSOR_ADD70(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD72(Y) BOOST_PREPROCESSOR_ADD71(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD73(Y) BOOST_PREPROCESSOR_ADD72(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD74(Y) BOOST_PREPROCESSOR_ADD73(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD75(Y) BOOST_PREPROCESSOR_ADD74(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD76(Y) BOOST_PREPROCESSOR_ADD75(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD77(Y) BOOST_PREPROCESSOR_ADD76(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD78(Y) BOOST_PREPROCESSOR_ADD77(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD79(Y) BOOST_PREPROCESSOR_ADD78(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD80(Y) BOOST_PREPROCESSOR_ADD79(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD81(Y) BOOST_PREPROCESSOR_ADD80(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD82(Y) BOOST_PREPROCESSOR_ADD81(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD83(Y) BOOST_PREPROCESSOR_ADD82(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD84(Y) BOOST_PREPROCESSOR_ADD83(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD85(Y) BOOST_PREPROCESSOR_ADD84(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD86(Y) BOOST_PREPROCESSOR_ADD85(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD87(Y) BOOST_PREPROCESSOR_ADD86(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD88(Y) BOOST_PREPROCESSOR_ADD87(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD89(Y) BOOST_PREPROCESSOR_ADD88(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD90(Y) BOOST_PREPROCESSOR_ADD89(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD91(Y) BOOST_PREPROCESSOR_ADD90(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD92(Y) BOOST_PREPROCESSOR_ADD91(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD93(Y) BOOST_PREPROCESSOR_ADD92(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD94(Y) BOOST_PREPROCESSOR_ADD93(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD95(Y) BOOST_PREPROCESSOR_ADD94(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD96(Y) BOOST_PREPROCESSOR_ADD95(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD97(Y) BOOST_PREPROCESSOR_ADD96(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD98(Y) BOOST_PREPROCESSOR_ADD97(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD99(Y) BOOST_PREPROCESSOR_ADD98(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD100(Y) BOOST_PREPROCESSOR_ADD99(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD101(Y) BOOST_PREPROCESSOR_ADD100(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD102(Y) BOOST_PREPROCESSOR_ADD101(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD103(Y) BOOST_PREPROCESSOR_ADD102(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD104(Y) BOOST_PREPROCESSOR_ADD103(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD105(Y) BOOST_PREPROCESSOR_ADD104(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD106(Y) BOOST_PREPROCESSOR_ADD105(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD107(Y) BOOST_PREPROCESSOR_ADD106(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD108(Y) BOOST_PREPROCESSOR_ADD107(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD109(Y) BOOST_PREPROCESSOR_ADD108(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD110(Y) BOOST_PREPROCESSOR_ADD109(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD111(Y) BOOST_PREPROCESSOR_ADD110(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD112(Y) BOOST_PREPROCESSOR_ADD111(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD113(Y) BOOST_PREPROCESSOR_ADD112(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD114(Y) BOOST_PREPROCESSOR_ADD113(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD115(Y) BOOST_PREPROCESSOR_ADD114(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD116(Y) BOOST_PREPROCESSOR_ADD115(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD117(Y) BOOST_PREPROCESSOR_ADD116(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD118(Y) BOOST_PREPROCESSOR_ADD117(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD119(Y) BOOST_PREPROCESSOR_ADD118(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD120(Y) BOOST_PREPROCESSOR_ADD119(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD121(Y) BOOST_PREPROCESSOR_ADD120(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD122(Y) BOOST_PREPROCESSOR_ADD121(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD123(Y) BOOST_PREPROCESSOR_ADD122(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD124(Y) BOOST_PREPROCESSOR_ADD123(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD125(Y) BOOST_PREPROCESSOR_ADD124(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD126(Y) BOOST_PREPROCESSOR_ADD125(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD127(Y) BOOST_PREPROCESSOR_ADD126(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD128(Y) BOOST_PREPROCESSOR_ADD127(BOOST_PREPROCESSOR_INC(Y))
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,49 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/arithmetic/div.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
# include <boost/preprocessor/arithmetic/sub.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
# include <boost/preprocessor/comparison/less_equal.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_INC_HPP
# include <boost/preprocessor/inc.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
# include <boost/preprocessor/tuple.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
# include <boost/preprocessor/while.hpp>
#endif
//! Expands to the quotient of X and Y.
#define BOOST_PREPROCESSOR_DIV(X,Y)\
BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,BOOST_PREPROCESSOR_WHILE(BOOST_PREPROCESSOR_DIV_C,BOOST_PREPROCESSOR_DIV_F,(0,X,Y)))
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_DIV_F(P)\
( BOOST_PREPROCESSOR_INC(BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,P))\
, BOOST_PREPROCESSOR_SUB(BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P),BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P))\
, BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P)\
)
#define BOOST_PREPROCESSOR_DIV_C(P)\
BOOST_PREPROCESSOR_LESS_EQUAL(BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P),BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P))
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,159 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/arithmetic/mul.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
# include <boost/preprocessor/arithmetic/add.hpp>
#endif
//! Expands to the product of X and Y.
#define BOOST_PREPROCESSOR_MUL(X,Y) BOOST_PREPROCESSOR_MUL_DELAY(X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_MUL_DELAY(X,Y) BOOST_PREPROCESSOR_MUL##X(Y,0)
#define BOOST_PREPROCESSOR_MUL0(Y,A) A
#define BOOST_PREPROCESSOR_MUL1(Y,A) BOOST_PREPROCESSOR_ADD(Y,A)
#define BOOST_PREPROCESSOR_MUL2(Y,A) BOOST_PREPROCESSOR_MUL1(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL3(Y,A) BOOST_PREPROCESSOR_MUL2(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL4(Y,A) BOOST_PREPROCESSOR_MUL3(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL5(Y,A) BOOST_PREPROCESSOR_MUL4(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL6(Y,A) BOOST_PREPROCESSOR_MUL5(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL7(Y,A) BOOST_PREPROCESSOR_MUL6(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL8(Y,A) BOOST_PREPROCESSOR_MUL7(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL9(Y,A) BOOST_PREPROCESSOR_MUL8(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL10(Y,A) BOOST_PREPROCESSOR_MUL9(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL11(Y,A) BOOST_PREPROCESSOR_MUL10(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL12(Y,A) BOOST_PREPROCESSOR_MUL11(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL13(Y,A) BOOST_PREPROCESSOR_MUL12(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL14(Y,A) BOOST_PREPROCESSOR_MUL13(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL15(Y,A) BOOST_PREPROCESSOR_MUL14(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL16(Y,A) BOOST_PREPROCESSOR_MUL15(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL17(Y,A) BOOST_PREPROCESSOR_MUL16(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL18(Y,A) BOOST_PREPROCESSOR_MUL17(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL19(Y,A) BOOST_PREPROCESSOR_MUL18(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL20(Y,A) BOOST_PREPROCESSOR_MUL19(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL21(Y,A) BOOST_PREPROCESSOR_MUL20(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL22(Y,A) BOOST_PREPROCESSOR_MUL21(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL23(Y,A) BOOST_PREPROCESSOR_MUL22(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL24(Y,A) BOOST_PREPROCESSOR_MUL23(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL25(Y,A) BOOST_PREPROCESSOR_MUL24(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL26(Y,A) BOOST_PREPROCESSOR_MUL25(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL27(Y,A) BOOST_PREPROCESSOR_MUL26(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL28(Y,A) BOOST_PREPROCESSOR_MUL27(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL29(Y,A) BOOST_PREPROCESSOR_MUL28(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL30(Y,A) BOOST_PREPROCESSOR_MUL29(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL31(Y,A) BOOST_PREPROCESSOR_MUL30(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL32(Y,A) BOOST_PREPROCESSOR_MUL31(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL33(Y,A) BOOST_PREPROCESSOR_MUL32(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL34(Y,A) BOOST_PREPROCESSOR_MUL33(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL35(Y,A) BOOST_PREPROCESSOR_MUL34(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL36(Y,A) BOOST_PREPROCESSOR_MUL35(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL37(Y,A) BOOST_PREPROCESSOR_MUL36(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL38(Y,A) BOOST_PREPROCESSOR_MUL37(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL39(Y,A) BOOST_PREPROCESSOR_MUL38(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL40(Y,A) BOOST_PREPROCESSOR_MUL39(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL41(Y,A) BOOST_PREPROCESSOR_MUL40(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL42(Y,A) BOOST_PREPROCESSOR_MUL41(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL43(Y,A) BOOST_PREPROCESSOR_MUL42(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL44(Y,A) BOOST_PREPROCESSOR_MUL43(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL45(Y,A) BOOST_PREPROCESSOR_MUL44(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL46(Y,A) BOOST_PREPROCESSOR_MUL45(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL47(Y,A) BOOST_PREPROCESSOR_MUL46(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL48(Y,A) BOOST_PREPROCESSOR_MUL47(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL49(Y,A) BOOST_PREPROCESSOR_MUL48(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL50(Y,A) BOOST_PREPROCESSOR_MUL49(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL51(Y,A) BOOST_PREPROCESSOR_MUL50(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL52(Y,A) BOOST_PREPROCESSOR_MUL51(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL53(Y,A) BOOST_PREPROCESSOR_MUL52(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL54(Y,A) BOOST_PREPROCESSOR_MUL53(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL55(Y,A) BOOST_PREPROCESSOR_MUL54(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL56(Y,A) BOOST_PREPROCESSOR_MUL55(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL57(Y,A) BOOST_PREPROCESSOR_MUL56(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL58(Y,A) BOOST_PREPROCESSOR_MUL57(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL59(Y,A) BOOST_PREPROCESSOR_MUL58(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL60(Y,A) BOOST_PREPROCESSOR_MUL59(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL61(Y,A) BOOST_PREPROCESSOR_MUL60(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL62(Y,A) BOOST_PREPROCESSOR_MUL61(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL63(Y,A) BOOST_PREPROCESSOR_MUL62(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL64(Y,A) BOOST_PREPROCESSOR_MUL63(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL65(Y,A) BOOST_PREPROCESSOR_MUL64(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL66(Y,A) BOOST_PREPROCESSOR_MUL65(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL67(Y,A) BOOST_PREPROCESSOR_MUL66(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL68(Y,A) BOOST_PREPROCESSOR_MUL67(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL69(Y,A) BOOST_PREPROCESSOR_MUL68(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL70(Y,A) BOOST_PREPROCESSOR_MUL69(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL71(Y,A) BOOST_PREPROCESSOR_MUL70(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL72(Y,A) BOOST_PREPROCESSOR_MUL71(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL73(Y,A) BOOST_PREPROCESSOR_MUL72(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL74(Y,A) BOOST_PREPROCESSOR_MUL73(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL75(Y,A) BOOST_PREPROCESSOR_MUL74(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL76(Y,A) BOOST_PREPROCESSOR_MUL75(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL77(Y,A) BOOST_PREPROCESSOR_MUL76(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL78(Y,A) BOOST_PREPROCESSOR_MUL77(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL79(Y,A) BOOST_PREPROCESSOR_MUL78(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL80(Y,A) BOOST_PREPROCESSOR_MUL79(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL81(Y,A) BOOST_PREPROCESSOR_MUL80(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL82(Y,A) BOOST_PREPROCESSOR_MUL81(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL83(Y,A) BOOST_PREPROCESSOR_MUL82(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL84(Y,A) BOOST_PREPROCESSOR_MUL83(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL85(Y,A) BOOST_PREPROCESSOR_MUL84(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL86(Y,A) BOOST_PREPROCESSOR_MUL85(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL87(Y,A) BOOST_PREPROCESSOR_MUL86(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL88(Y,A) BOOST_PREPROCESSOR_MUL87(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL89(Y,A) BOOST_PREPROCESSOR_MUL88(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL90(Y,A) BOOST_PREPROCESSOR_MUL89(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL91(Y,A) BOOST_PREPROCESSOR_MUL90(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL92(Y,A) BOOST_PREPROCESSOR_MUL91(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL93(Y,A) BOOST_PREPROCESSOR_MUL92(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL94(Y,A) BOOST_PREPROCESSOR_MUL93(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL95(Y,A) BOOST_PREPROCESSOR_MUL94(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL96(Y,A) BOOST_PREPROCESSOR_MUL95(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL97(Y,A) BOOST_PREPROCESSOR_MUL96(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL98(Y,A) BOOST_PREPROCESSOR_MUL97(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL99(Y,A) BOOST_PREPROCESSOR_MUL98(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL100(Y,A) BOOST_PREPROCESSOR_MUL99(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL101(Y,A) BOOST_PREPROCESSOR_MUL100(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL102(Y,A) BOOST_PREPROCESSOR_MUL101(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL103(Y,A) BOOST_PREPROCESSOR_MUL102(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL104(Y,A) BOOST_PREPROCESSOR_MUL103(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL105(Y,A) BOOST_PREPROCESSOR_MUL104(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL106(Y,A) BOOST_PREPROCESSOR_MUL105(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL107(Y,A) BOOST_PREPROCESSOR_MUL106(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL108(Y,A) BOOST_PREPROCESSOR_MUL107(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL109(Y,A) BOOST_PREPROCESSOR_MUL108(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL110(Y,A) BOOST_PREPROCESSOR_MUL109(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL111(Y,A) BOOST_PREPROCESSOR_MUL110(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL112(Y,A) BOOST_PREPROCESSOR_MUL111(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL113(Y,A) BOOST_PREPROCESSOR_MUL112(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL114(Y,A) BOOST_PREPROCESSOR_MUL113(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL115(Y,A) BOOST_PREPROCESSOR_MUL114(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL116(Y,A) BOOST_PREPROCESSOR_MUL115(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL117(Y,A) BOOST_PREPROCESSOR_MUL116(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL118(Y,A) BOOST_PREPROCESSOR_MUL117(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL119(Y,A) BOOST_PREPROCESSOR_MUL118(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL120(Y,A) BOOST_PREPROCESSOR_MUL119(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL121(Y,A) BOOST_PREPROCESSOR_MUL120(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL122(Y,A) BOOST_PREPROCESSOR_MUL121(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL123(Y,A) BOOST_PREPROCESSOR_MUL122(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL124(Y,A) BOOST_PREPROCESSOR_MUL123(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL125(Y,A) BOOST_PREPROCESSOR_MUL124(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL126(Y,A) BOOST_PREPROCESSOR_MUL125(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL127(Y,A) BOOST_PREPROCESSOR_MUL126(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL128(Y,A) BOOST_PREPROCESSOR_MUL127(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,159 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/arithmetic/sub.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_DEC_HPP
# include <boost/preprocessor/dec.hpp>
#endif
//! Expands to the difference of X and Y.
#define BOOST_PREPROCESSOR_SUB(X,Y) BOOST_PREPROCESSOR_SUB_DELAY(X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_SUB_DELAY(X,Y) BOOST_PREPROCESSOR_SUB##Y(X)
#define BOOST_PREPROCESSOR_SUB0(Y) Y
#define BOOST_PREPROCESSOR_SUB1(Y) BOOST_PREPROCESSOR_DEC(Y)
#define BOOST_PREPROCESSOR_SUB2(Y) BOOST_PREPROCESSOR_DEC(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB3(Y) BOOST_PREPROCESSOR_SUB2(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB4(Y) BOOST_PREPROCESSOR_SUB3(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB5(Y) BOOST_PREPROCESSOR_SUB4(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB6(Y) BOOST_PREPROCESSOR_SUB5(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB7(Y) BOOST_PREPROCESSOR_SUB6(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB8(Y) BOOST_PREPROCESSOR_SUB7(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB9(Y) BOOST_PREPROCESSOR_SUB8(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB10(Y) BOOST_PREPROCESSOR_SUB9(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB11(Y) BOOST_PREPROCESSOR_SUB10(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB12(Y) BOOST_PREPROCESSOR_SUB11(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB13(Y) BOOST_PREPROCESSOR_SUB12(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB14(Y) BOOST_PREPROCESSOR_SUB13(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB15(Y) BOOST_PREPROCESSOR_SUB14(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB16(Y) BOOST_PREPROCESSOR_SUB15(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB17(Y) BOOST_PREPROCESSOR_SUB16(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB18(Y) BOOST_PREPROCESSOR_SUB17(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB19(Y) BOOST_PREPROCESSOR_SUB18(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB20(Y) BOOST_PREPROCESSOR_SUB19(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB21(Y) BOOST_PREPROCESSOR_SUB20(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB22(Y) BOOST_PREPROCESSOR_SUB21(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB23(Y) BOOST_PREPROCESSOR_SUB22(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB24(Y) BOOST_PREPROCESSOR_SUB23(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB25(Y) BOOST_PREPROCESSOR_SUB24(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB26(Y) BOOST_PREPROCESSOR_SUB25(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB27(Y) BOOST_PREPROCESSOR_SUB26(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB28(Y) BOOST_PREPROCESSOR_SUB27(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB29(Y) BOOST_PREPROCESSOR_SUB28(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB30(Y) BOOST_PREPROCESSOR_SUB29(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB31(Y) BOOST_PREPROCESSOR_SUB30(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB32(Y) BOOST_PREPROCESSOR_SUB31(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB33(Y) BOOST_PREPROCESSOR_SUB32(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB34(Y) BOOST_PREPROCESSOR_SUB33(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB35(Y) BOOST_PREPROCESSOR_SUB34(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB36(Y) BOOST_PREPROCESSOR_SUB35(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB37(Y) BOOST_PREPROCESSOR_SUB36(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB38(Y) BOOST_PREPROCESSOR_SUB37(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB39(Y) BOOST_PREPROCESSOR_SUB38(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB40(Y) BOOST_PREPROCESSOR_SUB39(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB41(Y) BOOST_PREPROCESSOR_SUB40(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB42(Y) BOOST_PREPROCESSOR_SUB41(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB43(Y) BOOST_PREPROCESSOR_SUB42(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB44(Y) BOOST_PREPROCESSOR_SUB43(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB45(Y) BOOST_PREPROCESSOR_SUB44(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB46(Y) BOOST_PREPROCESSOR_SUB45(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB47(Y) BOOST_PREPROCESSOR_SUB46(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB48(Y) BOOST_PREPROCESSOR_SUB47(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB49(Y) BOOST_PREPROCESSOR_SUB48(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB50(Y) BOOST_PREPROCESSOR_SUB49(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB51(Y) BOOST_PREPROCESSOR_SUB50(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB52(Y) BOOST_PREPROCESSOR_SUB51(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB53(Y) BOOST_PREPROCESSOR_SUB52(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB54(Y) BOOST_PREPROCESSOR_SUB53(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB55(Y) BOOST_PREPROCESSOR_SUB54(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB56(Y) BOOST_PREPROCESSOR_SUB55(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB57(Y) BOOST_PREPROCESSOR_SUB56(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB58(Y) BOOST_PREPROCESSOR_SUB57(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB59(Y) BOOST_PREPROCESSOR_SUB58(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB60(Y) BOOST_PREPROCESSOR_SUB59(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB61(Y) BOOST_PREPROCESSOR_SUB60(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB62(Y) BOOST_PREPROCESSOR_SUB61(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB63(Y) BOOST_PREPROCESSOR_SUB62(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB64(Y) BOOST_PREPROCESSOR_SUB63(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB65(Y) BOOST_PREPROCESSOR_SUB64(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB66(Y) BOOST_PREPROCESSOR_SUB65(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB67(Y) BOOST_PREPROCESSOR_SUB66(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB68(Y) BOOST_PREPROCESSOR_SUB67(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB69(Y) BOOST_PREPROCESSOR_SUB68(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB70(Y) BOOST_PREPROCESSOR_SUB69(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB71(Y) BOOST_PREPROCESSOR_SUB70(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB72(Y) BOOST_PREPROCESSOR_SUB71(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB73(Y) BOOST_PREPROCESSOR_SUB72(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB74(Y) BOOST_PREPROCESSOR_SUB73(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB75(Y) BOOST_PREPROCESSOR_SUB74(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB76(Y) BOOST_PREPROCESSOR_SUB75(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB77(Y) BOOST_PREPROCESSOR_SUB76(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB78(Y) BOOST_PREPROCESSOR_SUB77(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB79(Y) BOOST_PREPROCESSOR_SUB78(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB80(Y) BOOST_PREPROCESSOR_SUB79(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB81(Y) BOOST_PREPROCESSOR_SUB80(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB82(Y) BOOST_PREPROCESSOR_SUB81(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB83(Y) BOOST_PREPROCESSOR_SUB82(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB84(Y) BOOST_PREPROCESSOR_SUB83(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB85(Y) BOOST_PREPROCESSOR_SUB84(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB86(Y) BOOST_PREPROCESSOR_SUB85(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB87(Y) BOOST_PREPROCESSOR_SUB86(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB88(Y) BOOST_PREPROCESSOR_SUB87(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB89(Y) BOOST_PREPROCESSOR_SUB88(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB90(Y) BOOST_PREPROCESSOR_SUB89(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB91(Y) BOOST_PREPROCESSOR_SUB90(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB92(Y) BOOST_PREPROCESSOR_SUB91(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB93(Y) BOOST_PREPROCESSOR_SUB92(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB94(Y) BOOST_PREPROCESSOR_SUB93(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB95(Y) BOOST_PREPROCESSOR_SUB94(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB96(Y) BOOST_PREPROCESSOR_SUB95(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB97(Y) BOOST_PREPROCESSOR_SUB96(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB98(Y) BOOST_PREPROCESSOR_SUB97(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB99(Y) BOOST_PREPROCESSOR_SUB98(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB100(Y) BOOST_PREPROCESSOR_SUB99(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB101(Y) BOOST_PREPROCESSOR_SUB100(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB102(Y) BOOST_PREPROCESSOR_SUB101(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB103(Y) BOOST_PREPROCESSOR_SUB102(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB104(Y) BOOST_PREPROCESSOR_SUB103(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB105(Y) BOOST_PREPROCESSOR_SUB104(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB106(Y) BOOST_PREPROCESSOR_SUB105(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB107(Y) BOOST_PREPROCESSOR_SUB106(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB108(Y) BOOST_PREPROCESSOR_SUB107(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB109(Y) BOOST_PREPROCESSOR_SUB108(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB110(Y) BOOST_PREPROCESSOR_SUB109(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB111(Y) BOOST_PREPROCESSOR_SUB110(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB112(Y) BOOST_PREPROCESSOR_SUB111(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB113(Y) BOOST_PREPROCESSOR_SUB112(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB114(Y) BOOST_PREPROCESSOR_SUB113(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB115(Y) BOOST_PREPROCESSOR_SUB114(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB116(Y) BOOST_PREPROCESSOR_SUB115(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB117(Y) BOOST_PREPROCESSOR_SUB116(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB118(Y) BOOST_PREPROCESSOR_SUB117(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB119(Y) BOOST_PREPROCESSOR_SUB118(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB120(Y) BOOST_PREPROCESSOR_SUB119(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB121(Y) BOOST_PREPROCESSOR_SUB120(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB122(Y) BOOST_PREPROCESSOR_SUB121(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB123(Y) BOOST_PREPROCESSOR_SUB122(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB124(Y) BOOST_PREPROCESSOR_SUB123(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB125(Y) BOOST_PREPROCESSOR_SUB124(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB126(Y) BOOST_PREPROCESSOR_SUB125(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB127(Y) BOOST_PREPROCESSOR_SUB126(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB128(Y) BOOST_PREPROCESSOR_SUB127(BOOST_PREPROCESSOR_DEC(Y))
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,32 @@
#ifndef BOOST_PREPROCESSOR_ASSERT_MSG_HPP
#define BOOST_PREPROCESSOR_ASSERT_MSG_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/assert_msg.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_EMPTY_HPP
# include <boost/preprocessor/empty.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
# include <boost/preprocessor/identity.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_IF_HPP
# include <boost/preprocessor/if.hpp>
#endif
//! Expands to nothing if C != 0 and to MSG if C == 0.
#define BOOST_PREPROCESSOR_ASSERT_MSG(C,MSG) BOOST_PREPROCESSOR_IF(C,BOOST_PREPROCESSOR_EMPTY,BOOST_PREPROCESSOR_IDENTITY(MSG))()
#endif

View File

@ -0,0 +1,70 @@
#ifndef BOOST_PREPROCESSOR_CAT_HPP
#define BOOST_PREPROCESSOR_CAT_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/cat.hpp">Click here to see the header.</a>
*/
//! Delays the catenation of L and R.
/*!
Example:
<PRE>\verbatim
#define STATIC_ASSERT(EXPR)\
enum\
{ BOOST_PREPROCESSOR_CAT(static_check_,__LINE__) = (EXPR) ? 1 : -1\
};\
typedef char\
BOOST_PREPROCESSOR_CAT(static_assert_,__LINE__)\
[ BOOST_PREPROCESSOR_CAT(static_check_,__LINE__)\
]
// ...
STATIC_ASSERT(sizeof(int) <= sizeof(long));
\endverbatim</PRE>
The above expands to:
<PRE>\verbatim
enum
{ static_check_152 = (sizeof(int) <= sizeof(long)) ? 1 : -1
};
typedef char
static_assert_152
[ static_check_152
];
\endverbatim</PRE>
Using BOOST_PREPROCESSOR_CAT() above lets the preprocessor expand the __LINE__.
If the above code would use the ## operator directly then __LINE__ would not be
expanded and the above would expand to:
<PRE>\verbatim
enum
{ static_check___LINE__ = (sizeof(int) <= sizeof(long)) ? 1 : -1
};
typedef char
static_assert___LINE__
[ static_check___LINE__
];
\endverbatim</PRE>
*/
#define BOOST_PREPROCESSOR_CAT(L,R) BOOST_PREPROCESSOR_CAT_DELAY(L,R)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_CAT_DELAY(L,R) L##R
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,25 @@
#ifndef BOOST_PREPROCESSOR_COMMA_HPP
#define BOOST_PREPROCESSOR_COMMA_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/comma.hpp">Click here to see the header.</a>
*/
//! Expands to a comma. Can be used with BOOST_PREPROCESSOR_IF().
/*!
See BOOST_PREPROCESSOR_COMMA_IF().
*/
#define BOOST_PREPROCESSOR_COMMA() ,
#endif

View File

@ -0,0 +1,32 @@
#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
#define BOOST_PREPROCESSOR_COMMA_IF_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/comma_if.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_COMMA_HPP
# include <boost/preprocessor/comma.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_EMPTY_HPP
# include <boost/preprocessor/empty.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_IF_HPP
# include <boost/preprocessor/if.hpp>
#endif
//! Expands to a comma if C != 0 and nothing if C == 0.
#define BOOST_PREPROCESSOR_COMMA_IF(C) BOOST_PREPROCESSOR_IF(C,BOOST_PREPROCESSOR_COMMA,BOOST_PREPROCESSOR_EMPTY)()
#endif

View File

@ -0,0 +1,38 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_HPP
#define BOOST_PREPROCESSOR_COMPARISON_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/comparison.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
# include <boost/preprocessor/comparison/equal.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
# include <boost/preprocessor/comparison/greater.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
# include <boost/preprocessor/comparison/greater_equal.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
# include <boost/preprocessor/comparison/less.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
# include <boost/preprocessor/comparison/less_equal.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
# include <boost/preprocessor/comparison/not_equal.hpp>
#endif
#endif

View File

@ -0,0 +1,32 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
#define BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/comparison/equal.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
# include <boost/preprocessor/arithmetic/add.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
# include <boost/preprocessor/arithmetic/sub.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
# include <boost/preprocessor/logical/not.hpp>
#endif
//! Expands to 1 if X==Y and 0 otherwise.
#define BOOST_PREPROCESSOR_EQUAL(X,Y) BOOST_PREPROCESSOR_NOT(BOOST_PREPROCESSOR_ADD(BOOST_PREPROCESSOR_SUB(X,Y),BOOST_PREPROCESSOR_SUB(Y,X)))
#endif

View File

@ -0,0 +1,26 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
#define BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/comparison/greater.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
# include <boost/preprocessor/comparison/less.hpp>
#endif
//! Expands to 1 if X>Y and 0 otherwise.
#define BOOST_PREPROCESSOR_GREATER(X,Y) BOOST_PREPROCESSOR_LESS(Y,X)
#endif

View File

@ -0,0 +1,26 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
#define BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/comparison/greater_equal.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
# include <boost/preprocessor/comparison/less_equal.hpp>
#endif
//! Expands to 1 if X>=Y and 0 otherwise.
#define BOOST_PREPROCESSOR_GREATER_EQUAL(X,Y) BOOST_PREPROCESSOR_LESS_EQUAL(Y,X)
#endif

View File

@ -0,0 +1,32 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
#define BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/comparison/less.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
# include <boost/preprocessor/comparison/equal.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
# include <boost/preprocessor/comparison/less_equal.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_IF_HPP
# include <boost/preprocessor/if.hpp>
#endif
//! Expands to 1 if X<Y and 0 otherwise.
#define BOOST_PREPROCESSOR_LESS(X,Y) BOOST_PREPROCESSOR_IF(BOOST_PREPROCESSOR_EQUAL(X,Y),0,BOOST_PREPROCESSOR_LESS_EQUAL(X,Y))
#endif

View File

@ -0,0 +1,29 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
#define BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/comparison/less_equal.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
# include <boost/preprocessor/arithmetic/sub.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
# include <boost/preprocessor/logical/not.hpp>
#endif
//! Expands to 1 if X<=Y and 0 otherwise.
#define BOOST_PREPROCESSOR_LESS_EQUAL(X,Y) BOOST_PREPROCESSOR_NOT(BOOST_PREPROCESSOR_SUB(X,Y))
#endif

View File

@ -0,0 +1,32 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
#define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/comparison/not_equal.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
# include <boost/preprocessor/arithmetic/add.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
# include <boost/preprocessor/arithmetic/sub.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
# include <boost/preprocessor/logical/bool.hpp>
#endif
//! Expands to 1 if X!=Y and 0 otherwise.
#define BOOST_PREPROCESSOR_NOT_EQUAL(X,Y) BOOST_PREPROCESSOR_BOOL(BOOST_PREPROCESSOR_ADD(BOOST_PREPROCESSOR_SUB(X,Y),BOOST_PREPROCESSOR_SUB(Y,X)))
#endif

View File

@ -0,0 +1,161 @@
#ifndef BOOST_PREPROCESSOR_DEC_HPP
#define BOOST_PREPROCESSOR_DEC_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/dec.hpp">Click here to see the header.</a>
*/
//! Decrements X expanding to a single token.
/*!
BOOST_PREPROCESSOR_DEC() uses saturation arithmetic. Decrementing 0 yeilds a 0.
Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG] are
supported.
*/
#define BOOST_PREPROCESSOR_DEC(X) BOOST_PREPROCESSOR_DEC_DELAY(X)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_DEC_DELAY(X) BOOST_PREPROCESSOR_DEC##X
#define BOOST_PREPROCESSOR_DEC0 0
#define BOOST_PREPROCESSOR_DEC1 0
#define BOOST_PREPROCESSOR_DEC2 1
#define BOOST_PREPROCESSOR_DEC3 2
#define BOOST_PREPROCESSOR_DEC4 3
#define BOOST_PREPROCESSOR_DEC5 4
#define BOOST_PREPROCESSOR_DEC6 5
#define BOOST_PREPROCESSOR_DEC7 6
#define BOOST_PREPROCESSOR_DEC8 7
#define BOOST_PREPROCESSOR_DEC9 8
#define BOOST_PREPROCESSOR_DEC10 9
#define BOOST_PREPROCESSOR_DEC11 10
#define BOOST_PREPROCESSOR_DEC12 11
#define BOOST_PREPROCESSOR_DEC13 12
#define BOOST_PREPROCESSOR_DEC14 13
#define BOOST_PREPROCESSOR_DEC15 14
#define BOOST_PREPROCESSOR_DEC16 15
#define BOOST_PREPROCESSOR_DEC17 16
#define BOOST_PREPROCESSOR_DEC18 17
#define BOOST_PREPROCESSOR_DEC19 18
#define BOOST_PREPROCESSOR_DEC20 19
#define BOOST_PREPROCESSOR_DEC21 20
#define BOOST_PREPROCESSOR_DEC22 21
#define BOOST_PREPROCESSOR_DEC23 22
#define BOOST_PREPROCESSOR_DEC24 23
#define BOOST_PREPROCESSOR_DEC25 24
#define BOOST_PREPROCESSOR_DEC26 25
#define BOOST_PREPROCESSOR_DEC27 26
#define BOOST_PREPROCESSOR_DEC28 27
#define BOOST_PREPROCESSOR_DEC29 28
#define BOOST_PREPROCESSOR_DEC30 29
#define BOOST_PREPROCESSOR_DEC31 30
#define BOOST_PREPROCESSOR_DEC32 31
#define BOOST_PREPROCESSOR_DEC33 32
#define BOOST_PREPROCESSOR_DEC34 33
#define BOOST_PREPROCESSOR_DEC35 34
#define BOOST_PREPROCESSOR_DEC36 35
#define BOOST_PREPROCESSOR_DEC37 36
#define BOOST_PREPROCESSOR_DEC38 37
#define BOOST_PREPROCESSOR_DEC39 38
#define BOOST_PREPROCESSOR_DEC40 39
#define BOOST_PREPROCESSOR_DEC41 40
#define BOOST_PREPROCESSOR_DEC42 41
#define BOOST_PREPROCESSOR_DEC43 42
#define BOOST_PREPROCESSOR_DEC44 43
#define BOOST_PREPROCESSOR_DEC45 44
#define BOOST_PREPROCESSOR_DEC46 45
#define BOOST_PREPROCESSOR_DEC47 46
#define BOOST_PREPROCESSOR_DEC48 47
#define BOOST_PREPROCESSOR_DEC49 48
#define BOOST_PREPROCESSOR_DEC50 49
#define BOOST_PREPROCESSOR_DEC51 50
#define BOOST_PREPROCESSOR_DEC52 51
#define BOOST_PREPROCESSOR_DEC53 52
#define BOOST_PREPROCESSOR_DEC54 53
#define BOOST_PREPROCESSOR_DEC55 54
#define BOOST_PREPROCESSOR_DEC56 55
#define BOOST_PREPROCESSOR_DEC57 56
#define BOOST_PREPROCESSOR_DEC58 57
#define BOOST_PREPROCESSOR_DEC59 58
#define BOOST_PREPROCESSOR_DEC60 59
#define BOOST_PREPROCESSOR_DEC61 60
#define BOOST_PREPROCESSOR_DEC62 61
#define BOOST_PREPROCESSOR_DEC63 62
#define BOOST_PREPROCESSOR_DEC64 63
#define BOOST_PREPROCESSOR_DEC65 64
#define BOOST_PREPROCESSOR_DEC66 65
#define BOOST_PREPROCESSOR_DEC67 66
#define BOOST_PREPROCESSOR_DEC68 67
#define BOOST_PREPROCESSOR_DEC69 68
#define BOOST_PREPROCESSOR_DEC70 69
#define BOOST_PREPROCESSOR_DEC71 70
#define BOOST_PREPROCESSOR_DEC72 71
#define BOOST_PREPROCESSOR_DEC73 72
#define BOOST_PREPROCESSOR_DEC74 73
#define BOOST_PREPROCESSOR_DEC75 74
#define BOOST_PREPROCESSOR_DEC76 75
#define BOOST_PREPROCESSOR_DEC77 76
#define BOOST_PREPROCESSOR_DEC78 77
#define BOOST_PREPROCESSOR_DEC79 78
#define BOOST_PREPROCESSOR_DEC80 79
#define BOOST_PREPROCESSOR_DEC81 80
#define BOOST_PREPROCESSOR_DEC82 81
#define BOOST_PREPROCESSOR_DEC83 82
#define BOOST_PREPROCESSOR_DEC84 83
#define BOOST_PREPROCESSOR_DEC85 84
#define BOOST_PREPROCESSOR_DEC86 85
#define BOOST_PREPROCESSOR_DEC87 86
#define BOOST_PREPROCESSOR_DEC88 87
#define BOOST_PREPROCESSOR_DEC89 88
#define BOOST_PREPROCESSOR_DEC90 89
#define BOOST_PREPROCESSOR_DEC91 90
#define BOOST_PREPROCESSOR_DEC92 91
#define BOOST_PREPROCESSOR_DEC93 92
#define BOOST_PREPROCESSOR_DEC94 93
#define BOOST_PREPROCESSOR_DEC95 94
#define BOOST_PREPROCESSOR_DEC96 95
#define BOOST_PREPROCESSOR_DEC97 96
#define BOOST_PREPROCESSOR_DEC98 97
#define BOOST_PREPROCESSOR_DEC99 98
#define BOOST_PREPROCESSOR_DEC100 99
#define BOOST_PREPROCESSOR_DEC101 100
#define BOOST_PREPROCESSOR_DEC102 101
#define BOOST_PREPROCESSOR_DEC103 102
#define BOOST_PREPROCESSOR_DEC104 103
#define BOOST_PREPROCESSOR_DEC105 104
#define BOOST_PREPROCESSOR_DEC106 105
#define BOOST_PREPROCESSOR_DEC107 106
#define BOOST_PREPROCESSOR_DEC108 107
#define BOOST_PREPROCESSOR_DEC109 108
#define BOOST_PREPROCESSOR_DEC110 109
#define BOOST_PREPROCESSOR_DEC111 110
#define BOOST_PREPROCESSOR_DEC112 111
#define BOOST_PREPROCESSOR_DEC113 112
#define BOOST_PREPROCESSOR_DEC114 113
#define BOOST_PREPROCESSOR_DEC115 114
#define BOOST_PREPROCESSOR_DEC116 115
#define BOOST_PREPROCESSOR_DEC117 116
#define BOOST_PREPROCESSOR_DEC118 117
#define BOOST_PREPROCESSOR_DEC119 118
#define BOOST_PREPROCESSOR_DEC120 119
#define BOOST_PREPROCESSOR_DEC121 120
#define BOOST_PREPROCESSOR_DEC122 121
#define BOOST_PREPROCESSOR_DEC123 122
#define BOOST_PREPROCESSOR_DEC124 123
#define BOOST_PREPROCESSOR_DEC125 124
#define BOOST_PREPROCESSOR_DEC126 125
#define BOOST_PREPROCESSOR_DEC127 126
#define BOOST_PREPROCESSOR_DEC128 127
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,73 @@
#ifndef BOOST_PREPROCESSOR_EMPTY_HPP
#define BOOST_PREPROCESSOR_EMPTY_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/empty.hpp">Click here to see the header.</a>
*/
//! Expands to nothing. Used with BOOST_PREPROCESSOR_IF() and as an unused parameter.
/*!
Example usage as the implementation of BOOST_PREPROCESSOR_COMMA_IF(C):
<PRE>\verbatim
#define BOOST_PREPROCESSOR_COMMA_IF(C)\
BOOST_PREPROCESSOR_IF(C,BOOST_PREPROCESSOR_COMMA,BOOST_PREPROCESSOR_EMPTY)()
\endverbatim</PRE>
Example usage as an unused macro parameter:
<PRE>\verbatim
#define BOOST_PREPROCESSOR_DEF(CV)\
template<class base> \
CV typename implement_subscript_using_begin_subscript<base>::value_type&\
implement_subscript_using_begin_subscript<base>::operator[]\
( index_type \
i \
) CV \
{ return base::begin()[i]; \
}
BOOST_PREPROCESSOR_DEF(BOOST_PREPROCESSOR_EMPTY())
BOOST_PREPROCESSOR_DEF(const)
#undef BOOST_PREPROCESSOR_DEF
\endverbatim</PRE>
The above expands to:
<PRE>\verbatim
template<class base>
typename implement_subscript_using_begin_subscript<base>::value_type&
implement_subscript_using_begin_subscript<base>::operator[]
( index_type
i
)
{ return base::begin()[i];
}
template<class base>
const typename implement_subscript_using_begin_subscript<base>::value_type&
implement_subscript_using_begin_subscript<base>::operator[]
( index_type
i
) const
{ return base::begin()[i];
}
\endverbatim</PRE>
In case you wonder, the above code is part of a generalized layer for
implementing the subscripting operators of a random access container.
*/
#define BOOST_PREPROCESSOR_EMPTY()
#endif

View File

@ -0,0 +1,42 @@
#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
#define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/enum_params.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
# include <boost/preprocessor/comma_if.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_REPEAT_HPP
# include <boost/preprocessor/repeat.hpp>
#endif
//! Generates a comma separated list of parameters.
/*!
In other words, expands to the sequence:
<PRE>\verbatim
P##0, P##1, ..., P##N-1
\endverbatim</PRE>
NOTE: The implementation uses BOOST_PREPROCESSOR_REPEAT().
*/
#define BOOST_PREPROCESSOR_ENUM_PARAMS(N,P) BOOST_PREPROCESSOR_REPEAT(N,BOOST_PREPROCESSOR_PARAM,P)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_PARAM(I,P) BOOST_PREPROCESSOR_COMMA_IF(I) P##I
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,48 @@
#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/enum_params_with_a_default.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_CAT_HPP
# include <boost/preprocessor/cat.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
# include <boost/preprocessor/comma_if.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_REPEAT_HPP
# include <boost/preprocessor/repeat.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
# include <boost/preprocessor/tuple.hpp>
#endif
//! Generates a comma separated list of parameters with a default.
/*!
In other words, expands to the sequence:
<PRE>\verbatim
P##0 = D, P##1 = D, ..., P##N-1 = D
\endverbatim</PRE>
NOTE: The implementation uses BOOST_PREPROCESSOR_REPEAT().
*/
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D) BOOST_PREPROCESSOR_REPEAT(N,BOOST_PREPROCESSOR_PARAM_WITH_A_DEFAULT,(P,D))
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_PARAM_WITH_A_DEFAULT(I,PD) BOOST_PREPROCESSOR_COMMA_IF(I) BOOST_PREPROCESSOR_CAT(BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,PD),I)=BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,PD)
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,48 @@
#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/enum_params_with_defaults.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_CAT_HPP
# include <boost/preprocessor/cat.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
# include <boost/preprocessor/comma_if.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_REPEAT_HPP
# include <boost/preprocessor/repeat.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
# include <boost/preprocessor/tuple.hpp>
#endif
//! Generates a comma separated list of parameters with defaults.
/*!
In other words, expands to the sequence:
<PRE>\verbatim
P##0 = D##0, P##1 = D##1, ..., P##N-1 = D##N-1
\endverbatim</PRE>
NOTE: The implementation uses BOOST_PREPROCESSOR_REPEAT().
*/
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS(N,P,D) BOOST_PREPROCESSOR_REPEAT(N,BOOST_PREPROCESSOR_PARAM_WITH_DEFAULT,(P,D))
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_PARAM_WITH_DEFAULT(I,PD) BOOST_PREPROCESSOR_COMMA_IF(I) BOOST_PREPROCESSOR_CAT(BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,PD),I)=BOOST_PREPROCESSOR_CAT(BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,PD),I)
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,57 @@
#ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
#define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/enum_shifted_params.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_CAT_HPP
# include <boost/preprocessor/cat.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
# include <boost/preprocessor/comma_if.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_DEC_HPP
# include <boost/preprocessor/dec.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_INC_HPP
# include <boost/preprocessor/inc.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_REPEAT_HPP
# include <boost/preprocessor/repeat.hpp>
#endif
//! Generates a comma separated list of shifted actual parameters.
/*!
In other words, expands to the sequence:
<PRE>\verbatim
P##1, P##2, ..., P##N-1
\endverbatim</PRE>
NOTE: The implementation uses BOOST_PREPROCESSOR_REPEAT().
RATIONALE:
- This macro facilitates a typical usage of the library. Shifted parameter
lists are common in template metaprograms.
- ENUM_SHIFTED_PARAMS must be tested so that the shifted range is shown to be
correct.
*/
#define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS(N,P) BOOST_PREPROCESSOR_REPEAT(BOOST_PREPROCESSOR_DEC(N),BOOST_PREPROCESSOR_SHIFTED_PARAM,P)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_SHIFTED_PARAM(I,P) BOOST_PREPROCESSOR_COMMA_IF(I) BOOST_PREPROCESSOR_CAT(P,BOOST_PREPROCESSOR_INC(I))
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,44 @@
#ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
#define BOOST_PREPROCESSOR_IDENTITY_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/identity.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_EMPTY_HPP
# include <boost/preprocessor/empty.hpp>
#endif
//! Expands to X once invoked.
/*!
Designed to be used with BOOST_PREPROCESSOR_IF(), when one of the clauses need to be invoked.
Example:
<PRE>\verbatim
BOOST_PREPROCESSOR_IDENTITY(X)()
// ^^ NOTE!
\endverbatim</PRE>
The above expands to:
<PRE>\verbatim
X
\endverbatim</PRE>
NOTE: If BOOST_PREPROCESSOR_IDENTITY() is not invoked, the expansion will not be usable.
*/
#define BOOST_PREPROCESSOR_IDENTITY(X) X BOOST_PREPROCESSOR_EMPTY
#endif

View File

@ -0,0 +1,37 @@
#ifndef BOOST_PREPROCESSOR_IF_HPP
#define BOOST_PREPROCESSOR_IF_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/if.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
# include <boost/preprocessor/logical/bool.hpp>
#endif
//! Expands to T if C != 0 and E if C == 0.
/*!
BOOST_PREPROCESSOR_IF() enables convenient generation of lists using
BOOST_PREPROCESSOR_REPEAT().
*/
#define BOOST_PREPROCESSOR_IF(C,T,E) BOOST_PREPROCESSOR_IF_BOOL(BOOST_PREPROCESSOR_BOOL(C),T,E)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_IF_BOOL(C,T,E) BOOST_PREPROCESSOR_IF_BOOL_DELAY(C,T,E)
#define BOOST_PREPROCESSOR_IF_BOOL_DELAY(C,T,E) BOOST_PREPROCESSOR_IF_BOOL##C(T,E)
#define BOOST_PREPROCESSOR_IF_BOOL0(T,E) E
#define BOOST_PREPROCESSOR_IF_BOOL1(T,E) T
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,162 @@
#ifndef BOOST_PREPROCESSOR_INC_HPP
#define BOOST_PREPROCESSOR_INC_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/inc.hpp">Click here to see the header.</a>
*/
//! Increments X expanding to a single token.
/*!
BOOST_PREPROCESSOR_INC() uses saturation arithmetic. Incrementing a
BOOST_PREPROCESSOR_LIMIT_MAG yields a BOOST_PREPROCESSOR_LIMIT_MAG.
Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG] are
supported.
*/
#define BOOST_PREPROCESSOR_INC(X) BOOST_PREPROCESSOR_INC_DELAY(X)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_INC_DELAY(X) BOOST_PREPROCESSOR_INC##X
#define BOOST_PREPROCESSOR_INC0 1
#define BOOST_PREPROCESSOR_INC1 2
#define BOOST_PREPROCESSOR_INC2 3
#define BOOST_PREPROCESSOR_INC3 4
#define BOOST_PREPROCESSOR_INC4 5
#define BOOST_PREPROCESSOR_INC5 6
#define BOOST_PREPROCESSOR_INC6 7
#define BOOST_PREPROCESSOR_INC7 8
#define BOOST_PREPROCESSOR_INC8 9
#define BOOST_PREPROCESSOR_INC9 10
#define BOOST_PREPROCESSOR_INC10 11
#define BOOST_PREPROCESSOR_INC11 12
#define BOOST_PREPROCESSOR_INC12 13
#define BOOST_PREPROCESSOR_INC13 14
#define BOOST_PREPROCESSOR_INC14 15
#define BOOST_PREPROCESSOR_INC15 16
#define BOOST_PREPROCESSOR_INC16 17
#define BOOST_PREPROCESSOR_INC17 18
#define BOOST_PREPROCESSOR_INC18 19
#define BOOST_PREPROCESSOR_INC19 20
#define BOOST_PREPROCESSOR_INC20 21
#define BOOST_PREPROCESSOR_INC21 22
#define BOOST_PREPROCESSOR_INC22 23
#define BOOST_PREPROCESSOR_INC23 24
#define BOOST_PREPROCESSOR_INC24 25
#define BOOST_PREPROCESSOR_INC25 26
#define BOOST_PREPROCESSOR_INC26 27
#define BOOST_PREPROCESSOR_INC27 28
#define BOOST_PREPROCESSOR_INC28 29
#define BOOST_PREPROCESSOR_INC29 30
#define BOOST_PREPROCESSOR_INC30 31
#define BOOST_PREPROCESSOR_INC31 32
#define BOOST_PREPROCESSOR_INC32 33
#define BOOST_PREPROCESSOR_INC33 34
#define BOOST_PREPROCESSOR_INC34 35
#define BOOST_PREPROCESSOR_INC35 36
#define BOOST_PREPROCESSOR_INC36 37
#define BOOST_PREPROCESSOR_INC37 38
#define BOOST_PREPROCESSOR_INC38 39
#define BOOST_PREPROCESSOR_INC39 40
#define BOOST_PREPROCESSOR_INC40 41
#define BOOST_PREPROCESSOR_INC41 42
#define BOOST_PREPROCESSOR_INC42 43
#define BOOST_PREPROCESSOR_INC43 44
#define BOOST_PREPROCESSOR_INC44 45
#define BOOST_PREPROCESSOR_INC45 46
#define BOOST_PREPROCESSOR_INC46 47
#define BOOST_PREPROCESSOR_INC47 48
#define BOOST_PREPROCESSOR_INC48 49
#define BOOST_PREPROCESSOR_INC49 50
#define BOOST_PREPROCESSOR_INC50 51
#define BOOST_PREPROCESSOR_INC51 52
#define BOOST_PREPROCESSOR_INC52 53
#define BOOST_PREPROCESSOR_INC53 54
#define BOOST_PREPROCESSOR_INC54 55
#define BOOST_PREPROCESSOR_INC55 56
#define BOOST_PREPROCESSOR_INC56 57
#define BOOST_PREPROCESSOR_INC57 58
#define BOOST_PREPROCESSOR_INC58 59
#define BOOST_PREPROCESSOR_INC59 60
#define BOOST_PREPROCESSOR_INC60 61
#define BOOST_PREPROCESSOR_INC61 62
#define BOOST_PREPROCESSOR_INC62 63
#define BOOST_PREPROCESSOR_INC63 64
#define BOOST_PREPROCESSOR_INC64 65
#define BOOST_PREPROCESSOR_INC65 66
#define BOOST_PREPROCESSOR_INC66 67
#define BOOST_PREPROCESSOR_INC67 68
#define BOOST_PREPROCESSOR_INC68 69
#define BOOST_PREPROCESSOR_INC69 70
#define BOOST_PREPROCESSOR_INC70 71
#define BOOST_PREPROCESSOR_INC71 72
#define BOOST_PREPROCESSOR_INC72 73
#define BOOST_PREPROCESSOR_INC73 74
#define BOOST_PREPROCESSOR_INC74 75
#define BOOST_PREPROCESSOR_INC75 76
#define BOOST_PREPROCESSOR_INC76 77
#define BOOST_PREPROCESSOR_INC77 78
#define BOOST_PREPROCESSOR_INC78 79
#define BOOST_PREPROCESSOR_INC79 80
#define BOOST_PREPROCESSOR_INC80 81
#define BOOST_PREPROCESSOR_INC81 82
#define BOOST_PREPROCESSOR_INC82 83
#define BOOST_PREPROCESSOR_INC83 84
#define BOOST_PREPROCESSOR_INC84 85
#define BOOST_PREPROCESSOR_INC85 86
#define BOOST_PREPROCESSOR_INC86 87
#define BOOST_PREPROCESSOR_INC87 88
#define BOOST_PREPROCESSOR_INC88 89
#define BOOST_PREPROCESSOR_INC89 90
#define BOOST_PREPROCESSOR_INC90 91
#define BOOST_PREPROCESSOR_INC91 92
#define BOOST_PREPROCESSOR_INC92 93
#define BOOST_PREPROCESSOR_INC93 94
#define BOOST_PREPROCESSOR_INC94 95
#define BOOST_PREPROCESSOR_INC95 96
#define BOOST_PREPROCESSOR_INC96 97
#define BOOST_PREPROCESSOR_INC97 98
#define BOOST_PREPROCESSOR_INC98 99
#define BOOST_PREPROCESSOR_INC99 100
#define BOOST_PREPROCESSOR_INC100 101
#define BOOST_PREPROCESSOR_INC101 102
#define BOOST_PREPROCESSOR_INC102 103
#define BOOST_PREPROCESSOR_INC103 104
#define BOOST_PREPROCESSOR_INC104 105
#define BOOST_PREPROCESSOR_INC105 106
#define BOOST_PREPROCESSOR_INC106 107
#define BOOST_PREPROCESSOR_INC107 108
#define BOOST_PREPROCESSOR_INC108 109
#define BOOST_PREPROCESSOR_INC109 110
#define BOOST_PREPROCESSOR_INC110 111
#define BOOST_PREPROCESSOR_INC111 112
#define BOOST_PREPROCESSOR_INC112 113
#define BOOST_PREPROCESSOR_INC113 114
#define BOOST_PREPROCESSOR_INC114 115
#define BOOST_PREPROCESSOR_INC115 116
#define BOOST_PREPROCESSOR_INC116 117
#define BOOST_PREPROCESSOR_INC117 118
#define BOOST_PREPROCESSOR_INC118 119
#define BOOST_PREPROCESSOR_INC119 120
#define BOOST_PREPROCESSOR_INC120 121
#define BOOST_PREPROCESSOR_INC121 122
#define BOOST_PREPROCESSOR_INC122 123
#define BOOST_PREPROCESSOR_INC123 124
#define BOOST_PREPROCESSOR_INC124 125
#define BOOST_PREPROCESSOR_INC125 126
#define BOOST_PREPROCESSOR_INC126 127
#define BOOST_PREPROCESSOR_INC127 128
#define BOOST_PREPROCESSOR_INC128 128
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,36 @@
#ifndef BOOST_PREPROCESSOR_LIMITS_HPP
#define BOOST_PREPROCESSOR_LIMITS_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/limits.hpp">Click here to see the header.</a>
*/
//! Expands to the number of dimensions of repeat supported by the library.
#define BOOST_PREPROCESSOR_LIMIT_DIM 3
//! Expands to the maximum straight numeric literal supported by the library.
/*!
NOTES:
- Only decimal integer literals in the range [0,BOOST_PREPROCESSOR_LIMIT_MAG]
are supported.
- All arithmetic operations (ADD,SUB,MUL,DIV) use saturation arithmetic.
- The maximum repetition count supported by the library may not be reached
due to compiler limitations.
*/
#define BOOST_PREPROCESSOR_LIMIT_MAG 128
//! Expands to the maximum tuple length supported by the library.
#define BOOST_PREPROCESSOR_LIMIT_TUPLE 8
#endif

View File

@ -0,0 +1,38 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_HPP
#define BOOST_PREPROCESSOR_LOGICAL_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/logical.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP
# include <boost/preprocessor/logical/and.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
# include <boost/preprocessor/logical/bool.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
# include <boost/preprocessor/logical/nor.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
# include <boost/preprocessor/logical/not.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_LOGICAL_OR_HPP
# include <boost/preprocessor/logical/or.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_LOGICAL_XOR_HPP
# include <boost/preprocessor/logical/xor.hpp>
#endif
#endif

View File

@ -0,0 +1,29 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP
#define BOOST_PREPROCESSOR_LOGICAL_AND_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/logical/and.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
# include <boost/preprocessor/logical/nor.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
# include <boost/preprocessor/logical/not.hpp>
#endif
//! Expands to the logical AND of the operands.
#define BOOST_PREPROCESSOR_AND(X,Y) BOOST_PREPROCESSOR_NOR(BOOST_PREPROCESSOR_NOT(X),BOOST_PREPROCESSOR_NOT(Y))
#endif

View File

@ -0,0 +1,157 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
#define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/logical/bool.hpp">Click here to see the header.</a>
*/
//! Expands to 0 if X == 0 and 1 if X != 0.
#define BOOST_PREPROCESSOR_BOOL(X) BOOST_PREPROCESSOR_BOOL_DELAY(X)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// BOOL can be implemented in O(1) tokens using saturated ADD & SUB.
// Unfortunately, it would result in significantly slower preprocessing.
#define BOOST_PREPROCESSOR_BOOL_DELAY(X) BOOST_PREPROCESSOR_BOOL##X
#define BOOST_PREPROCESSOR_BOOL0 0
#define BOOST_PREPROCESSOR_BOOL1 1
#define BOOST_PREPROCESSOR_BOOL2 1
#define BOOST_PREPROCESSOR_BOOL3 1
#define BOOST_PREPROCESSOR_BOOL4 1
#define BOOST_PREPROCESSOR_BOOL5 1
#define BOOST_PREPROCESSOR_BOOL6 1
#define BOOST_PREPROCESSOR_BOOL7 1
#define BOOST_PREPROCESSOR_BOOL8 1
#define BOOST_PREPROCESSOR_BOOL9 1
#define BOOST_PREPROCESSOR_BOOL10 1
#define BOOST_PREPROCESSOR_BOOL11 1
#define BOOST_PREPROCESSOR_BOOL12 1
#define BOOST_PREPROCESSOR_BOOL13 1
#define BOOST_PREPROCESSOR_BOOL14 1
#define BOOST_PREPROCESSOR_BOOL15 1
#define BOOST_PREPROCESSOR_BOOL16 1
#define BOOST_PREPROCESSOR_BOOL17 1
#define BOOST_PREPROCESSOR_BOOL18 1
#define BOOST_PREPROCESSOR_BOOL19 1
#define BOOST_PREPROCESSOR_BOOL20 1
#define BOOST_PREPROCESSOR_BOOL21 1
#define BOOST_PREPROCESSOR_BOOL22 1
#define BOOST_PREPROCESSOR_BOOL23 1
#define BOOST_PREPROCESSOR_BOOL24 1
#define BOOST_PREPROCESSOR_BOOL25 1
#define BOOST_PREPROCESSOR_BOOL26 1
#define BOOST_PREPROCESSOR_BOOL27 1
#define BOOST_PREPROCESSOR_BOOL28 1
#define BOOST_PREPROCESSOR_BOOL29 1
#define BOOST_PREPROCESSOR_BOOL30 1
#define BOOST_PREPROCESSOR_BOOL31 1
#define BOOST_PREPROCESSOR_BOOL32 1
#define BOOST_PREPROCESSOR_BOOL33 1
#define BOOST_PREPROCESSOR_BOOL34 1
#define BOOST_PREPROCESSOR_BOOL35 1
#define BOOST_PREPROCESSOR_BOOL36 1
#define BOOST_PREPROCESSOR_BOOL37 1
#define BOOST_PREPROCESSOR_BOOL38 1
#define BOOST_PREPROCESSOR_BOOL39 1
#define BOOST_PREPROCESSOR_BOOL40 1
#define BOOST_PREPROCESSOR_BOOL41 1
#define BOOST_PREPROCESSOR_BOOL42 1
#define BOOST_PREPROCESSOR_BOOL43 1
#define BOOST_PREPROCESSOR_BOOL44 1
#define BOOST_PREPROCESSOR_BOOL45 1
#define BOOST_PREPROCESSOR_BOOL46 1
#define BOOST_PREPROCESSOR_BOOL47 1
#define BOOST_PREPROCESSOR_BOOL48 1
#define BOOST_PREPROCESSOR_BOOL49 1
#define BOOST_PREPROCESSOR_BOOL50 1
#define BOOST_PREPROCESSOR_BOOL51 1
#define BOOST_PREPROCESSOR_BOOL52 1
#define BOOST_PREPROCESSOR_BOOL53 1
#define BOOST_PREPROCESSOR_BOOL54 1
#define BOOST_PREPROCESSOR_BOOL55 1
#define BOOST_PREPROCESSOR_BOOL56 1
#define BOOST_PREPROCESSOR_BOOL57 1
#define BOOST_PREPROCESSOR_BOOL58 1
#define BOOST_PREPROCESSOR_BOOL59 1
#define BOOST_PREPROCESSOR_BOOL60 1
#define BOOST_PREPROCESSOR_BOOL61 1
#define BOOST_PREPROCESSOR_BOOL62 1
#define BOOST_PREPROCESSOR_BOOL63 1
#define BOOST_PREPROCESSOR_BOOL64 1
#define BOOST_PREPROCESSOR_BOOL65 1
#define BOOST_PREPROCESSOR_BOOL66 1
#define BOOST_PREPROCESSOR_BOOL67 1
#define BOOST_PREPROCESSOR_BOOL68 1
#define BOOST_PREPROCESSOR_BOOL69 1
#define BOOST_PREPROCESSOR_BOOL70 1
#define BOOST_PREPROCESSOR_BOOL71 1
#define BOOST_PREPROCESSOR_BOOL72 1
#define BOOST_PREPROCESSOR_BOOL73 1
#define BOOST_PREPROCESSOR_BOOL74 1
#define BOOST_PREPROCESSOR_BOOL75 1
#define BOOST_PREPROCESSOR_BOOL76 1
#define BOOST_PREPROCESSOR_BOOL77 1
#define BOOST_PREPROCESSOR_BOOL78 1
#define BOOST_PREPROCESSOR_BOOL79 1
#define BOOST_PREPROCESSOR_BOOL80 1
#define BOOST_PREPROCESSOR_BOOL81 1
#define BOOST_PREPROCESSOR_BOOL82 1
#define BOOST_PREPROCESSOR_BOOL83 1
#define BOOST_PREPROCESSOR_BOOL84 1
#define BOOST_PREPROCESSOR_BOOL85 1
#define BOOST_PREPROCESSOR_BOOL86 1
#define BOOST_PREPROCESSOR_BOOL87 1
#define BOOST_PREPROCESSOR_BOOL88 1
#define BOOST_PREPROCESSOR_BOOL89 1
#define BOOST_PREPROCESSOR_BOOL90 1
#define BOOST_PREPROCESSOR_BOOL91 1
#define BOOST_PREPROCESSOR_BOOL92 1
#define BOOST_PREPROCESSOR_BOOL93 1
#define BOOST_PREPROCESSOR_BOOL94 1
#define BOOST_PREPROCESSOR_BOOL95 1
#define BOOST_PREPROCESSOR_BOOL96 1
#define BOOST_PREPROCESSOR_BOOL97 1
#define BOOST_PREPROCESSOR_BOOL98 1
#define BOOST_PREPROCESSOR_BOOL99 1
#define BOOST_PREPROCESSOR_BOOL100 1
#define BOOST_PREPROCESSOR_BOOL101 1
#define BOOST_PREPROCESSOR_BOOL102 1
#define BOOST_PREPROCESSOR_BOOL103 1
#define BOOST_PREPROCESSOR_BOOL104 1
#define BOOST_PREPROCESSOR_BOOL105 1
#define BOOST_PREPROCESSOR_BOOL106 1
#define BOOST_PREPROCESSOR_BOOL107 1
#define BOOST_PREPROCESSOR_BOOL108 1
#define BOOST_PREPROCESSOR_BOOL109 1
#define BOOST_PREPROCESSOR_BOOL110 1
#define BOOST_PREPROCESSOR_BOOL111 1
#define BOOST_PREPROCESSOR_BOOL112 1
#define BOOST_PREPROCESSOR_BOOL113 1
#define BOOST_PREPROCESSOR_BOOL114 1
#define BOOST_PREPROCESSOR_BOOL115 1
#define BOOST_PREPROCESSOR_BOOL116 1
#define BOOST_PREPROCESSOR_BOOL117 1
#define BOOST_PREPROCESSOR_BOOL118 1
#define BOOST_PREPROCESSOR_BOOL119 1
#define BOOST_PREPROCESSOR_BOOL120 1
#define BOOST_PREPROCESSOR_BOOL121 1
#define BOOST_PREPROCESSOR_BOOL122 1
#define BOOST_PREPROCESSOR_BOOL123 1
#define BOOST_PREPROCESSOR_BOOL124 1
#define BOOST_PREPROCESSOR_BOOL125 1
#define BOOST_PREPROCESSOR_BOOL126 1
#define BOOST_PREPROCESSOR_BOOL127 1
#define BOOST_PREPROCESSOR_BOOL128 1
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,35 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
#define BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/logical/nor.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
# include <boost/preprocessor/logical/bool.hpp>
#endif
//! Expands to the logical NEITHER OR of the operands.
#define BOOST_PREPROCESSOR_NOR(X,Y) BOOST_PREPROCESSOR_NOR_BOOL(BOOST_PREPROCESSOR_BOOL(X),BOOST_PREPROCESSOR_BOOL(Y))
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_NOR_BOOL(X,Y) BOOST_PREPROCESSOR_NOR_BOOL_DELAY(X,Y)
#define BOOST_PREPROCESSOR_NOR_BOOL_DELAY(X,Y) BOOST_PREPROCESSOR_NOR_BOOL##X##Y
#define BOOST_PREPROCESSOR_NOR_BOOL00 1
#define BOOST_PREPROCESSOR_NOR_BOOL01 0
#define BOOST_PREPROCESSOR_NOR_BOOL10 0
#define BOOST_PREPROCESSOR_NOR_BOOL11 0
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,26 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
#define BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/logical/not.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
# include <boost/preprocessor/logical/nor.hpp>
#endif
//! Expands to the logical NOT of the operand.
#define BOOST_PREPROCESSOR_NOT(X) BOOST_PREPROCESSOR_NOR(X,X)
#endif

View File

@ -0,0 +1,29 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_OR_HPP
#define BOOST_PREPROCESSOR_LOGICAL_OR_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/logical/or.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
# include <boost/preprocessor/logical/nor.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
# include <boost/preprocessor/logical/not.hpp>
#endif
//! Expands to the logical OR of the operands.
#define BOOST_PREPROCESSOR_OR(X,Y) BOOST_PREPROCESSOR_NOT(BOOST_PREPROCESSOR_NOR(X,Y))
#endif

View File

@ -0,0 +1,29 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_XOR_HPP
#define BOOST_PREPROCESSOR_LOGICAL_XOR_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/logical/xor.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP
# include <boost/preprocessor/logical/and.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
# include <boost/preprocessor/logical/nor.hpp>
#endif
//! Expands to the logical EXCLUSIVE OR of the operands.
#define BOOST_PREPROCESSOR_XOR(X,Y) BOOST_PREPROCESSOR_NOR(BOOST_PREPROCESSOR_NOR(X,Y),BOOST_PREPROCESSOR_AND(X,Y))
#endif

View File

@ -0,0 +1,29 @@
#ifndef BOOST_PREPROCESSOR_MAX_HPP
#define BOOST_PREPROCESSOR_MAX_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/max.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
# include <boost/preprocessor/comparison/less.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_IF_HPP
# include <boost/preprocessor/if.hpp>
#endif
//! Expands to the maximum of X and Y.
#define BOOST_PREPROCESSOR_MAX(X,Y) BOOST_PREPROCESSOR_IF(BOOST_PREPROCESSOR_LESS(X,Y),Y,X)
#endif

View File

@ -0,0 +1,29 @@
#ifndef BOOST_PREPROCESSOR_MIN_HPP
#define BOOST_PREPROCESSOR_MIN_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/min.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
# include <boost/preprocessor/comparison/less.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_IF_HPP
# include <boost/preprocessor/if.hpp>
#endif
//! Expands to the minimum of X and Y.
#define BOOST_PREPROCESSOR_MIN(X,Y) BOOST_PREPROCESSOR_IF(BOOST_PREPROCESSOR_LESS(Y,X),Y,X)
#endif

View File

@ -0,0 +1,174 @@
#ifndef BOOST_PREPROCESSOR_REPEAT_HPP
#define BOOST_PREPROCESSOR_REPEAT_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/repeat.hpp">Click here to see the header.</a>
*/
//! Repeats the macro M(I,P) for I = 0 to N-1.
/*!
In other words, expands to the sequence:
<PRE>\verbatim
M(0,P) M(1,P) ... M(N-1,P)
\endverbatim</PRE>
See BOOST_PREPROCESSOR_LIMIT_MAG.
RATIONALE:
- BOOST_PREPROCESSOR_REPEAT, BOOST_PREPROCESSOR_REPEAT_2ND, ... must work together.
- BOOST_PREPROCESSOR_REPEAT is already tested with BOOST_PREPROCESSOR_ENUM_PARAMS.
- The tested repeat count should exceed imaginable usage.
- Testing the generation of is_function_helper()s upto 40 arguments should be
sufficient in this case. Many compilers may fail the repetition tests (at
least with higher counts). However, the primary purpose of the repetition
primitives is to enable configurability with reasonable defaults, and not
necessarily "the most impressive repetition".
*/
#define BOOST_PREPROCESSOR_REPEAT(N,M,P) BOOST_PREPROCESSOR_REPEAT_DELAY(N,M,P)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_REPEAT_DELAY(N,M,P) BOOST_PREPROCESSOR_REPEAT##N(M,P)
#define BOOST_PREPROCESSOR_REPEAT0(M,P)
#define BOOST_PREPROCESSOR_REPEAT1(M,P) M(0,P)
#define BOOST_PREPROCESSOR_REPEAT2(M,P) M(0,P) M(1,P)
#define BOOST_PREPROCESSOR_REPEAT3(M,P) BOOST_PREPROCESSOR_REPEAT2(M,P) M(2,P)
#define BOOST_PREPROCESSOR_REPEAT4(M,P) BOOST_PREPROCESSOR_REPEAT3(M,P) M(3,P)
#define BOOST_PREPROCESSOR_REPEAT5(M,P) BOOST_PREPROCESSOR_REPEAT4(M,P) M(4,P)
#define BOOST_PREPROCESSOR_REPEAT6(M,P) BOOST_PREPROCESSOR_REPEAT5(M,P) M(5,P)
#define BOOST_PREPROCESSOR_REPEAT7(M,P) BOOST_PREPROCESSOR_REPEAT6(M,P) M(6,P)
#define BOOST_PREPROCESSOR_REPEAT8(M,P) BOOST_PREPROCESSOR_REPEAT7(M,P) M(7,P)
#define BOOST_PREPROCESSOR_REPEAT9(M,P) BOOST_PREPROCESSOR_REPEAT8(M,P) M(8,P)
#define BOOST_PREPROCESSOR_REPEAT10(M,P) BOOST_PREPROCESSOR_REPEAT9(M,P) M(9,P)
#define BOOST_PREPROCESSOR_REPEAT11(M,P) BOOST_PREPROCESSOR_REPEAT10(M,P) M(10,P)
#define BOOST_PREPROCESSOR_REPEAT12(M,P) BOOST_PREPROCESSOR_REPEAT11(M,P) M(11,P)
#define BOOST_PREPROCESSOR_REPEAT13(M,P) BOOST_PREPROCESSOR_REPEAT12(M,P) M(12,P)
#define BOOST_PREPROCESSOR_REPEAT14(M,P) BOOST_PREPROCESSOR_REPEAT13(M,P) M(13,P)
#define BOOST_PREPROCESSOR_REPEAT15(M,P) BOOST_PREPROCESSOR_REPEAT14(M,P) M(14,P)
#define BOOST_PREPROCESSOR_REPEAT16(M,P) BOOST_PREPROCESSOR_REPEAT15(M,P) M(15,P)
#define BOOST_PREPROCESSOR_REPEAT17(M,P) BOOST_PREPROCESSOR_REPEAT16(M,P) M(16,P)
#define BOOST_PREPROCESSOR_REPEAT18(M,P) BOOST_PREPROCESSOR_REPEAT17(M,P) M(17,P)
#define BOOST_PREPROCESSOR_REPEAT19(M,P) BOOST_PREPROCESSOR_REPEAT18(M,P) M(18,P)
#define BOOST_PREPROCESSOR_REPEAT20(M,P) BOOST_PREPROCESSOR_REPEAT19(M,P) M(19,P)
#define BOOST_PREPROCESSOR_REPEAT21(M,P) BOOST_PREPROCESSOR_REPEAT20(M,P) M(20,P)
#define BOOST_PREPROCESSOR_REPEAT22(M,P) BOOST_PREPROCESSOR_REPEAT21(M,P) M(21,P)
#define BOOST_PREPROCESSOR_REPEAT23(M,P) BOOST_PREPROCESSOR_REPEAT22(M,P) M(22,P)
#define BOOST_PREPROCESSOR_REPEAT24(M,P) BOOST_PREPROCESSOR_REPEAT23(M,P) M(23,P)
#define BOOST_PREPROCESSOR_REPEAT25(M,P) BOOST_PREPROCESSOR_REPEAT24(M,P) M(24,P)
#define BOOST_PREPROCESSOR_REPEAT26(M,P) BOOST_PREPROCESSOR_REPEAT25(M,P) M(25,P)
#define BOOST_PREPROCESSOR_REPEAT27(M,P) BOOST_PREPROCESSOR_REPEAT26(M,P) M(26,P)
#define BOOST_PREPROCESSOR_REPEAT28(M,P) BOOST_PREPROCESSOR_REPEAT27(M,P) M(27,P)
#define BOOST_PREPROCESSOR_REPEAT29(M,P) BOOST_PREPROCESSOR_REPEAT28(M,P) M(28,P)
#define BOOST_PREPROCESSOR_REPEAT30(M,P) BOOST_PREPROCESSOR_REPEAT29(M,P) M(29,P)
#define BOOST_PREPROCESSOR_REPEAT31(M,P) BOOST_PREPROCESSOR_REPEAT30(M,P) M(30,P)
#define BOOST_PREPROCESSOR_REPEAT32(M,P) BOOST_PREPROCESSOR_REPEAT31(M,P) M(31,P)
#define BOOST_PREPROCESSOR_REPEAT33(M,P) BOOST_PREPROCESSOR_REPEAT32(M,P) M(32,P)
#define BOOST_PREPROCESSOR_REPEAT34(M,P) BOOST_PREPROCESSOR_REPEAT33(M,P) M(33,P)
#define BOOST_PREPROCESSOR_REPEAT35(M,P) BOOST_PREPROCESSOR_REPEAT34(M,P) M(34,P)
#define BOOST_PREPROCESSOR_REPEAT36(M,P) BOOST_PREPROCESSOR_REPEAT35(M,P) M(35,P)
#define BOOST_PREPROCESSOR_REPEAT37(M,P) BOOST_PREPROCESSOR_REPEAT36(M,P) M(36,P)
#define BOOST_PREPROCESSOR_REPEAT38(M,P) BOOST_PREPROCESSOR_REPEAT37(M,P) M(37,P)
#define BOOST_PREPROCESSOR_REPEAT39(M,P) BOOST_PREPROCESSOR_REPEAT38(M,P) M(38,P)
#define BOOST_PREPROCESSOR_REPEAT40(M,P) BOOST_PREPROCESSOR_REPEAT39(M,P) M(39,P)
#define BOOST_PREPROCESSOR_REPEAT41(M,P) BOOST_PREPROCESSOR_REPEAT40(M,P) M(40,P)
#define BOOST_PREPROCESSOR_REPEAT42(M,P) BOOST_PREPROCESSOR_REPEAT41(M,P) M(41,P)
#define BOOST_PREPROCESSOR_REPEAT43(M,P) BOOST_PREPROCESSOR_REPEAT42(M,P) M(42,P)
#define BOOST_PREPROCESSOR_REPEAT44(M,P) BOOST_PREPROCESSOR_REPEAT43(M,P) M(43,P)
#define BOOST_PREPROCESSOR_REPEAT45(M,P) BOOST_PREPROCESSOR_REPEAT44(M,P) M(44,P)
#define BOOST_PREPROCESSOR_REPEAT46(M,P) BOOST_PREPROCESSOR_REPEAT45(M,P) M(45,P)
#define BOOST_PREPROCESSOR_REPEAT47(M,P) BOOST_PREPROCESSOR_REPEAT46(M,P) M(46,P)
#define BOOST_PREPROCESSOR_REPEAT48(M,P) BOOST_PREPROCESSOR_REPEAT47(M,P) M(47,P)
#define BOOST_PREPROCESSOR_REPEAT49(M,P) BOOST_PREPROCESSOR_REPEAT48(M,P) M(48,P)
#define BOOST_PREPROCESSOR_REPEAT50(M,P) BOOST_PREPROCESSOR_REPEAT49(M,P) M(49,P)
#define BOOST_PREPROCESSOR_REPEAT51(M,P) BOOST_PREPROCESSOR_REPEAT50(M,P) M(50,P)
#define BOOST_PREPROCESSOR_REPEAT52(M,P) BOOST_PREPROCESSOR_REPEAT51(M,P) M(51,P)
#define BOOST_PREPROCESSOR_REPEAT53(M,P) BOOST_PREPROCESSOR_REPEAT52(M,P) M(52,P)
#define BOOST_PREPROCESSOR_REPEAT54(M,P) BOOST_PREPROCESSOR_REPEAT53(M,P) M(53,P)
#define BOOST_PREPROCESSOR_REPEAT55(M,P) BOOST_PREPROCESSOR_REPEAT54(M,P) M(54,P)
#define BOOST_PREPROCESSOR_REPEAT56(M,P) BOOST_PREPROCESSOR_REPEAT55(M,P) M(55,P)
#define BOOST_PREPROCESSOR_REPEAT57(M,P) BOOST_PREPROCESSOR_REPEAT56(M,P) M(56,P)
#define BOOST_PREPROCESSOR_REPEAT58(M,P) BOOST_PREPROCESSOR_REPEAT57(M,P) M(57,P)
#define BOOST_PREPROCESSOR_REPEAT59(M,P) BOOST_PREPROCESSOR_REPEAT58(M,P) M(58,P)
#define BOOST_PREPROCESSOR_REPEAT60(M,P) BOOST_PREPROCESSOR_REPEAT59(M,P) M(59,P)
#define BOOST_PREPROCESSOR_REPEAT61(M,P) BOOST_PREPROCESSOR_REPEAT60(M,P) M(60,P)
#define BOOST_PREPROCESSOR_REPEAT62(M,P) BOOST_PREPROCESSOR_REPEAT61(M,P) M(61,P)
#define BOOST_PREPROCESSOR_REPEAT63(M,P) BOOST_PREPROCESSOR_REPEAT62(M,P) M(62,P)
#define BOOST_PREPROCESSOR_REPEAT64(M,P) BOOST_PREPROCESSOR_REPEAT63(M,P) M(63,P)
#define BOOST_PREPROCESSOR_REPEAT65(M,P) BOOST_PREPROCESSOR_REPEAT64(M,P) M(64,P)
#define BOOST_PREPROCESSOR_REPEAT66(M,P) BOOST_PREPROCESSOR_REPEAT65(M,P) M(65,P)
#define BOOST_PREPROCESSOR_REPEAT67(M,P) BOOST_PREPROCESSOR_REPEAT66(M,P) M(66,P)
#define BOOST_PREPROCESSOR_REPEAT68(M,P) BOOST_PREPROCESSOR_REPEAT67(M,P) M(67,P)
#define BOOST_PREPROCESSOR_REPEAT69(M,P) BOOST_PREPROCESSOR_REPEAT68(M,P) M(68,P)
#define BOOST_PREPROCESSOR_REPEAT70(M,P) BOOST_PREPROCESSOR_REPEAT69(M,P) M(69,P)
#define BOOST_PREPROCESSOR_REPEAT71(M,P) BOOST_PREPROCESSOR_REPEAT70(M,P) M(70,P)
#define BOOST_PREPROCESSOR_REPEAT72(M,P) BOOST_PREPROCESSOR_REPEAT71(M,P) M(71,P)
#define BOOST_PREPROCESSOR_REPEAT73(M,P) BOOST_PREPROCESSOR_REPEAT72(M,P) M(72,P)
#define BOOST_PREPROCESSOR_REPEAT74(M,P) BOOST_PREPROCESSOR_REPEAT73(M,P) M(73,P)
#define BOOST_PREPROCESSOR_REPEAT75(M,P) BOOST_PREPROCESSOR_REPEAT74(M,P) M(74,P)
#define BOOST_PREPROCESSOR_REPEAT76(M,P) BOOST_PREPROCESSOR_REPEAT75(M,P) M(75,P)
#define BOOST_PREPROCESSOR_REPEAT77(M,P) BOOST_PREPROCESSOR_REPEAT76(M,P) M(76,P)
#define BOOST_PREPROCESSOR_REPEAT78(M,P) BOOST_PREPROCESSOR_REPEAT77(M,P) M(77,P)
#define BOOST_PREPROCESSOR_REPEAT79(M,P) BOOST_PREPROCESSOR_REPEAT78(M,P) M(78,P)
#define BOOST_PREPROCESSOR_REPEAT80(M,P) BOOST_PREPROCESSOR_REPEAT79(M,P) M(79,P)
#define BOOST_PREPROCESSOR_REPEAT81(M,P) BOOST_PREPROCESSOR_REPEAT80(M,P) M(80,P)
#define BOOST_PREPROCESSOR_REPEAT82(M,P) BOOST_PREPROCESSOR_REPEAT81(M,P) M(81,P)
#define BOOST_PREPROCESSOR_REPEAT83(M,P) BOOST_PREPROCESSOR_REPEAT82(M,P) M(82,P)
#define BOOST_PREPROCESSOR_REPEAT84(M,P) BOOST_PREPROCESSOR_REPEAT83(M,P) M(83,P)
#define BOOST_PREPROCESSOR_REPEAT85(M,P) BOOST_PREPROCESSOR_REPEAT84(M,P) M(84,P)
#define BOOST_PREPROCESSOR_REPEAT86(M,P) BOOST_PREPROCESSOR_REPEAT85(M,P) M(85,P)
#define BOOST_PREPROCESSOR_REPEAT87(M,P) BOOST_PREPROCESSOR_REPEAT86(M,P) M(86,P)
#define BOOST_PREPROCESSOR_REPEAT88(M,P) BOOST_PREPROCESSOR_REPEAT87(M,P) M(87,P)
#define BOOST_PREPROCESSOR_REPEAT89(M,P) BOOST_PREPROCESSOR_REPEAT88(M,P) M(88,P)
#define BOOST_PREPROCESSOR_REPEAT90(M,P) BOOST_PREPROCESSOR_REPEAT89(M,P) M(89,P)
#define BOOST_PREPROCESSOR_REPEAT91(M,P) BOOST_PREPROCESSOR_REPEAT90(M,P) M(90,P)
#define BOOST_PREPROCESSOR_REPEAT92(M,P) BOOST_PREPROCESSOR_REPEAT91(M,P) M(91,P)
#define BOOST_PREPROCESSOR_REPEAT93(M,P) BOOST_PREPROCESSOR_REPEAT92(M,P) M(92,P)
#define BOOST_PREPROCESSOR_REPEAT94(M,P) BOOST_PREPROCESSOR_REPEAT93(M,P) M(93,P)
#define BOOST_PREPROCESSOR_REPEAT95(M,P) BOOST_PREPROCESSOR_REPEAT94(M,P) M(94,P)
#define BOOST_PREPROCESSOR_REPEAT96(M,P) BOOST_PREPROCESSOR_REPEAT95(M,P) M(95,P)
#define BOOST_PREPROCESSOR_REPEAT97(M,P) BOOST_PREPROCESSOR_REPEAT96(M,P) M(96,P)
#define BOOST_PREPROCESSOR_REPEAT98(M,P) BOOST_PREPROCESSOR_REPEAT97(M,P) M(97,P)
#define BOOST_PREPROCESSOR_REPEAT99(M,P) BOOST_PREPROCESSOR_REPEAT98(M,P) M(98,P)
#define BOOST_PREPROCESSOR_REPEAT100(M,P) BOOST_PREPROCESSOR_REPEAT99(M,P) M(99,P)
#define BOOST_PREPROCESSOR_REPEAT101(M,P) BOOST_PREPROCESSOR_REPEAT100(M,P) M(100,P)
#define BOOST_PREPROCESSOR_REPEAT102(M,P) BOOST_PREPROCESSOR_REPEAT101(M,P) M(101,P)
#define BOOST_PREPROCESSOR_REPEAT103(M,P) BOOST_PREPROCESSOR_REPEAT102(M,P) M(102,P)
#define BOOST_PREPROCESSOR_REPEAT104(M,P) BOOST_PREPROCESSOR_REPEAT103(M,P) M(103,P)
#define BOOST_PREPROCESSOR_REPEAT105(M,P) BOOST_PREPROCESSOR_REPEAT104(M,P) M(104,P)
#define BOOST_PREPROCESSOR_REPEAT106(M,P) BOOST_PREPROCESSOR_REPEAT105(M,P) M(105,P)
#define BOOST_PREPROCESSOR_REPEAT107(M,P) BOOST_PREPROCESSOR_REPEAT106(M,P) M(106,P)
#define BOOST_PREPROCESSOR_REPEAT108(M,P) BOOST_PREPROCESSOR_REPEAT107(M,P) M(107,P)
#define BOOST_PREPROCESSOR_REPEAT109(M,P) BOOST_PREPROCESSOR_REPEAT108(M,P) M(108,P)
#define BOOST_PREPROCESSOR_REPEAT110(M,P) BOOST_PREPROCESSOR_REPEAT109(M,P) M(109,P)
#define BOOST_PREPROCESSOR_REPEAT111(M,P) BOOST_PREPROCESSOR_REPEAT110(M,P) M(110,P)
#define BOOST_PREPROCESSOR_REPEAT112(M,P) BOOST_PREPROCESSOR_REPEAT111(M,P) M(111,P)
#define BOOST_PREPROCESSOR_REPEAT113(M,P) BOOST_PREPROCESSOR_REPEAT112(M,P) M(112,P)
#define BOOST_PREPROCESSOR_REPEAT114(M,P) BOOST_PREPROCESSOR_REPEAT113(M,P) M(113,P)
#define BOOST_PREPROCESSOR_REPEAT115(M,P) BOOST_PREPROCESSOR_REPEAT114(M,P) M(114,P)
#define BOOST_PREPROCESSOR_REPEAT116(M,P) BOOST_PREPROCESSOR_REPEAT115(M,P) M(115,P)
#define BOOST_PREPROCESSOR_REPEAT117(M,P) BOOST_PREPROCESSOR_REPEAT116(M,P) M(116,P)
#define BOOST_PREPROCESSOR_REPEAT118(M,P) BOOST_PREPROCESSOR_REPEAT117(M,P) M(117,P)
#define BOOST_PREPROCESSOR_REPEAT119(M,P) BOOST_PREPROCESSOR_REPEAT118(M,P) M(118,P)
#define BOOST_PREPROCESSOR_REPEAT120(M,P) BOOST_PREPROCESSOR_REPEAT119(M,P) M(119,P)
#define BOOST_PREPROCESSOR_REPEAT121(M,P) BOOST_PREPROCESSOR_REPEAT120(M,P) M(120,P)
#define BOOST_PREPROCESSOR_REPEAT122(M,P) BOOST_PREPROCESSOR_REPEAT121(M,P) M(121,P)
#define BOOST_PREPROCESSOR_REPEAT123(M,P) BOOST_PREPROCESSOR_REPEAT122(M,P) M(122,P)
#define BOOST_PREPROCESSOR_REPEAT124(M,P) BOOST_PREPROCESSOR_REPEAT123(M,P) M(123,P)
#define BOOST_PREPROCESSOR_REPEAT125(M,P) BOOST_PREPROCESSOR_REPEAT124(M,P) M(124,P)
#define BOOST_PREPROCESSOR_REPEAT126(M,P) BOOST_PREPROCESSOR_REPEAT125(M,P) M(125,P)
#define BOOST_PREPROCESSOR_REPEAT127(M,P) BOOST_PREPROCESSOR_REPEAT126(M,P) M(126,P)
#define BOOST_PREPROCESSOR_REPEAT128(M,P) BOOST_PREPROCESSOR_REPEAT127(M,P) M(127,P)
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,155 @@
#ifndef BOOST_PREPROCESSOR_REPEAT_2ND_HPP
#define BOOST_PREPROCESSOR_REPEAT_2ND_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/repeat_2nd.hpp">Click here to see the header.</a>
*/
//! Same as BOOST_PREPROCESSOR_REPEAT(), but implemented independently.
#define BOOST_PREPROCESSOR_REPEAT_2ND(N,M,P) BOOST_PREPROCESSOR_REPEAT_2ND_DELAY(N,M,P)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_REPEAT_2ND_DELAY(N,M,P) BOOST_PREPROCESSOR_REPEAT_2ND##N(M,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND0(M,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND1(M,P) M(0,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND2(M,P) M(0,P) M(1,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND3(M,P) BOOST_PREPROCESSOR_REPEAT_2ND2(M,P) M(2,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND4(M,P) BOOST_PREPROCESSOR_REPEAT_2ND3(M,P) M(3,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND5(M,P) BOOST_PREPROCESSOR_REPEAT_2ND4(M,P) M(4,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND6(M,P) BOOST_PREPROCESSOR_REPEAT_2ND5(M,P) M(5,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND7(M,P) BOOST_PREPROCESSOR_REPEAT_2ND6(M,P) M(6,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND8(M,P) BOOST_PREPROCESSOR_REPEAT_2ND7(M,P) M(7,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND9(M,P) BOOST_PREPROCESSOR_REPEAT_2ND8(M,P) M(8,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND10(M,P) BOOST_PREPROCESSOR_REPEAT_2ND9(M,P) M(9,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND11(M,P) BOOST_PREPROCESSOR_REPEAT_2ND10(M,P) M(10,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND12(M,P) BOOST_PREPROCESSOR_REPEAT_2ND11(M,P) M(11,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND13(M,P) BOOST_PREPROCESSOR_REPEAT_2ND12(M,P) M(12,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND14(M,P) BOOST_PREPROCESSOR_REPEAT_2ND13(M,P) M(13,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND15(M,P) BOOST_PREPROCESSOR_REPEAT_2ND14(M,P) M(14,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND16(M,P) BOOST_PREPROCESSOR_REPEAT_2ND15(M,P) M(15,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND17(M,P) BOOST_PREPROCESSOR_REPEAT_2ND16(M,P) M(16,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND18(M,P) BOOST_PREPROCESSOR_REPEAT_2ND17(M,P) M(17,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND19(M,P) BOOST_PREPROCESSOR_REPEAT_2ND18(M,P) M(18,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND20(M,P) BOOST_PREPROCESSOR_REPEAT_2ND19(M,P) M(19,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND21(M,P) BOOST_PREPROCESSOR_REPEAT_2ND20(M,P) M(20,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND22(M,P) BOOST_PREPROCESSOR_REPEAT_2ND21(M,P) M(21,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND23(M,P) BOOST_PREPROCESSOR_REPEAT_2ND22(M,P) M(22,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND24(M,P) BOOST_PREPROCESSOR_REPEAT_2ND23(M,P) M(23,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND25(M,P) BOOST_PREPROCESSOR_REPEAT_2ND24(M,P) M(24,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND26(M,P) BOOST_PREPROCESSOR_REPEAT_2ND25(M,P) M(25,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND27(M,P) BOOST_PREPROCESSOR_REPEAT_2ND26(M,P) M(26,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND28(M,P) BOOST_PREPROCESSOR_REPEAT_2ND27(M,P) M(27,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND29(M,P) BOOST_PREPROCESSOR_REPEAT_2ND28(M,P) M(28,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND30(M,P) BOOST_PREPROCESSOR_REPEAT_2ND29(M,P) M(29,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND31(M,P) BOOST_PREPROCESSOR_REPEAT_2ND30(M,P) M(30,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND32(M,P) BOOST_PREPROCESSOR_REPEAT_2ND31(M,P) M(31,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND33(M,P) BOOST_PREPROCESSOR_REPEAT_2ND32(M,P) M(32,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND34(M,P) BOOST_PREPROCESSOR_REPEAT_2ND33(M,P) M(33,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND35(M,P) BOOST_PREPROCESSOR_REPEAT_2ND34(M,P) M(34,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND36(M,P) BOOST_PREPROCESSOR_REPEAT_2ND35(M,P) M(35,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND37(M,P) BOOST_PREPROCESSOR_REPEAT_2ND36(M,P) M(36,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND38(M,P) BOOST_PREPROCESSOR_REPEAT_2ND37(M,P) M(37,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND39(M,P) BOOST_PREPROCESSOR_REPEAT_2ND38(M,P) M(38,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND40(M,P) BOOST_PREPROCESSOR_REPEAT_2ND39(M,P) M(39,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND41(M,P) BOOST_PREPROCESSOR_REPEAT_2ND40(M,P) M(40,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND42(M,P) BOOST_PREPROCESSOR_REPEAT_2ND41(M,P) M(41,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND43(M,P) BOOST_PREPROCESSOR_REPEAT_2ND42(M,P) M(42,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND44(M,P) BOOST_PREPROCESSOR_REPEAT_2ND43(M,P) M(43,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND45(M,P) BOOST_PREPROCESSOR_REPEAT_2ND44(M,P) M(44,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND46(M,P) BOOST_PREPROCESSOR_REPEAT_2ND45(M,P) M(45,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND47(M,P) BOOST_PREPROCESSOR_REPEAT_2ND46(M,P) M(46,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND48(M,P) BOOST_PREPROCESSOR_REPEAT_2ND47(M,P) M(47,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND49(M,P) BOOST_PREPROCESSOR_REPEAT_2ND48(M,P) M(48,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND50(M,P) BOOST_PREPROCESSOR_REPEAT_2ND49(M,P) M(49,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND51(M,P) BOOST_PREPROCESSOR_REPEAT_2ND50(M,P) M(50,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND52(M,P) BOOST_PREPROCESSOR_REPEAT_2ND51(M,P) M(51,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND53(M,P) BOOST_PREPROCESSOR_REPEAT_2ND52(M,P) M(52,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND54(M,P) BOOST_PREPROCESSOR_REPEAT_2ND53(M,P) M(53,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND55(M,P) BOOST_PREPROCESSOR_REPEAT_2ND54(M,P) M(54,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND56(M,P) BOOST_PREPROCESSOR_REPEAT_2ND55(M,P) M(55,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND57(M,P) BOOST_PREPROCESSOR_REPEAT_2ND56(M,P) M(56,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND58(M,P) BOOST_PREPROCESSOR_REPEAT_2ND57(M,P) M(57,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND59(M,P) BOOST_PREPROCESSOR_REPEAT_2ND58(M,P) M(58,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND60(M,P) BOOST_PREPROCESSOR_REPEAT_2ND59(M,P) M(59,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND61(M,P) BOOST_PREPROCESSOR_REPEAT_2ND60(M,P) M(60,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND62(M,P) BOOST_PREPROCESSOR_REPEAT_2ND61(M,P) M(61,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND63(M,P) BOOST_PREPROCESSOR_REPEAT_2ND62(M,P) M(62,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND64(M,P) BOOST_PREPROCESSOR_REPEAT_2ND63(M,P) M(63,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND65(M,P) BOOST_PREPROCESSOR_REPEAT_2ND64(M,P) M(64,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND66(M,P) BOOST_PREPROCESSOR_REPEAT_2ND65(M,P) M(65,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND67(M,P) BOOST_PREPROCESSOR_REPEAT_2ND66(M,P) M(66,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND68(M,P) BOOST_PREPROCESSOR_REPEAT_2ND67(M,P) M(67,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND69(M,P) BOOST_PREPROCESSOR_REPEAT_2ND68(M,P) M(68,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND70(M,P) BOOST_PREPROCESSOR_REPEAT_2ND69(M,P) M(69,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND71(M,P) BOOST_PREPROCESSOR_REPEAT_2ND70(M,P) M(70,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND72(M,P) BOOST_PREPROCESSOR_REPEAT_2ND71(M,P) M(71,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND73(M,P) BOOST_PREPROCESSOR_REPEAT_2ND72(M,P) M(72,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND74(M,P) BOOST_PREPROCESSOR_REPEAT_2ND73(M,P) M(73,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND75(M,P) BOOST_PREPROCESSOR_REPEAT_2ND74(M,P) M(74,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND76(M,P) BOOST_PREPROCESSOR_REPEAT_2ND75(M,P) M(75,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND77(M,P) BOOST_PREPROCESSOR_REPEAT_2ND76(M,P) M(76,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND78(M,P) BOOST_PREPROCESSOR_REPEAT_2ND77(M,P) M(77,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND79(M,P) BOOST_PREPROCESSOR_REPEAT_2ND78(M,P) M(78,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND80(M,P) BOOST_PREPROCESSOR_REPEAT_2ND79(M,P) M(79,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND81(M,P) BOOST_PREPROCESSOR_REPEAT_2ND80(M,P) M(80,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND82(M,P) BOOST_PREPROCESSOR_REPEAT_2ND81(M,P) M(81,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND83(M,P) BOOST_PREPROCESSOR_REPEAT_2ND82(M,P) M(82,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND84(M,P) BOOST_PREPROCESSOR_REPEAT_2ND83(M,P) M(83,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND85(M,P) BOOST_PREPROCESSOR_REPEAT_2ND84(M,P) M(84,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND86(M,P) BOOST_PREPROCESSOR_REPEAT_2ND85(M,P) M(85,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND87(M,P) BOOST_PREPROCESSOR_REPEAT_2ND86(M,P) M(86,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND88(M,P) BOOST_PREPROCESSOR_REPEAT_2ND87(M,P) M(87,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND89(M,P) BOOST_PREPROCESSOR_REPEAT_2ND88(M,P) M(88,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND90(M,P) BOOST_PREPROCESSOR_REPEAT_2ND89(M,P) M(89,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND91(M,P) BOOST_PREPROCESSOR_REPEAT_2ND90(M,P) M(90,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND92(M,P) BOOST_PREPROCESSOR_REPEAT_2ND91(M,P) M(91,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND93(M,P) BOOST_PREPROCESSOR_REPEAT_2ND92(M,P) M(92,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND94(M,P) BOOST_PREPROCESSOR_REPEAT_2ND93(M,P) M(93,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND95(M,P) BOOST_PREPROCESSOR_REPEAT_2ND94(M,P) M(94,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND96(M,P) BOOST_PREPROCESSOR_REPEAT_2ND95(M,P) M(95,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND97(M,P) BOOST_PREPROCESSOR_REPEAT_2ND96(M,P) M(96,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND98(M,P) BOOST_PREPROCESSOR_REPEAT_2ND97(M,P) M(97,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND99(M,P) BOOST_PREPROCESSOR_REPEAT_2ND98(M,P) M(98,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND100(M,P) BOOST_PREPROCESSOR_REPEAT_2ND99(M,P) M(99,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND101(M,P) BOOST_PREPROCESSOR_REPEAT_2ND100(M,P) M(100,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND102(M,P) BOOST_PREPROCESSOR_REPEAT_2ND101(M,P) M(101,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND103(M,P) BOOST_PREPROCESSOR_REPEAT_2ND102(M,P) M(102,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND104(M,P) BOOST_PREPROCESSOR_REPEAT_2ND103(M,P) M(103,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND105(M,P) BOOST_PREPROCESSOR_REPEAT_2ND104(M,P) M(104,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND106(M,P) BOOST_PREPROCESSOR_REPEAT_2ND105(M,P) M(105,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND107(M,P) BOOST_PREPROCESSOR_REPEAT_2ND106(M,P) M(106,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND108(M,P) BOOST_PREPROCESSOR_REPEAT_2ND107(M,P) M(107,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND109(M,P) BOOST_PREPROCESSOR_REPEAT_2ND108(M,P) M(108,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND110(M,P) BOOST_PREPROCESSOR_REPEAT_2ND109(M,P) M(109,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND111(M,P) BOOST_PREPROCESSOR_REPEAT_2ND110(M,P) M(110,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND112(M,P) BOOST_PREPROCESSOR_REPEAT_2ND111(M,P) M(111,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND113(M,P) BOOST_PREPROCESSOR_REPEAT_2ND112(M,P) M(112,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND114(M,P) BOOST_PREPROCESSOR_REPEAT_2ND113(M,P) M(113,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND115(M,P) BOOST_PREPROCESSOR_REPEAT_2ND114(M,P) M(114,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND116(M,P) BOOST_PREPROCESSOR_REPEAT_2ND115(M,P) M(115,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND117(M,P) BOOST_PREPROCESSOR_REPEAT_2ND116(M,P) M(116,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND118(M,P) BOOST_PREPROCESSOR_REPEAT_2ND117(M,P) M(117,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND119(M,P) BOOST_PREPROCESSOR_REPEAT_2ND118(M,P) M(118,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND120(M,P) BOOST_PREPROCESSOR_REPEAT_2ND119(M,P) M(119,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND121(M,P) BOOST_PREPROCESSOR_REPEAT_2ND120(M,P) M(120,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND122(M,P) BOOST_PREPROCESSOR_REPEAT_2ND121(M,P) M(121,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND123(M,P) BOOST_PREPROCESSOR_REPEAT_2ND122(M,P) M(122,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND124(M,P) BOOST_PREPROCESSOR_REPEAT_2ND123(M,P) M(123,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND125(M,P) BOOST_PREPROCESSOR_REPEAT_2ND124(M,P) M(124,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND126(M,P) BOOST_PREPROCESSOR_REPEAT_2ND125(M,P) M(125,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND127(M,P) BOOST_PREPROCESSOR_REPEAT_2ND126(M,P) M(126,P)
#define BOOST_PREPROCESSOR_REPEAT_2ND128(M,P) BOOST_PREPROCESSOR_REPEAT_2ND127(M,P) M(127,P)
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,155 @@
#ifndef BOOST_PREPROCESSOR_REPEAT_3RD_HPP
#define BOOST_PREPROCESSOR_REPEAT_3RD_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/repeat_3rd.hpp">Click here to see the header.</a>
*/
//! Same as BOOST_PREPROCESSOR_REPEAT(), but implemented independently.
#define BOOST_PREPROCESSOR_REPEAT_3RD(N,M,P) BOOST_PREPROCESSOR_REPEAT_3RD_DELAY(N,M,P)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_REPEAT_3RD_DELAY(N,M,P) BOOST_PREPROCESSOR_REPEAT_3RD##N(M,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD0(M,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD1(M,P) M(0,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD2(M,P) M(0,P) M(1,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD3(M,P) BOOST_PREPROCESSOR_REPEAT_3RD2(M,P) M(2,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD4(M,P) BOOST_PREPROCESSOR_REPEAT_3RD3(M,P) M(3,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD5(M,P) BOOST_PREPROCESSOR_REPEAT_3RD4(M,P) M(4,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD6(M,P) BOOST_PREPROCESSOR_REPEAT_3RD5(M,P) M(5,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD7(M,P) BOOST_PREPROCESSOR_REPEAT_3RD6(M,P) M(6,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD8(M,P) BOOST_PREPROCESSOR_REPEAT_3RD7(M,P) M(7,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD9(M,P) BOOST_PREPROCESSOR_REPEAT_3RD8(M,P) M(8,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD10(M,P) BOOST_PREPROCESSOR_REPEAT_3RD9(M,P) M(9,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD11(M,P) BOOST_PREPROCESSOR_REPEAT_3RD10(M,P) M(10,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD12(M,P) BOOST_PREPROCESSOR_REPEAT_3RD11(M,P) M(11,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD13(M,P) BOOST_PREPROCESSOR_REPEAT_3RD12(M,P) M(12,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD14(M,P) BOOST_PREPROCESSOR_REPEAT_3RD13(M,P) M(13,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD15(M,P) BOOST_PREPROCESSOR_REPEAT_3RD14(M,P) M(14,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD16(M,P) BOOST_PREPROCESSOR_REPEAT_3RD15(M,P) M(15,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD17(M,P) BOOST_PREPROCESSOR_REPEAT_3RD16(M,P) M(16,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD18(M,P) BOOST_PREPROCESSOR_REPEAT_3RD17(M,P) M(17,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD19(M,P) BOOST_PREPROCESSOR_REPEAT_3RD18(M,P) M(18,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD20(M,P) BOOST_PREPROCESSOR_REPEAT_3RD19(M,P) M(19,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD21(M,P) BOOST_PREPROCESSOR_REPEAT_3RD20(M,P) M(20,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD22(M,P) BOOST_PREPROCESSOR_REPEAT_3RD21(M,P) M(21,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD23(M,P) BOOST_PREPROCESSOR_REPEAT_3RD22(M,P) M(22,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD24(M,P) BOOST_PREPROCESSOR_REPEAT_3RD23(M,P) M(23,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD25(M,P) BOOST_PREPROCESSOR_REPEAT_3RD24(M,P) M(24,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD26(M,P) BOOST_PREPROCESSOR_REPEAT_3RD25(M,P) M(25,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD27(M,P) BOOST_PREPROCESSOR_REPEAT_3RD26(M,P) M(26,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD28(M,P) BOOST_PREPROCESSOR_REPEAT_3RD27(M,P) M(27,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD29(M,P) BOOST_PREPROCESSOR_REPEAT_3RD28(M,P) M(28,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD30(M,P) BOOST_PREPROCESSOR_REPEAT_3RD29(M,P) M(29,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD31(M,P) BOOST_PREPROCESSOR_REPEAT_3RD30(M,P) M(30,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD32(M,P) BOOST_PREPROCESSOR_REPEAT_3RD31(M,P) M(31,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD33(M,P) BOOST_PREPROCESSOR_REPEAT_3RD32(M,P) M(32,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD34(M,P) BOOST_PREPROCESSOR_REPEAT_3RD33(M,P) M(33,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD35(M,P) BOOST_PREPROCESSOR_REPEAT_3RD34(M,P) M(34,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD36(M,P) BOOST_PREPROCESSOR_REPEAT_3RD35(M,P) M(35,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD37(M,P) BOOST_PREPROCESSOR_REPEAT_3RD36(M,P) M(36,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD38(M,P) BOOST_PREPROCESSOR_REPEAT_3RD37(M,P) M(37,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD39(M,P) BOOST_PREPROCESSOR_REPEAT_3RD38(M,P) M(38,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD40(M,P) BOOST_PREPROCESSOR_REPEAT_3RD39(M,P) M(39,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD41(M,P) BOOST_PREPROCESSOR_REPEAT_3RD40(M,P) M(40,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD42(M,P) BOOST_PREPROCESSOR_REPEAT_3RD41(M,P) M(41,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD43(M,P) BOOST_PREPROCESSOR_REPEAT_3RD42(M,P) M(42,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD44(M,P) BOOST_PREPROCESSOR_REPEAT_3RD43(M,P) M(43,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD45(M,P) BOOST_PREPROCESSOR_REPEAT_3RD44(M,P) M(44,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD46(M,P) BOOST_PREPROCESSOR_REPEAT_3RD45(M,P) M(45,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD47(M,P) BOOST_PREPROCESSOR_REPEAT_3RD46(M,P) M(46,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD48(M,P) BOOST_PREPROCESSOR_REPEAT_3RD47(M,P) M(47,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD49(M,P) BOOST_PREPROCESSOR_REPEAT_3RD48(M,P) M(48,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD50(M,P) BOOST_PREPROCESSOR_REPEAT_3RD49(M,P) M(49,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD51(M,P) BOOST_PREPROCESSOR_REPEAT_3RD50(M,P) M(50,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD52(M,P) BOOST_PREPROCESSOR_REPEAT_3RD51(M,P) M(51,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD53(M,P) BOOST_PREPROCESSOR_REPEAT_3RD52(M,P) M(52,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD54(M,P) BOOST_PREPROCESSOR_REPEAT_3RD53(M,P) M(53,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD55(M,P) BOOST_PREPROCESSOR_REPEAT_3RD54(M,P) M(54,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD56(M,P) BOOST_PREPROCESSOR_REPEAT_3RD55(M,P) M(55,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD57(M,P) BOOST_PREPROCESSOR_REPEAT_3RD56(M,P) M(56,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD58(M,P) BOOST_PREPROCESSOR_REPEAT_3RD57(M,P) M(57,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD59(M,P) BOOST_PREPROCESSOR_REPEAT_3RD58(M,P) M(58,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD60(M,P) BOOST_PREPROCESSOR_REPEAT_3RD59(M,P) M(59,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD61(M,P) BOOST_PREPROCESSOR_REPEAT_3RD60(M,P) M(60,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD62(M,P) BOOST_PREPROCESSOR_REPEAT_3RD61(M,P) M(61,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD63(M,P) BOOST_PREPROCESSOR_REPEAT_3RD62(M,P) M(62,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD64(M,P) BOOST_PREPROCESSOR_REPEAT_3RD63(M,P) M(63,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD65(M,P) BOOST_PREPROCESSOR_REPEAT_3RD64(M,P) M(64,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD66(M,P) BOOST_PREPROCESSOR_REPEAT_3RD65(M,P) M(65,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD67(M,P) BOOST_PREPROCESSOR_REPEAT_3RD66(M,P) M(66,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD68(M,P) BOOST_PREPROCESSOR_REPEAT_3RD67(M,P) M(67,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD69(M,P) BOOST_PREPROCESSOR_REPEAT_3RD68(M,P) M(68,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD70(M,P) BOOST_PREPROCESSOR_REPEAT_3RD69(M,P) M(69,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD71(M,P) BOOST_PREPROCESSOR_REPEAT_3RD70(M,P) M(70,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD72(M,P) BOOST_PREPROCESSOR_REPEAT_3RD71(M,P) M(71,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD73(M,P) BOOST_PREPROCESSOR_REPEAT_3RD72(M,P) M(72,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD74(M,P) BOOST_PREPROCESSOR_REPEAT_3RD73(M,P) M(73,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD75(M,P) BOOST_PREPROCESSOR_REPEAT_3RD74(M,P) M(74,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD76(M,P) BOOST_PREPROCESSOR_REPEAT_3RD75(M,P) M(75,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD77(M,P) BOOST_PREPROCESSOR_REPEAT_3RD76(M,P) M(76,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD78(M,P) BOOST_PREPROCESSOR_REPEAT_3RD77(M,P) M(77,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD79(M,P) BOOST_PREPROCESSOR_REPEAT_3RD78(M,P) M(78,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD80(M,P) BOOST_PREPROCESSOR_REPEAT_3RD79(M,P) M(79,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD81(M,P) BOOST_PREPROCESSOR_REPEAT_3RD80(M,P) M(80,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD82(M,P) BOOST_PREPROCESSOR_REPEAT_3RD81(M,P) M(81,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD83(M,P) BOOST_PREPROCESSOR_REPEAT_3RD82(M,P) M(82,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD84(M,P) BOOST_PREPROCESSOR_REPEAT_3RD83(M,P) M(83,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD85(M,P) BOOST_PREPROCESSOR_REPEAT_3RD84(M,P) M(84,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD86(M,P) BOOST_PREPROCESSOR_REPEAT_3RD85(M,P) M(85,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD87(M,P) BOOST_PREPROCESSOR_REPEAT_3RD86(M,P) M(86,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD88(M,P) BOOST_PREPROCESSOR_REPEAT_3RD87(M,P) M(87,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD89(M,P) BOOST_PREPROCESSOR_REPEAT_3RD88(M,P) M(88,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD90(M,P) BOOST_PREPROCESSOR_REPEAT_3RD89(M,P) M(89,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD91(M,P) BOOST_PREPROCESSOR_REPEAT_3RD90(M,P) M(90,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD92(M,P) BOOST_PREPROCESSOR_REPEAT_3RD91(M,P) M(91,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD93(M,P) BOOST_PREPROCESSOR_REPEAT_3RD92(M,P) M(92,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD94(M,P) BOOST_PREPROCESSOR_REPEAT_3RD93(M,P) M(93,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD95(M,P) BOOST_PREPROCESSOR_REPEAT_3RD94(M,P) M(94,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD96(M,P) BOOST_PREPROCESSOR_REPEAT_3RD95(M,P) M(95,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD97(M,P) BOOST_PREPROCESSOR_REPEAT_3RD96(M,P) M(96,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD98(M,P) BOOST_PREPROCESSOR_REPEAT_3RD97(M,P) M(97,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD99(M,P) BOOST_PREPROCESSOR_REPEAT_3RD98(M,P) M(98,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD100(M,P) BOOST_PREPROCESSOR_REPEAT_3RD99(M,P) M(99,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD101(M,P) BOOST_PREPROCESSOR_REPEAT_3RD100(M,P) M(100,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD102(M,P) BOOST_PREPROCESSOR_REPEAT_3RD101(M,P) M(101,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD103(M,P) BOOST_PREPROCESSOR_REPEAT_3RD102(M,P) M(102,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD104(M,P) BOOST_PREPROCESSOR_REPEAT_3RD103(M,P) M(103,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD105(M,P) BOOST_PREPROCESSOR_REPEAT_3RD104(M,P) M(104,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD106(M,P) BOOST_PREPROCESSOR_REPEAT_3RD105(M,P) M(105,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD107(M,P) BOOST_PREPROCESSOR_REPEAT_3RD106(M,P) M(106,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD108(M,P) BOOST_PREPROCESSOR_REPEAT_3RD107(M,P) M(107,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD109(M,P) BOOST_PREPROCESSOR_REPEAT_3RD108(M,P) M(108,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD110(M,P) BOOST_PREPROCESSOR_REPEAT_3RD109(M,P) M(109,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD111(M,P) BOOST_PREPROCESSOR_REPEAT_3RD110(M,P) M(110,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD112(M,P) BOOST_PREPROCESSOR_REPEAT_3RD111(M,P) M(111,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD113(M,P) BOOST_PREPROCESSOR_REPEAT_3RD112(M,P) M(112,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD114(M,P) BOOST_PREPROCESSOR_REPEAT_3RD113(M,P) M(113,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD115(M,P) BOOST_PREPROCESSOR_REPEAT_3RD114(M,P) M(114,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD116(M,P) BOOST_PREPROCESSOR_REPEAT_3RD115(M,P) M(115,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD117(M,P) BOOST_PREPROCESSOR_REPEAT_3RD116(M,P) M(116,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD118(M,P) BOOST_PREPROCESSOR_REPEAT_3RD117(M,P) M(117,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD119(M,P) BOOST_PREPROCESSOR_REPEAT_3RD118(M,P) M(118,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD120(M,P) BOOST_PREPROCESSOR_REPEAT_3RD119(M,P) M(119,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD121(M,P) BOOST_PREPROCESSOR_REPEAT_3RD120(M,P) M(120,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD122(M,P) BOOST_PREPROCESSOR_REPEAT_3RD121(M,P) M(121,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD123(M,P) BOOST_PREPROCESSOR_REPEAT_3RD122(M,P) M(122,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD124(M,P) BOOST_PREPROCESSOR_REPEAT_3RD123(M,P) M(123,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD125(M,P) BOOST_PREPROCESSOR_REPEAT_3RD124(M,P) M(124,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD126(M,P) BOOST_PREPROCESSOR_REPEAT_3RD125(M,P) M(125,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD127(M,P) BOOST_PREPROCESSOR_REPEAT_3RD126(M,P) M(126,P)
#define BOOST_PREPROCESSOR_REPEAT_3RD128(M,P) BOOST_PREPROCESSOR_REPEAT_3RD127(M,P) M(127,P)
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,52 @@
#ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP
#define BOOST_PREPROCESSOR_STRINGIZE_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/stringize.hpp">Click here to see the header.</a>
*/
//! Delays the stringization of E.
/*!
Example:
<PRE>\verbatim
#define NOTE(STR)\
message(__FILE__ "(" BOOST_PREPROCESSOR_STRINGIZE(__LINE__) ") : " STR)
// ...
#pragma NOTE("TBD!")
\endverbatim</PRE>
The above expands to:
<PRE>\verbatim
#pragma message("examples.cpp" "(" "20" ") : " "TBD!")
\endverbatim</PRE>
The use of BOOST_PREPROCESSOR_STRINGIZE() above lets the preprocessor expand
the __LINE__ before stringizing it. If # would be used directly, the code
would expand to:
<PRE>\verbatim
#pragma message("examples.cpp" "(" "__LINE__" ") : " "TBD!")
\endverbatim</PRE>
*/
#define BOOST_PREPROCESSOR_STRINGIZE(E) BOOST_PREPROCESSOR_STRINGIZE_DELAY(E)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_STRINGIZE_DELAY(E) #E
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,95 @@
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
#define BOOST_PREPROCESSOR_TUPLE_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/tuple.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
# include <boost/preprocessor/identity.hpp>
#endif
//! Expands to the I:th element of an N-tuple.
/*!
Examples of tuples:
<PRE>\verbatim
2-tuple: (A, B)
3-tuple: (1, 2, 3)
4-tuple: (A B C, D, EF, 34)
\endverbatim</PRE>
Example:
<PRE>\verbatim
BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,(A,B))
\endverbatim</PRE>
The above expands to:
<PRE>\verbatim
B
\endverbatim</PRE>
*/
#define BOOST_PREPROCESSOR_TUPLE_ELEM(N,I,T) BOOST_PREPROCESSOR_TUPLE_ELEM_DELAY(N,I,T)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_TUPLE_ELEM_DELAY(N,I,T) BOOST_PREPROCESSOR_IDENTITY(BOOST_PREPROCESSOR_TUPLE##N##_ELEM##I T)()
#define BOOST_PREPROCESSOR_TUPLE1_ELEM0(E0) E0
#define BOOST_PREPROCESSOR_TUPLE2_ELEM0(E0,E1) E0
#define BOOST_PREPROCESSOR_TUPLE2_ELEM1(E0,E1) E1
#define BOOST_PREPROCESSOR_TUPLE3_ELEM0(E0,E1,E2) E0
#define BOOST_PREPROCESSOR_TUPLE3_ELEM1(E0,E1,E2) E1
#define BOOST_PREPROCESSOR_TUPLE3_ELEM2(E0,E1,E2) E2
#define BOOST_PREPROCESSOR_TUPLE4_ELEM0(E0,E1,E2,E3) E0
#define BOOST_PREPROCESSOR_TUPLE4_ELEM1(E0,E1,E2,E3) E1
#define BOOST_PREPROCESSOR_TUPLE4_ELEM2(E0,E1,E2,E3) E2
#define BOOST_PREPROCESSOR_TUPLE4_ELEM3(E0,E1,E2,E3) E3
#define BOOST_PREPROCESSOR_TUPLE5_ELEM0(E0,E1,E2,E3,E4) E0
#define BOOST_PREPROCESSOR_TUPLE5_ELEM1(E0,E1,E2,E3,E4) E1
#define BOOST_PREPROCESSOR_TUPLE5_ELEM2(E0,E1,E2,E3,E4) E2
#define BOOST_PREPROCESSOR_TUPLE5_ELEM3(E0,E1,E2,E3,E4) E3
#define BOOST_PREPROCESSOR_TUPLE5_ELEM4(E0,E1,E2,E3,E4) E4
#define BOOST_PREPROCESSOR_TUPLE6_ELEM0(E0,E1,E2,E3,E4,E5) E0
#define BOOST_PREPROCESSOR_TUPLE6_ELEM1(E0,E1,E2,E3,E4,E5) E1
#define BOOST_PREPROCESSOR_TUPLE6_ELEM2(E0,E1,E2,E3,E4,E5) E2
#define BOOST_PREPROCESSOR_TUPLE6_ELEM3(E0,E1,E2,E3,E4,E5) E3
#define BOOST_PREPROCESSOR_TUPLE6_ELEM4(E0,E1,E2,E3,E4,E5) E4
#define BOOST_PREPROCESSOR_TUPLE6_ELEM5(E0,E1,E2,E3,E4,E5) E5
#define BOOST_PREPROCESSOR_TUPLE7_ELEM0(E0,E1,E2,E3,E4,E5,E6) E0
#define BOOST_PREPROCESSOR_TUPLE7_ELEM1(E0,E1,E2,E3,E4,E5,E6) E1
#define BOOST_PREPROCESSOR_TUPLE7_ELEM2(E0,E1,E2,E3,E4,E5,E6) E2
#define BOOST_PREPROCESSOR_TUPLE7_ELEM3(E0,E1,E2,E3,E4,E5,E6) E3
#define BOOST_PREPROCESSOR_TUPLE7_ELEM4(E0,E1,E2,E3,E4,E5,E6) E4
#define BOOST_PREPROCESSOR_TUPLE7_ELEM5(E0,E1,E2,E3,E4,E5,E6) E5
#define BOOST_PREPROCESSOR_TUPLE7_ELEM6(E0,E1,E2,E3,E4,E5,E6) E6
#define BOOST_PREPROCESSOR_TUPLE8_ELEM0(E0,E1,E2,E3,E4,E5,E6,E7) E0
#define BOOST_PREPROCESSOR_TUPLE8_ELEM1(E0,E1,E2,E3,E4,E5,E6,E7) E1
#define BOOST_PREPROCESSOR_TUPLE8_ELEM2(E0,E1,E2,E3,E4,E5,E6,E7) E2
#define BOOST_PREPROCESSOR_TUPLE8_ELEM3(E0,E1,E2,E3,E4,E5,E6,E7) E3
#define BOOST_PREPROCESSOR_TUPLE8_ELEM4(E0,E1,E2,E3,E4,E5,E6,E7) E4
#define BOOST_PREPROCESSOR_TUPLE8_ELEM5(E0,E1,E2,E3,E4,E5,E6,E7) E5
#define BOOST_PREPROCESSOR_TUPLE8_ELEM6(E0,E1,E2,E3,E4,E5,E6,E7) E6
#define BOOST_PREPROCESSOR_TUPLE8_ELEM7(E0,E1,E2,E3,E4,E5,E6,E7) E7
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,158 @@
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
#define BOOST_PREPROCESSOR_WHILE_HPP
// Copyright (C) 2001
// Housemarque, Inc.
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/while.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_IF_HPP
# include <boost/preprocessor/if.hpp>
#endif
//! CURRENTLY THIS FEATURE IS FOR INTERNAL USE ONLY!
#define BOOST_PREPROCESSOR_WHILE(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE0,-)(C,F,F(X)),X)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_WHILE0(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE1,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE1(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE2,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE2(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE3,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE3(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE4,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE4(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE5,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE5(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE6,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE6(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE7,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE7(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE8,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE8(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE9,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE9(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE10,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE10(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE11,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE11(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE12,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE12(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE13,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE13(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE14,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE14(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE15,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE15(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE16,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE16(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE17,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE17(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE18,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE18(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE19,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE19(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE20,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE20(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE21,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE21(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE22,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE22(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE23,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE23(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE24,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE24(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE25,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE25(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE26,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE26(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE27,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE27(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE28,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE28(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE29,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE29(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE30,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE30(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE31,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE31(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE32,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE32(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE33,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE33(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE34,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE34(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE35,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE35(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE36,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE36(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE37,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE37(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE38,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE38(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE39,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE39(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE40,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE40(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE41,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE41(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE42,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE42(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE43,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE43(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE44,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE44(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE45,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE45(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE46,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE46(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE47,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE47(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE48,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE48(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE49,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE49(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE50,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE50(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE51,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE51(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE52,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE52(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE53,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE53(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE54,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE54(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE55,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE55(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE56,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE56(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE57,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE57(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE58,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE58(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE59,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE59(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE60,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE60(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE61,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE61(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE62,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE62(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE63,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE63(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE64,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE64(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE65,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE65(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE66,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE66(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE67,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE67(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE68,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE68(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE69,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE69(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE70,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE70(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE71,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE71(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE72,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE72(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE73,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE73(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE74,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE74(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE75,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE75(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE76,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE76(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE77,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE77(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE78,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE78(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE79,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE79(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE80,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE80(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE81,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE81(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE82,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE82(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE83,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE83(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE84,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE84(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE85,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE85(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE86,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE86(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE87,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE87(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE88,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE88(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE89,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE89(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE90,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE90(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE91,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE91(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE92,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE92(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE93,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE93(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE94,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE94(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE95,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE95(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE96,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE96(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE97,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE97(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE98,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE98(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE99,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE99(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE100,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE100(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE101,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE101(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE102,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE102(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE103,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE103(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE104,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE104(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE105,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE105(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE106,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE106(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE107,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE107(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE108,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE108(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE109,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE109(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE110,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE110(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE111,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE111(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE112,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE112(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE113,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE113(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE114,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE114(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE115,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE115(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE116,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE116(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE117,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE117(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE118,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE118(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE119,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE119(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE120,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE120(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE121,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE121(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE122,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE122(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE123,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE123(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE124,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE124(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE125,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE125(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE126,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE126(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE127,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE127(C,F,X) BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_IF(C(X),BOOST_PREPROCESSOR_WHILE128,-)(C,F,F(X)),X)
#define BOOST_PREPROCESSOR_WHILE128(C,F,X) RECURSION DEPTH EXCEEDED!
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif