From faaa55709be4042c662553e862fc139e36b8a34a Mon Sep 17 00:00:00 2001 From: Paul Mensonides Date: Sun, 8 Sep 2002 21:15:30 +0000 Subject: [PATCH] workaround for insidious bcc bug [SVN r15212] --- include/boost/preprocessor/array/size.hpp | 2 +- .../preprocessor/comparison/not_equal.hpp | 518 +++++++++--------- include/boost/preprocessor/config/config.hpp | 5 +- include/boost/preprocessor/control/while.hpp | 28 +- .../boost/preprocessor/facilities/apply.hpp | 10 +- include/boost/preprocessor/list/adt.hpp | 15 +- include/boost/preprocessor/logical/bool.hpp | 2 +- include/boost/preprocessor/repetition/for.hpp | 12 +- .../boost/preprocessor/repetition/repeat.hpp | 13 +- include/boost/preprocessor/tuple/elem.hpp | 7 +- regression/array.cpp | 10 - regression/iteration.cpp | 2 +- 12 files changed, 328 insertions(+), 296 deletions(-) diff --git a/include/boost/preprocessor/array/size.hpp b/include/boost/preprocessor/array/size.hpp index e8c094d..eac1108 100644 --- a/include/boost/preprocessor/array/size.hpp +++ b/include/boost/preprocessor/array/size.hpp @@ -26,7 +26,7 @@ # define BOOST_PP_EVIL_ARRAY_SIZE_D(par) BOOST_PP_ARRAY_SIZE_I ## par # endif # -# if BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_STRICT +# if BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_STRICT || BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_BCC # define BOOST_PP_ARRAY_SIZE_I(array) BOOST_PP_ARRAY_SIZE_X array # elif BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW # define BOOST_PP_ARRAY_SIZE_I(array) BOOST_PP_ARRAY_SIZE_X ## array diff --git a/include/boost/preprocessor/comparison/not_equal.hpp b/include/boost/preprocessor/comparison/not_equal.hpp index 0182d26..b3796bc 100644 --- a/include/boost/preprocessor/comparison/not_equal.hpp +++ b/include/boost/preprocessor/comparison/not_equal.hpp @@ -24,6 +24,8 @@ # # if BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_IDEAL # define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_IS_NULLARY(BOOST_PP_CAT(BOOST_PP_NOT_EQUAL_, x)(0, BOOST_PP_CAT(BOOST_PP_NOT_EQUAL_, y))) +# elif BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_BCC +# include # else # if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW # define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_I(x, y) @@ -38,262 +40,264 @@ # # define BOOST_PP_NOT_EQUAL_D(d, x, y) BOOST_PP_NOT_EQUAL(x, y) # -# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_BCC +# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, (), y(1, BOOST_PP_NIL)) +# endif # # endif diff --git a/include/boost/preprocessor/config/config.hpp b/include/boost/preprocessor/config/config.hpp index d9a42a7..f101fc1 100644 --- a/include/boost/preprocessor/config/config.hpp +++ b/include/boost/preprocessor/config/config.hpp @@ -20,7 +20,8 @@ # # define BOOST_PP_CONFIG_MSVC 0x0004 # define BOOST_PP_CONFIG_MWCW 0x0008 -# define BOOST_PP_CONFIG_EDG 0x0010 +# define BOOST_PP_CONFIG_BCC 0x0010 +# define BOOST_PP_CONFIG_EDG 0x0020 # # ifndef BOOST_PP_CONFIG_FLAGS # if defined(__EDG__) @@ -29,6 +30,8 @@ # define BOOST_PP_CONFIG_FLAGS (BOOST_PP_CONFIG_MSVC) # elif defined(__MWERKS__) # define BOOST_PP_CONFIG_FLAGS (BOOST_PP_CONFIG_MWCW) +# elif defined(__BORLANDC__) +# define BOOST_PP_CONFIG_FLAGS (BOOST_PP_CONFIG_BCC) # else # define BOOST_PP_CONFIG_FLAGS (BOOST_PP_CONFIG_STRICT | BOOST_PP_CONFIG_IDEAL) # endif diff --git a/include/boost/preprocessor/control/while.hpp b/include/boost/preprocessor/control/while.hpp index e8d23a1..a5987a8 100644 --- a/include/boost/preprocessor/control/while.hpp +++ b/include/boost/preprocessor/control/while.hpp @@ -35,19 +35,23 @@ # # define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) # -# if BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_EDG -# define BOOST_PP_WHILE_P(n) BOOST_PP_IS_NULLARY(BOOST_PP_WHILE_ID(BOOST_PP_WHILE_FAST_1 BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, ()) BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, (), BOOST_PP_NIL) BOOST_PP_LIST_FOLD_RIGHT_ ## n(BOOST_PP_NIL, (), BOOST_PP_NIL))) -# elif ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW -# define BOOST_PP_WHILE_P(n) BOOST_PP_IS_NULLARY(BOOST_PP_WHILE_ID(BOOST_PP_WHILE_FAST_2 BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, ()) BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, (), BOOST_PP_NIL))) -# else -# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_IS_NULLARY(BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, ())), BOOST_PP_IS_NULLARY(BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, (), BOOST_PP_NIL))) -# endif +# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_BCC +# if BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_EDG +# define BOOST_PP_WHILE_P(n) BOOST_PP_IS_NULLARY(BOOST_PP_WHILE_ID(BOOST_PP_WHILE_FAST_1 BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, ()) BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, (), BOOST_PP_NIL) BOOST_PP_LIST_FOLD_RIGHT_ ## n(BOOST_PP_NIL, (), BOOST_PP_NIL))) +# elif ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW +# define BOOST_PP_WHILE_P(n) BOOST_PP_IS_NULLARY(BOOST_PP_WHILE_ID(BOOST_PP_WHILE_FAST_2 BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, ()) BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, (), BOOST_PP_NIL))) +# else +# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_IS_NULLARY(BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, ())), BOOST_PP_IS_NULLARY(BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, (), BOOST_PP_NIL))) +# endif # -# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW -# define BOOST_PP_WHILE_ID(x) x -# define BOOST_PP_WHILE_FAST_1() BOOST_PP_WHILE_FAST_2 -# define BOOST_PP_WHILE_FAST_2() BOOST_PP_WHILE_FAST_3 -# define BOOST_PP_WHILE_FAST_3() () +# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW +# define BOOST_PP_WHILE_ID(x) x +# define BOOST_PP_WHILE_FAST_1() BOOST_PP_WHILE_FAST_2 +# define BOOST_PP_WHILE_FAST_2() BOOST_PP_WHILE_FAST_3 +# define BOOST_PP_WHILE_FAST_3() () +# endif +# else +# include # endif # # define BOOST_PP_WHILE_F(d, _) 0 diff --git a/include/boost/preprocessor/facilities/apply.hpp b/include/boost/preprocessor/facilities/apply.hpp index 239ae50..a6a630a 100644 --- a/include/boost/preprocessor/facilities/apply.hpp +++ b/include/boost/preprocessor/facilities/apply.hpp @@ -21,12 +21,18 @@ # # /* BOOST_PP_APPLY */ # -# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_EDG +# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_EDG && ~BOOST_PP_CONFIG & BOOST_PP_CONFIG_BCC # define BOOST_PP_APPLY BOOST_PP_APPLY_I # else # define BOOST_PP_APPLY(x) BOOST_PP_APPLY_I(x) # endif # -# define BOOST_PP_APPLY_I(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x) +# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_BCC +# define BOOST_PP_APPLY_I(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x) +# else +# define BOOST_PP_APPLY_I(x) BOOST_PP_APPLY_ ## x +# define BOOST_PP_APPLY_(x) x +# define BOOST_PP_APPLY_BOOST_PP_NIL +# endif # # endif diff --git a/include/boost/preprocessor/list/adt.hpp b/include/boost/preprocessor/list/adt.hpp index f57a025..49b4ec8 100644 --- a/include/boost/preprocessor/list/adt.hpp +++ b/include/boost/preprocessor/list/adt.hpp @@ -54,10 +54,21 @@ # # /* BOOST_PP_LIST_IS_CONS */ # -# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list) +# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_BCC +# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list) +# else +# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_LIST_IS_CONS_D(list) +# define BOOST_PP_LIST_IS_CONS_D(list) BOOST_PP_LIST_IS_CONS_ ## list +# define BOOST_PP_LIST_IS_CONS_(head, tail) 1 +# define BOOST_PP_LIST_IS_CONS_BOOST_PP_NIL 0 +# endif # # /* BOOST_PP_LIST_IS_NIL */ # -# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list)) +# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_BCC +# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list)) +# else +# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_LIST_IS_CONS(list)) +# endif # # endif diff --git a/include/boost/preprocessor/logical/bool.hpp b/include/boost/preprocessor/logical/bool.hpp index 55ea9cf..021caec 100644 --- a/include/boost/preprocessor/logical/bool.hpp +++ b/include/boost/preprocessor/logical/bool.hpp @@ -22,7 +22,7 @@ # # /* BOOST_PP_BOOL */ # -# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_EDG +# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_EDG && ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_BCC # if BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_IDEAL # define BOOST_PP_BOOL(x) BOOST_PP_COMPL(BOOST_PP_IS_NULLARY(BOOST_PP_CAT(BOOST_PP_BOOL_, x))) # else diff --git a/include/boost/preprocessor/repetition/for.hpp b/include/boost/preprocessor/repetition/for.hpp index 31dba93..9922b98 100644 --- a/include/boost/preprocessor/repetition/for.hpp +++ b/include/boost/preprocessor/repetition/for.hpp @@ -28,11 +28,15 @@ # endif # # define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256)) -# define BOOST_PP_FOR_P(n) BOOST_PP_IS_NULLARY(BOOST_PP_FOR_ ## n(1, BOOST_PP_FOR_SR_P, BOOST_PP_FOR_SR_O, BOOST_PP_FOR_SR_M)) # -# define BOOST_PP_FOR_SR_P(r, s) s -# define BOOST_PP_FOR_SR_O(r, s) 0 -# define BOOST_PP_FOR_SR_M(r, s) () +# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_BCC +# define BOOST_PP_FOR_P(n) BOOST_PP_IS_NULLARY(BOOST_PP_FOR_ ## n(1, BOOST_PP_FOR_SR_P, BOOST_PP_FOR_SR_O, BOOST_PP_FOR_SR_M)) +# define BOOST_PP_FOR_SR_P(r, s) s +# define BOOST_PP_FOR_SR_O(r, s) 0 +# define BOOST_PP_FOR_SR_M(r, s) () +# else +# include +# endif # # define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_ERROR(0x0002) # diff --git a/include/boost/preprocessor/repetition/repeat.hpp b/include/boost/preprocessor/repetition/repeat.hpp index 0980a47..7579afa 100644 --- a/include/boost/preprocessor/repetition/repeat.hpp +++ b/include/boost/preprocessor/repetition/repeat.hpp @@ -29,8 +29,17 @@ # # define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)) # -# define BOOST_PP_REPEAT_P(n) BOOST_PP_IS_NULLARY(BOOST_PP_REPEAT_ ## n(1, BOOST_PP_REPEAT_M, BOOST_PP_NIL)) -# define BOOST_PP_REPEAT_M(z, n, _) () +# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_BCC +# define BOOST_PP_REPEAT_P(n) BOOST_PP_IS_NULLARY(BOOST_PP_REPEAT_ ## n(1, BOOST_PP_REPEAT_M, BOOST_PP_NIL)) +# define BOOST_PP_REPEAT_M(z, n, _) () +# else +# define BOOST_PP_REPEAT_P(n) BOOST_PP_CAT(BOOST_PP_HACKED_REPEAT_, BOOST_PP_REPEAT_ ## n(1, BOOST_PP_REPEAT_M, BOOST_PP_NIL)) +# define BOOST_PP_REPEAT_M(z, n, _) BOOST_PP_NIL +# define BOOST_PP_HACKED_REPEAT_BOOST_PP_NIL 1 +# define BOOST_PP_HACKED_REPEAT_BOOST_PP_REPEAT_1(c, m, d) 0 +# define BOOST_PP_HACKED_REPEAT_BOOST_PP_REPEAT_2(c, m, d) 0 +# define BOOST_PP_HACKED_REPEAT_BOOST_PP_REPEAT_3(c, m, d) 0 +# endif # # if BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_IDEAL # define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_CAT(BOOST_PP_REPEAT_1_, c)(m, d) diff --git a/include/boost/preprocessor/tuple/elem.hpp b/include/boost/preprocessor/tuple/elem.hpp index 3bb87a8..546a288 100644 --- a/include/boost/preprocessor/tuple/elem.hpp +++ b/include/boost/preprocessor/tuple/elem.hpp @@ -21,9 +21,10 @@ # # /* BOOST_PP_TUPLE_ELEM */ # -# if BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_IDEAL -# define BOOST_PP_TUPLE_ELEM(size, i, tuple) BOOST_PP_TUPLE_ELEM_D(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_EX_, size) tuple, i) -# define BOOST_PP_TUPLE_ELEM_D(tuple, i) BOOST_PP_TUPLE_ELEM_ ## i tuple +# if BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_IDEAL || BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_BCC +# define BOOST_PP_TUPLE_ELEM(size, i, tuple) BOOST_PP_TUPLE_ELEM_D(size, i, tuple) +# define BOOST_PP_TUPLE_ELEM_D(size, i, tuple) BOOST_PP_TUPLE_ELEM_D_II(BOOST_PP_TUPLE_ELEM_EX_ ## size tuple, i) +# define BOOST_PP_TUPLE_ELEM_D_II(tuple, i) BOOST_PP_TUPLE_ELEM_ ## i tuple # elif ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW # define BOOST_PP_TUPLE_ELEM(size, index, tuple) BOOST_PP_TUPLE_ELEM_I(size, index, tuple) # define BOOST_PP_TUPLE_ELEM_I(size, i, tuple) BOOST_PP_TUPLE_ELEM_II(BOOST_PP_TUPLE_ELEM_EX_ ## size, i, tuple) diff --git a/regression/array.cpp b/regression/array.cpp index 8341521..a093c76 100644 --- a/regression/array.cpp +++ b/regression/array.cpp @@ -20,17 +20,7 @@ BEGIN BOOST_PP_ARRAY_ELEM(1, ARRAY) == 1 END BEGIN BOOST_PP_ARRAY_ELEM(2, (5, (0, 1, 2, 3, 4))) == 2 END -# define P1 (3, -# define P2 ( -# define P3 0, 1 -# define P4 , 2) -# define P5 ) - -BEGIN BOOST_PP_ARRAY_ELEM(0, P1 P2 P3 P4 P5) == 0 END - // size BEGIN BOOST_PP_ARRAY_SIZE(ARRAY) == 3 END BEGIN BOOST_PP_ARRAY_SIZE((5, (0, 1, 2, 3, 4))) == 5 END - -BEGIN BOOST_PP_ARRAY_SIZE(P1 P2 P3 P4 P5) == 5 END diff --git a/regression/iteration.cpp b/regression/iteration.cpp index 3f70e67..d7d7949 100644 --- a/regression/iteration.cpp +++ b/regression/iteration.cpp @@ -24,7 +24,7 @@ # define BOOST_PP_LOCAL_LIMITS (5, 1) # include BOOST_PP_LOCAL_ITERATE() # -# define BOOST_PP_INDIRECT_SELF "iteration.cpp" // +# define BOOST_PP_INDIRECT_SELF # include BOOST_PP_INCLUDE_SELF() # # else