Initial work for G-code sender and more intensive usage of Boost

This commit is contained in:
Alessandro Ranellucci 2014-11-26 22:30:25 +01:00
parent 43cbad8867
commit 11dd67ab34
1649 changed files with 1860 additions and 1642 deletions

View file

@ -0,0 +1,49 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_CAT_HPP
# define BOOST_PREPROCESSOR_SEQ_CAT_HPP
#
# include <boost/preprocessor/arithmetic/dec.hpp>
# include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/control/if.hpp>
# include <boost/preprocessor/seq/fold_left.hpp>
# include <boost/preprocessor/seq/seq.hpp>
# include <boost/preprocessor/seq/size.hpp>
# include <boost/preprocessor/tuple/eat.hpp>
#
# /* BOOST_PP_SEQ_CAT */
#
# define BOOST_PP_SEQ_CAT(seq) \
BOOST_PP_IF( \
BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \
BOOST_PP_SEQ_CAT_I, \
BOOST_PP_SEQ_HEAD \
)(seq) \
/**/
# define BOOST_PP_SEQ_CAT_I(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq))
#
# define BOOST_PP_SEQ_CAT_O(s, st, elem) BOOST_PP_SEQ_CAT_O_I(st, elem)
# define BOOST_PP_SEQ_CAT_O_I(a, b) a ## b
#
# /* BOOST_PP_SEQ_CAT_S */
#
# define BOOST_PP_SEQ_CAT_S(s, seq) \
BOOST_PP_IF( \
BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \
BOOST_PP_SEQ_CAT_S_I_A, \
BOOST_PP_SEQ_CAT_S_I_B \
)(s, seq) \
/**/
# define BOOST_PP_SEQ_CAT_S_I_A(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq))
# define BOOST_PP_SEQ_CAT_S_I_B(s, seq) BOOST_PP_SEQ_HEAD(seq)
#
# endif

View file

@ -0,0 +1,284 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP
# define BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP
#
# include <boost/preprocessor/config/config.hpp>
#
# /* BOOST_PP_SEQ_SPLIT */
#
# define BOOST_PP_SEQ_SPLIT(n, seq) BOOST_PP_SEQ_SPLIT_D(n, seq)
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
# define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n seq)
# else
# define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n ## seq)
# endif
#
# define BOOST_PP_SEQ_SPLIT_1(x) (x),
# define BOOST_PP_SEQ_SPLIT_2(x) (x) BOOST_PP_SEQ_SPLIT_1
# define BOOST_PP_SEQ_SPLIT_3(x) (x) BOOST_PP_SEQ_SPLIT_2
# define BOOST_PP_SEQ_SPLIT_4(x) (x) BOOST_PP_SEQ_SPLIT_3
# define BOOST_PP_SEQ_SPLIT_5(x) (x) BOOST_PP_SEQ_SPLIT_4
# define BOOST_PP_SEQ_SPLIT_6(x) (x) BOOST_PP_SEQ_SPLIT_5
# define BOOST_PP_SEQ_SPLIT_7(x) (x) BOOST_PP_SEQ_SPLIT_6
# define BOOST_PP_SEQ_SPLIT_8(x) (x) BOOST_PP_SEQ_SPLIT_7
# define BOOST_PP_SEQ_SPLIT_9(x) (x) BOOST_PP_SEQ_SPLIT_8
# define BOOST_PP_SEQ_SPLIT_10(x) (x) BOOST_PP_SEQ_SPLIT_9
# define BOOST_PP_SEQ_SPLIT_11(x) (x) BOOST_PP_SEQ_SPLIT_10
# define BOOST_PP_SEQ_SPLIT_12(x) (x) BOOST_PP_SEQ_SPLIT_11
# define BOOST_PP_SEQ_SPLIT_13(x) (x) BOOST_PP_SEQ_SPLIT_12
# define BOOST_PP_SEQ_SPLIT_14(x) (x) BOOST_PP_SEQ_SPLIT_13
# define BOOST_PP_SEQ_SPLIT_15(x) (x) BOOST_PP_SEQ_SPLIT_14
# define BOOST_PP_SEQ_SPLIT_16(x) (x) BOOST_PP_SEQ_SPLIT_15
# define BOOST_PP_SEQ_SPLIT_17(x) (x) BOOST_PP_SEQ_SPLIT_16
# define BOOST_PP_SEQ_SPLIT_18(x) (x) BOOST_PP_SEQ_SPLIT_17
# define BOOST_PP_SEQ_SPLIT_19(x) (x) BOOST_PP_SEQ_SPLIT_18
# define BOOST_PP_SEQ_SPLIT_20(x) (x) BOOST_PP_SEQ_SPLIT_19
# define BOOST_PP_SEQ_SPLIT_21(x) (x) BOOST_PP_SEQ_SPLIT_20
# define BOOST_PP_SEQ_SPLIT_22(x) (x) BOOST_PP_SEQ_SPLIT_21
# define BOOST_PP_SEQ_SPLIT_23(x) (x) BOOST_PP_SEQ_SPLIT_22
# define BOOST_PP_SEQ_SPLIT_24(x) (x) BOOST_PP_SEQ_SPLIT_23
# define BOOST_PP_SEQ_SPLIT_25(x) (x) BOOST_PP_SEQ_SPLIT_24
# define BOOST_PP_SEQ_SPLIT_26(x) (x) BOOST_PP_SEQ_SPLIT_25
# define BOOST_PP_SEQ_SPLIT_27(x) (x) BOOST_PP_SEQ_SPLIT_26
# define BOOST_PP_SEQ_SPLIT_28(x) (x) BOOST_PP_SEQ_SPLIT_27
# define BOOST_PP_SEQ_SPLIT_29(x) (x) BOOST_PP_SEQ_SPLIT_28
# define BOOST_PP_SEQ_SPLIT_30(x) (x) BOOST_PP_SEQ_SPLIT_29
# define BOOST_PP_SEQ_SPLIT_31(x) (x) BOOST_PP_SEQ_SPLIT_30
# define BOOST_PP_SEQ_SPLIT_32(x) (x) BOOST_PP_SEQ_SPLIT_31
# define BOOST_PP_SEQ_SPLIT_33(x) (x) BOOST_PP_SEQ_SPLIT_32
# define BOOST_PP_SEQ_SPLIT_34(x) (x) BOOST_PP_SEQ_SPLIT_33
# define BOOST_PP_SEQ_SPLIT_35(x) (x) BOOST_PP_SEQ_SPLIT_34
# define BOOST_PP_SEQ_SPLIT_36(x) (x) BOOST_PP_SEQ_SPLIT_35
# define BOOST_PP_SEQ_SPLIT_37(x) (x) BOOST_PP_SEQ_SPLIT_36
# define BOOST_PP_SEQ_SPLIT_38(x) (x) BOOST_PP_SEQ_SPLIT_37
# define BOOST_PP_SEQ_SPLIT_39(x) (x) BOOST_PP_SEQ_SPLIT_38
# define BOOST_PP_SEQ_SPLIT_40(x) (x) BOOST_PP_SEQ_SPLIT_39
# define BOOST_PP_SEQ_SPLIT_41(x) (x) BOOST_PP_SEQ_SPLIT_40
# define BOOST_PP_SEQ_SPLIT_42(x) (x) BOOST_PP_SEQ_SPLIT_41
# define BOOST_PP_SEQ_SPLIT_43(x) (x) BOOST_PP_SEQ_SPLIT_42
# define BOOST_PP_SEQ_SPLIT_44(x) (x) BOOST_PP_SEQ_SPLIT_43
# define BOOST_PP_SEQ_SPLIT_45(x) (x) BOOST_PP_SEQ_SPLIT_44
# define BOOST_PP_SEQ_SPLIT_46(x) (x) BOOST_PP_SEQ_SPLIT_45
# define BOOST_PP_SEQ_SPLIT_47(x) (x) BOOST_PP_SEQ_SPLIT_46
# define BOOST_PP_SEQ_SPLIT_48(x) (x) BOOST_PP_SEQ_SPLIT_47
# define BOOST_PP_SEQ_SPLIT_49(x) (x) BOOST_PP_SEQ_SPLIT_48
# define BOOST_PP_SEQ_SPLIT_50(x) (x) BOOST_PP_SEQ_SPLIT_49
# define BOOST_PP_SEQ_SPLIT_51(x) (x) BOOST_PP_SEQ_SPLIT_50
# define BOOST_PP_SEQ_SPLIT_52(x) (x) BOOST_PP_SEQ_SPLIT_51
# define BOOST_PP_SEQ_SPLIT_53(x) (x) BOOST_PP_SEQ_SPLIT_52
# define BOOST_PP_SEQ_SPLIT_54(x) (x) BOOST_PP_SEQ_SPLIT_53
# define BOOST_PP_SEQ_SPLIT_55(x) (x) BOOST_PP_SEQ_SPLIT_54
# define BOOST_PP_SEQ_SPLIT_56(x) (x) BOOST_PP_SEQ_SPLIT_55
# define BOOST_PP_SEQ_SPLIT_57(x) (x) BOOST_PP_SEQ_SPLIT_56
# define BOOST_PP_SEQ_SPLIT_58(x) (x) BOOST_PP_SEQ_SPLIT_57
# define BOOST_PP_SEQ_SPLIT_59(x) (x) BOOST_PP_SEQ_SPLIT_58
# define BOOST_PP_SEQ_SPLIT_60(x) (x) BOOST_PP_SEQ_SPLIT_59
# define BOOST_PP_SEQ_SPLIT_61(x) (x) BOOST_PP_SEQ_SPLIT_60
# define BOOST_PP_SEQ_SPLIT_62(x) (x) BOOST_PP_SEQ_SPLIT_61
# define BOOST_PP_SEQ_SPLIT_63(x) (x) BOOST_PP_SEQ_SPLIT_62
# define BOOST_PP_SEQ_SPLIT_64(x) (x) BOOST_PP_SEQ_SPLIT_63
# define BOOST_PP_SEQ_SPLIT_65(x) (x) BOOST_PP_SEQ_SPLIT_64
# define BOOST_PP_SEQ_SPLIT_66(x) (x) BOOST_PP_SEQ_SPLIT_65
# define BOOST_PP_SEQ_SPLIT_67(x) (x) BOOST_PP_SEQ_SPLIT_66
# define BOOST_PP_SEQ_SPLIT_68(x) (x) BOOST_PP_SEQ_SPLIT_67
# define BOOST_PP_SEQ_SPLIT_69(x) (x) BOOST_PP_SEQ_SPLIT_68
# define BOOST_PP_SEQ_SPLIT_70(x) (x) BOOST_PP_SEQ_SPLIT_69
# define BOOST_PP_SEQ_SPLIT_71(x) (x) BOOST_PP_SEQ_SPLIT_70
# define BOOST_PP_SEQ_SPLIT_72(x) (x) BOOST_PP_SEQ_SPLIT_71
# define BOOST_PP_SEQ_SPLIT_73(x) (x) BOOST_PP_SEQ_SPLIT_72
# define BOOST_PP_SEQ_SPLIT_74(x) (x) BOOST_PP_SEQ_SPLIT_73
# define BOOST_PP_SEQ_SPLIT_75(x) (x) BOOST_PP_SEQ_SPLIT_74
# define BOOST_PP_SEQ_SPLIT_76(x) (x) BOOST_PP_SEQ_SPLIT_75
# define BOOST_PP_SEQ_SPLIT_77(x) (x) BOOST_PP_SEQ_SPLIT_76
# define BOOST_PP_SEQ_SPLIT_78(x) (x) BOOST_PP_SEQ_SPLIT_77
# define BOOST_PP_SEQ_SPLIT_79(x) (x) BOOST_PP_SEQ_SPLIT_78
# define BOOST_PP_SEQ_SPLIT_80(x) (x) BOOST_PP_SEQ_SPLIT_79
# define BOOST_PP_SEQ_SPLIT_81(x) (x) BOOST_PP_SEQ_SPLIT_80
# define BOOST_PP_SEQ_SPLIT_82(x) (x) BOOST_PP_SEQ_SPLIT_81
# define BOOST_PP_SEQ_SPLIT_83(x) (x) BOOST_PP_SEQ_SPLIT_82
# define BOOST_PP_SEQ_SPLIT_84(x) (x) BOOST_PP_SEQ_SPLIT_83
# define BOOST_PP_SEQ_SPLIT_85(x) (x) BOOST_PP_SEQ_SPLIT_84
# define BOOST_PP_SEQ_SPLIT_86(x) (x) BOOST_PP_SEQ_SPLIT_85
# define BOOST_PP_SEQ_SPLIT_87(x) (x) BOOST_PP_SEQ_SPLIT_86
# define BOOST_PP_SEQ_SPLIT_88(x) (x) BOOST_PP_SEQ_SPLIT_87
# define BOOST_PP_SEQ_SPLIT_89(x) (x) BOOST_PP_SEQ_SPLIT_88
# define BOOST_PP_SEQ_SPLIT_90(x) (x) BOOST_PP_SEQ_SPLIT_89
# define BOOST_PP_SEQ_SPLIT_91(x) (x) BOOST_PP_SEQ_SPLIT_90
# define BOOST_PP_SEQ_SPLIT_92(x) (x) BOOST_PP_SEQ_SPLIT_91
# define BOOST_PP_SEQ_SPLIT_93(x) (x) BOOST_PP_SEQ_SPLIT_92
# define BOOST_PP_SEQ_SPLIT_94(x) (x) BOOST_PP_SEQ_SPLIT_93
# define BOOST_PP_SEQ_SPLIT_95(x) (x) BOOST_PP_SEQ_SPLIT_94
# define BOOST_PP_SEQ_SPLIT_96(x) (x) BOOST_PP_SEQ_SPLIT_95
# define BOOST_PP_SEQ_SPLIT_97(x) (x) BOOST_PP_SEQ_SPLIT_96
# define BOOST_PP_SEQ_SPLIT_98(x) (x) BOOST_PP_SEQ_SPLIT_97
# define BOOST_PP_SEQ_SPLIT_99(x) (x) BOOST_PP_SEQ_SPLIT_98
# define BOOST_PP_SEQ_SPLIT_100(x) (x) BOOST_PP_SEQ_SPLIT_99
# define BOOST_PP_SEQ_SPLIT_101(x) (x) BOOST_PP_SEQ_SPLIT_100
# define BOOST_PP_SEQ_SPLIT_102(x) (x) BOOST_PP_SEQ_SPLIT_101
# define BOOST_PP_SEQ_SPLIT_103(x) (x) BOOST_PP_SEQ_SPLIT_102
# define BOOST_PP_SEQ_SPLIT_104(x) (x) BOOST_PP_SEQ_SPLIT_103
# define BOOST_PP_SEQ_SPLIT_105(x) (x) BOOST_PP_SEQ_SPLIT_104
# define BOOST_PP_SEQ_SPLIT_106(x) (x) BOOST_PP_SEQ_SPLIT_105
# define BOOST_PP_SEQ_SPLIT_107(x) (x) BOOST_PP_SEQ_SPLIT_106
# define BOOST_PP_SEQ_SPLIT_108(x) (x) BOOST_PP_SEQ_SPLIT_107
# define BOOST_PP_SEQ_SPLIT_109(x) (x) BOOST_PP_SEQ_SPLIT_108
# define BOOST_PP_SEQ_SPLIT_110(x) (x) BOOST_PP_SEQ_SPLIT_109
# define BOOST_PP_SEQ_SPLIT_111(x) (x) BOOST_PP_SEQ_SPLIT_110
# define BOOST_PP_SEQ_SPLIT_112(x) (x) BOOST_PP_SEQ_SPLIT_111
# define BOOST_PP_SEQ_SPLIT_113(x) (x) BOOST_PP_SEQ_SPLIT_112
# define BOOST_PP_SEQ_SPLIT_114(x) (x) BOOST_PP_SEQ_SPLIT_113
# define BOOST_PP_SEQ_SPLIT_115(x) (x) BOOST_PP_SEQ_SPLIT_114
# define BOOST_PP_SEQ_SPLIT_116(x) (x) BOOST_PP_SEQ_SPLIT_115
# define BOOST_PP_SEQ_SPLIT_117(x) (x) BOOST_PP_SEQ_SPLIT_116
# define BOOST_PP_SEQ_SPLIT_118(x) (x) BOOST_PP_SEQ_SPLIT_117
# define BOOST_PP_SEQ_SPLIT_119(x) (x) BOOST_PP_SEQ_SPLIT_118
# define BOOST_PP_SEQ_SPLIT_120(x) (x) BOOST_PP_SEQ_SPLIT_119
# define BOOST_PP_SEQ_SPLIT_121(x) (x) BOOST_PP_SEQ_SPLIT_120
# define BOOST_PP_SEQ_SPLIT_122(x) (x) BOOST_PP_SEQ_SPLIT_121
# define BOOST_PP_SEQ_SPLIT_123(x) (x) BOOST_PP_SEQ_SPLIT_122
# define BOOST_PP_SEQ_SPLIT_124(x) (x) BOOST_PP_SEQ_SPLIT_123
# define BOOST_PP_SEQ_SPLIT_125(x) (x) BOOST_PP_SEQ_SPLIT_124
# define BOOST_PP_SEQ_SPLIT_126(x) (x) BOOST_PP_SEQ_SPLIT_125
# define BOOST_PP_SEQ_SPLIT_127(x) (x) BOOST_PP_SEQ_SPLIT_126
# define BOOST_PP_SEQ_SPLIT_128(x) (x) BOOST_PP_SEQ_SPLIT_127
# define BOOST_PP_SEQ_SPLIT_129(x) (x) BOOST_PP_SEQ_SPLIT_128
# define BOOST_PP_SEQ_SPLIT_130(x) (x) BOOST_PP_SEQ_SPLIT_129
# define BOOST_PP_SEQ_SPLIT_131(x) (x) BOOST_PP_SEQ_SPLIT_130
# define BOOST_PP_SEQ_SPLIT_132(x) (x) BOOST_PP_SEQ_SPLIT_131
# define BOOST_PP_SEQ_SPLIT_133(x) (x) BOOST_PP_SEQ_SPLIT_132
# define BOOST_PP_SEQ_SPLIT_134(x) (x) BOOST_PP_SEQ_SPLIT_133
# define BOOST_PP_SEQ_SPLIT_135(x) (x) BOOST_PP_SEQ_SPLIT_134
# define BOOST_PP_SEQ_SPLIT_136(x) (x) BOOST_PP_SEQ_SPLIT_135
# define BOOST_PP_SEQ_SPLIT_137(x) (x) BOOST_PP_SEQ_SPLIT_136
# define BOOST_PP_SEQ_SPLIT_138(x) (x) BOOST_PP_SEQ_SPLIT_137
# define BOOST_PP_SEQ_SPLIT_139(x) (x) BOOST_PP_SEQ_SPLIT_138
# define BOOST_PP_SEQ_SPLIT_140(x) (x) BOOST_PP_SEQ_SPLIT_139
# define BOOST_PP_SEQ_SPLIT_141(x) (x) BOOST_PP_SEQ_SPLIT_140
# define BOOST_PP_SEQ_SPLIT_142(x) (x) BOOST_PP_SEQ_SPLIT_141
# define BOOST_PP_SEQ_SPLIT_143(x) (x) BOOST_PP_SEQ_SPLIT_142
# define BOOST_PP_SEQ_SPLIT_144(x) (x) BOOST_PP_SEQ_SPLIT_143
# define BOOST_PP_SEQ_SPLIT_145(x) (x) BOOST_PP_SEQ_SPLIT_144
# define BOOST_PP_SEQ_SPLIT_146(x) (x) BOOST_PP_SEQ_SPLIT_145
# define BOOST_PP_SEQ_SPLIT_147(x) (x) BOOST_PP_SEQ_SPLIT_146
# define BOOST_PP_SEQ_SPLIT_148(x) (x) BOOST_PP_SEQ_SPLIT_147
# define BOOST_PP_SEQ_SPLIT_149(x) (x) BOOST_PP_SEQ_SPLIT_148
# define BOOST_PP_SEQ_SPLIT_150(x) (x) BOOST_PP_SEQ_SPLIT_149
# define BOOST_PP_SEQ_SPLIT_151(x) (x) BOOST_PP_SEQ_SPLIT_150
# define BOOST_PP_SEQ_SPLIT_152(x) (x) BOOST_PP_SEQ_SPLIT_151
# define BOOST_PP_SEQ_SPLIT_153(x) (x) BOOST_PP_SEQ_SPLIT_152
# define BOOST_PP_SEQ_SPLIT_154(x) (x) BOOST_PP_SEQ_SPLIT_153
# define BOOST_PP_SEQ_SPLIT_155(x) (x) BOOST_PP_SEQ_SPLIT_154
# define BOOST_PP_SEQ_SPLIT_156(x) (x) BOOST_PP_SEQ_SPLIT_155
# define BOOST_PP_SEQ_SPLIT_157(x) (x) BOOST_PP_SEQ_SPLIT_156
# define BOOST_PP_SEQ_SPLIT_158(x) (x) BOOST_PP_SEQ_SPLIT_157
# define BOOST_PP_SEQ_SPLIT_159(x) (x) BOOST_PP_SEQ_SPLIT_158
# define BOOST_PP_SEQ_SPLIT_160(x) (x) BOOST_PP_SEQ_SPLIT_159
# define BOOST_PP_SEQ_SPLIT_161(x) (x) BOOST_PP_SEQ_SPLIT_160
# define BOOST_PP_SEQ_SPLIT_162(x) (x) BOOST_PP_SEQ_SPLIT_161
# define BOOST_PP_SEQ_SPLIT_163(x) (x) BOOST_PP_SEQ_SPLIT_162
# define BOOST_PP_SEQ_SPLIT_164(x) (x) BOOST_PP_SEQ_SPLIT_163
# define BOOST_PP_SEQ_SPLIT_165(x) (x) BOOST_PP_SEQ_SPLIT_164
# define BOOST_PP_SEQ_SPLIT_166(x) (x) BOOST_PP_SEQ_SPLIT_165
# define BOOST_PP_SEQ_SPLIT_167(x) (x) BOOST_PP_SEQ_SPLIT_166
# define BOOST_PP_SEQ_SPLIT_168(x) (x) BOOST_PP_SEQ_SPLIT_167
# define BOOST_PP_SEQ_SPLIT_169(x) (x) BOOST_PP_SEQ_SPLIT_168
# define BOOST_PP_SEQ_SPLIT_170(x) (x) BOOST_PP_SEQ_SPLIT_169
# define BOOST_PP_SEQ_SPLIT_171(x) (x) BOOST_PP_SEQ_SPLIT_170
# define BOOST_PP_SEQ_SPLIT_172(x) (x) BOOST_PP_SEQ_SPLIT_171
# define BOOST_PP_SEQ_SPLIT_173(x) (x) BOOST_PP_SEQ_SPLIT_172
# define BOOST_PP_SEQ_SPLIT_174(x) (x) BOOST_PP_SEQ_SPLIT_173
# define BOOST_PP_SEQ_SPLIT_175(x) (x) BOOST_PP_SEQ_SPLIT_174
# define BOOST_PP_SEQ_SPLIT_176(x) (x) BOOST_PP_SEQ_SPLIT_175
# define BOOST_PP_SEQ_SPLIT_177(x) (x) BOOST_PP_SEQ_SPLIT_176
# define BOOST_PP_SEQ_SPLIT_178(x) (x) BOOST_PP_SEQ_SPLIT_177
# define BOOST_PP_SEQ_SPLIT_179(x) (x) BOOST_PP_SEQ_SPLIT_178
# define BOOST_PP_SEQ_SPLIT_180(x) (x) BOOST_PP_SEQ_SPLIT_179
# define BOOST_PP_SEQ_SPLIT_181(x) (x) BOOST_PP_SEQ_SPLIT_180
# define BOOST_PP_SEQ_SPLIT_182(x) (x) BOOST_PP_SEQ_SPLIT_181
# define BOOST_PP_SEQ_SPLIT_183(x) (x) BOOST_PP_SEQ_SPLIT_182
# define BOOST_PP_SEQ_SPLIT_184(x) (x) BOOST_PP_SEQ_SPLIT_183
# define BOOST_PP_SEQ_SPLIT_185(x) (x) BOOST_PP_SEQ_SPLIT_184
# define BOOST_PP_SEQ_SPLIT_186(x) (x) BOOST_PP_SEQ_SPLIT_185
# define BOOST_PP_SEQ_SPLIT_187(x) (x) BOOST_PP_SEQ_SPLIT_186
# define BOOST_PP_SEQ_SPLIT_188(x) (x) BOOST_PP_SEQ_SPLIT_187
# define BOOST_PP_SEQ_SPLIT_189(x) (x) BOOST_PP_SEQ_SPLIT_188
# define BOOST_PP_SEQ_SPLIT_190(x) (x) BOOST_PP_SEQ_SPLIT_189
# define BOOST_PP_SEQ_SPLIT_191(x) (x) BOOST_PP_SEQ_SPLIT_190
# define BOOST_PP_SEQ_SPLIT_192(x) (x) BOOST_PP_SEQ_SPLIT_191
# define BOOST_PP_SEQ_SPLIT_193(x) (x) BOOST_PP_SEQ_SPLIT_192
# define BOOST_PP_SEQ_SPLIT_194(x) (x) BOOST_PP_SEQ_SPLIT_193
# define BOOST_PP_SEQ_SPLIT_195(x) (x) BOOST_PP_SEQ_SPLIT_194
# define BOOST_PP_SEQ_SPLIT_196(x) (x) BOOST_PP_SEQ_SPLIT_195
# define BOOST_PP_SEQ_SPLIT_197(x) (x) BOOST_PP_SEQ_SPLIT_196
# define BOOST_PP_SEQ_SPLIT_198(x) (x) BOOST_PP_SEQ_SPLIT_197
# define BOOST_PP_SEQ_SPLIT_199(x) (x) BOOST_PP_SEQ_SPLIT_198
# define BOOST_PP_SEQ_SPLIT_200(x) (x) BOOST_PP_SEQ_SPLIT_199
# define BOOST_PP_SEQ_SPLIT_201(x) (x) BOOST_PP_SEQ_SPLIT_200
# define BOOST_PP_SEQ_SPLIT_202(x) (x) BOOST_PP_SEQ_SPLIT_201
# define BOOST_PP_SEQ_SPLIT_203(x) (x) BOOST_PP_SEQ_SPLIT_202
# define BOOST_PP_SEQ_SPLIT_204(x) (x) BOOST_PP_SEQ_SPLIT_203
# define BOOST_PP_SEQ_SPLIT_205(x) (x) BOOST_PP_SEQ_SPLIT_204
# define BOOST_PP_SEQ_SPLIT_206(x) (x) BOOST_PP_SEQ_SPLIT_205
# define BOOST_PP_SEQ_SPLIT_207(x) (x) BOOST_PP_SEQ_SPLIT_206
# define BOOST_PP_SEQ_SPLIT_208(x) (x) BOOST_PP_SEQ_SPLIT_207
# define BOOST_PP_SEQ_SPLIT_209(x) (x) BOOST_PP_SEQ_SPLIT_208
# define BOOST_PP_SEQ_SPLIT_210(x) (x) BOOST_PP_SEQ_SPLIT_209
# define BOOST_PP_SEQ_SPLIT_211(x) (x) BOOST_PP_SEQ_SPLIT_210
# define BOOST_PP_SEQ_SPLIT_212(x) (x) BOOST_PP_SEQ_SPLIT_211
# define BOOST_PP_SEQ_SPLIT_213(x) (x) BOOST_PP_SEQ_SPLIT_212
# define BOOST_PP_SEQ_SPLIT_214(x) (x) BOOST_PP_SEQ_SPLIT_213
# define BOOST_PP_SEQ_SPLIT_215(x) (x) BOOST_PP_SEQ_SPLIT_214
# define BOOST_PP_SEQ_SPLIT_216(x) (x) BOOST_PP_SEQ_SPLIT_215
# define BOOST_PP_SEQ_SPLIT_217(x) (x) BOOST_PP_SEQ_SPLIT_216
# define BOOST_PP_SEQ_SPLIT_218(x) (x) BOOST_PP_SEQ_SPLIT_217
# define BOOST_PP_SEQ_SPLIT_219(x) (x) BOOST_PP_SEQ_SPLIT_218
# define BOOST_PP_SEQ_SPLIT_220(x) (x) BOOST_PP_SEQ_SPLIT_219
# define BOOST_PP_SEQ_SPLIT_221(x) (x) BOOST_PP_SEQ_SPLIT_220
# define BOOST_PP_SEQ_SPLIT_222(x) (x) BOOST_PP_SEQ_SPLIT_221
# define BOOST_PP_SEQ_SPLIT_223(x) (x) BOOST_PP_SEQ_SPLIT_222
# define BOOST_PP_SEQ_SPLIT_224(x) (x) BOOST_PP_SEQ_SPLIT_223
# define BOOST_PP_SEQ_SPLIT_225(x) (x) BOOST_PP_SEQ_SPLIT_224
# define BOOST_PP_SEQ_SPLIT_226(x) (x) BOOST_PP_SEQ_SPLIT_225
# define BOOST_PP_SEQ_SPLIT_227(x) (x) BOOST_PP_SEQ_SPLIT_226
# define BOOST_PP_SEQ_SPLIT_228(x) (x) BOOST_PP_SEQ_SPLIT_227
# define BOOST_PP_SEQ_SPLIT_229(x) (x) BOOST_PP_SEQ_SPLIT_228
# define BOOST_PP_SEQ_SPLIT_230(x) (x) BOOST_PP_SEQ_SPLIT_229
# define BOOST_PP_SEQ_SPLIT_231(x) (x) BOOST_PP_SEQ_SPLIT_230
# define BOOST_PP_SEQ_SPLIT_232(x) (x) BOOST_PP_SEQ_SPLIT_231
# define BOOST_PP_SEQ_SPLIT_233(x) (x) BOOST_PP_SEQ_SPLIT_232
# define BOOST_PP_SEQ_SPLIT_234(x) (x) BOOST_PP_SEQ_SPLIT_233
# define BOOST_PP_SEQ_SPLIT_235(x) (x) BOOST_PP_SEQ_SPLIT_234
# define BOOST_PP_SEQ_SPLIT_236(x) (x) BOOST_PP_SEQ_SPLIT_235
# define BOOST_PP_SEQ_SPLIT_237(x) (x) BOOST_PP_SEQ_SPLIT_236
# define BOOST_PP_SEQ_SPLIT_238(x) (x) BOOST_PP_SEQ_SPLIT_237
# define BOOST_PP_SEQ_SPLIT_239(x) (x) BOOST_PP_SEQ_SPLIT_238
# define BOOST_PP_SEQ_SPLIT_240(x) (x) BOOST_PP_SEQ_SPLIT_239
# define BOOST_PP_SEQ_SPLIT_241(x) (x) BOOST_PP_SEQ_SPLIT_240
# define BOOST_PP_SEQ_SPLIT_242(x) (x) BOOST_PP_SEQ_SPLIT_241
# define BOOST_PP_SEQ_SPLIT_243(x) (x) BOOST_PP_SEQ_SPLIT_242
# define BOOST_PP_SEQ_SPLIT_244(x) (x) BOOST_PP_SEQ_SPLIT_243
# define BOOST_PP_SEQ_SPLIT_245(x) (x) BOOST_PP_SEQ_SPLIT_244
# define BOOST_PP_SEQ_SPLIT_246(x) (x) BOOST_PP_SEQ_SPLIT_245
# define BOOST_PP_SEQ_SPLIT_247(x) (x) BOOST_PP_SEQ_SPLIT_246
# define BOOST_PP_SEQ_SPLIT_248(x) (x) BOOST_PP_SEQ_SPLIT_247
# define BOOST_PP_SEQ_SPLIT_249(x) (x) BOOST_PP_SEQ_SPLIT_248
# define BOOST_PP_SEQ_SPLIT_250(x) (x) BOOST_PP_SEQ_SPLIT_249
# define BOOST_PP_SEQ_SPLIT_251(x) (x) BOOST_PP_SEQ_SPLIT_250
# define BOOST_PP_SEQ_SPLIT_252(x) (x) BOOST_PP_SEQ_SPLIT_251
# define BOOST_PP_SEQ_SPLIT_253(x) (x) BOOST_PP_SEQ_SPLIT_252
# define BOOST_PP_SEQ_SPLIT_254(x) (x) BOOST_PP_SEQ_SPLIT_253
# define BOOST_PP_SEQ_SPLIT_255(x) (x) BOOST_PP_SEQ_SPLIT_254
# define BOOST_PP_SEQ_SPLIT_256(x) (x) BOOST_PP_SEQ_SPLIT_255
#
# endif

View file

@ -0,0 +1,304 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_ELEM_HPP
# define BOOST_PREPROCESSOR_SEQ_ELEM_HPP
#
# include <boost/preprocessor/cat.hpp>
# include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/facilities/empty.hpp>
#
# /* BOOST_PP_SEQ_ELEM */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
# define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I(i, seq)
# else
# define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I((i, seq))
# endif
#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
# define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II((BOOST_PP_SEQ_ELEM_ ## i seq))
# define BOOST_PP_SEQ_ELEM_II(res) BOOST_PP_SEQ_ELEM_IV(BOOST_PP_SEQ_ELEM_III res)
# define BOOST_PP_SEQ_ELEM_III(x, _) x BOOST_PP_EMPTY()
# define BOOST_PP_SEQ_ELEM_IV(x) x
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
# define BOOST_PP_SEQ_ELEM_I(par) BOOST_PP_SEQ_ELEM_II ## par
# define BOOST_PP_SEQ_ELEM_II(i, seq) BOOST_PP_SEQ_ELEM_III(BOOST_PP_SEQ_ELEM_ ## i ## seq)
# define BOOST_PP_SEQ_ELEM_III(im) BOOST_PP_SEQ_ELEM_IV(im)
# define BOOST_PP_SEQ_ELEM_IV(x, _) x
# else
# if defined(__IBMC__) || defined(__IBMCPP__)
# define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq))
# else
# define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_SEQ_ELEM_ ## i seq)
# endif
# define BOOST_PP_SEQ_ELEM_II(im) BOOST_PP_SEQ_ELEM_III(im)
# define BOOST_PP_SEQ_ELEM_III(x, _) x
# endif
#
# define BOOST_PP_SEQ_ELEM_0(x) x, BOOST_PP_NIL
# define BOOST_PP_SEQ_ELEM_1(_) BOOST_PP_SEQ_ELEM_0
# define BOOST_PP_SEQ_ELEM_2(_) BOOST_PP_SEQ_ELEM_1
# define BOOST_PP_SEQ_ELEM_3(_) BOOST_PP_SEQ_ELEM_2
# define BOOST_PP_SEQ_ELEM_4(_) BOOST_PP_SEQ_ELEM_3
# define BOOST_PP_SEQ_ELEM_5(_) BOOST_PP_SEQ_ELEM_4
# define BOOST_PP_SEQ_ELEM_6(_) BOOST_PP_SEQ_ELEM_5
# define BOOST_PP_SEQ_ELEM_7(_) BOOST_PP_SEQ_ELEM_6
# define BOOST_PP_SEQ_ELEM_8(_) BOOST_PP_SEQ_ELEM_7
# define BOOST_PP_SEQ_ELEM_9(_) BOOST_PP_SEQ_ELEM_8
# define BOOST_PP_SEQ_ELEM_10(_) BOOST_PP_SEQ_ELEM_9
# define BOOST_PP_SEQ_ELEM_11(_) BOOST_PP_SEQ_ELEM_10
# define BOOST_PP_SEQ_ELEM_12(_) BOOST_PP_SEQ_ELEM_11
# define BOOST_PP_SEQ_ELEM_13(_) BOOST_PP_SEQ_ELEM_12
# define BOOST_PP_SEQ_ELEM_14(_) BOOST_PP_SEQ_ELEM_13
# define BOOST_PP_SEQ_ELEM_15(_) BOOST_PP_SEQ_ELEM_14
# define BOOST_PP_SEQ_ELEM_16(_) BOOST_PP_SEQ_ELEM_15
# define BOOST_PP_SEQ_ELEM_17(_) BOOST_PP_SEQ_ELEM_16
# define BOOST_PP_SEQ_ELEM_18(_) BOOST_PP_SEQ_ELEM_17
# define BOOST_PP_SEQ_ELEM_19(_) BOOST_PP_SEQ_ELEM_18
# define BOOST_PP_SEQ_ELEM_20(_) BOOST_PP_SEQ_ELEM_19
# define BOOST_PP_SEQ_ELEM_21(_) BOOST_PP_SEQ_ELEM_20
# define BOOST_PP_SEQ_ELEM_22(_) BOOST_PP_SEQ_ELEM_21
# define BOOST_PP_SEQ_ELEM_23(_) BOOST_PP_SEQ_ELEM_22
# define BOOST_PP_SEQ_ELEM_24(_) BOOST_PP_SEQ_ELEM_23
# define BOOST_PP_SEQ_ELEM_25(_) BOOST_PP_SEQ_ELEM_24
# define BOOST_PP_SEQ_ELEM_26(_) BOOST_PP_SEQ_ELEM_25
# define BOOST_PP_SEQ_ELEM_27(_) BOOST_PP_SEQ_ELEM_26
# define BOOST_PP_SEQ_ELEM_28(_) BOOST_PP_SEQ_ELEM_27
# define BOOST_PP_SEQ_ELEM_29(_) BOOST_PP_SEQ_ELEM_28
# define BOOST_PP_SEQ_ELEM_30(_) BOOST_PP_SEQ_ELEM_29
# define BOOST_PP_SEQ_ELEM_31(_) BOOST_PP_SEQ_ELEM_30
# define BOOST_PP_SEQ_ELEM_32(_) BOOST_PP_SEQ_ELEM_31
# define BOOST_PP_SEQ_ELEM_33(_) BOOST_PP_SEQ_ELEM_32
# define BOOST_PP_SEQ_ELEM_34(_) BOOST_PP_SEQ_ELEM_33
# define BOOST_PP_SEQ_ELEM_35(_) BOOST_PP_SEQ_ELEM_34
# define BOOST_PP_SEQ_ELEM_36(_) BOOST_PP_SEQ_ELEM_35
# define BOOST_PP_SEQ_ELEM_37(_) BOOST_PP_SEQ_ELEM_36
# define BOOST_PP_SEQ_ELEM_38(_) BOOST_PP_SEQ_ELEM_37
# define BOOST_PP_SEQ_ELEM_39(_) BOOST_PP_SEQ_ELEM_38
# define BOOST_PP_SEQ_ELEM_40(_) BOOST_PP_SEQ_ELEM_39
# define BOOST_PP_SEQ_ELEM_41(_) BOOST_PP_SEQ_ELEM_40
# define BOOST_PP_SEQ_ELEM_42(_) BOOST_PP_SEQ_ELEM_41
# define BOOST_PP_SEQ_ELEM_43(_) BOOST_PP_SEQ_ELEM_42
# define BOOST_PP_SEQ_ELEM_44(_) BOOST_PP_SEQ_ELEM_43
# define BOOST_PP_SEQ_ELEM_45(_) BOOST_PP_SEQ_ELEM_44
# define BOOST_PP_SEQ_ELEM_46(_) BOOST_PP_SEQ_ELEM_45
# define BOOST_PP_SEQ_ELEM_47(_) BOOST_PP_SEQ_ELEM_46
# define BOOST_PP_SEQ_ELEM_48(_) BOOST_PP_SEQ_ELEM_47
# define BOOST_PP_SEQ_ELEM_49(_) BOOST_PP_SEQ_ELEM_48
# define BOOST_PP_SEQ_ELEM_50(_) BOOST_PP_SEQ_ELEM_49
# define BOOST_PP_SEQ_ELEM_51(_) BOOST_PP_SEQ_ELEM_50
# define BOOST_PP_SEQ_ELEM_52(_) BOOST_PP_SEQ_ELEM_51
# define BOOST_PP_SEQ_ELEM_53(_) BOOST_PP_SEQ_ELEM_52
# define BOOST_PP_SEQ_ELEM_54(_) BOOST_PP_SEQ_ELEM_53
# define BOOST_PP_SEQ_ELEM_55(_) BOOST_PP_SEQ_ELEM_54
# define BOOST_PP_SEQ_ELEM_56(_) BOOST_PP_SEQ_ELEM_55
# define BOOST_PP_SEQ_ELEM_57(_) BOOST_PP_SEQ_ELEM_56
# define BOOST_PP_SEQ_ELEM_58(_) BOOST_PP_SEQ_ELEM_57
# define BOOST_PP_SEQ_ELEM_59(_) BOOST_PP_SEQ_ELEM_58
# define BOOST_PP_SEQ_ELEM_60(_) BOOST_PP_SEQ_ELEM_59
# define BOOST_PP_SEQ_ELEM_61(_) BOOST_PP_SEQ_ELEM_60
# define BOOST_PP_SEQ_ELEM_62(_) BOOST_PP_SEQ_ELEM_61
# define BOOST_PP_SEQ_ELEM_63(_) BOOST_PP_SEQ_ELEM_62
# define BOOST_PP_SEQ_ELEM_64(_) BOOST_PP_SEQ_ELEM_63
# define BOOST_PP_SEQ_ELEM_65(_) BOOST_PP_SEQ_ELEM_64
# define BOOST_PP_SEQ_ELEM_66(_) BOOST_PP_SEQ_ELEM_65
# define BOOST_PP_SEQ_ELEM_67(_) BOOST_PP_SEQ_ELEM_66
# define BOOST_PP_SEQ_ELEM_68(_) BOOST_PP_SEQ_ELEM_67
# define BOOST_PP_SEQ_ELEM_69(_) BOOST_PP_SEQ_ELEM_68
# define BOOST_PP_SEQ_ELEM_70(_) BOOST_PP_SEQ_ELEM_69
# define BOOST_PP_SEQ_ELEM_71(_) BOOST_PP_SEQ_ELEM_70
# define BOOST_PP_SEQ_ELEM_72(_) BOOST_PP_SEQ_ELEM_71
# define BOOST_PP_SEQ_ELEM_73(_) BOOST_PP_SEQ_ELEM_72
# define BOOST_PP_SEQ_ELEM_74(_) BOOST_PP_SEQ_ELEM_73
# define BOOST_PP_SEQ_ELEM_75(_) BOOST_PP_SEQ_ELEM_74
# define BOOST_PP_SEQ_ELEM_76(_) BOOST_PP_SEQ_ELEM_75
# define BOOST_PP_SEQ_ELEM_77(_) BOOST_PP_SEQ_ELEM_76
# define BOOST_PP_SEQ_ELEM_78(_) BOOST_PP_SEQ_ELEM_77
# define BOOST_PP_SEQ_ELEM_79(_) BOOST_PP_SEQ_ELEM_78
# define BOOST_PP_SEQ_ELEM_80(_) BOOST_PP_SEQ_ELEM_79
# define BOOST_PP_SEQ_ELEM_81(_) BOOST_PP_SEQ_ELEM_80
# define BOOST_PP_SEQ_ELEM_82(_) BOOST_PP_SEQ_ELEM_81
# define BOOST_PP_SEQ_ELEM_83(_) BOOST_PP_SEQ_ELEM_82
# define BOOST_PP_SEQ_ELEM_84(_) BOOST_PP_SEQ_ELEM_83
# define BOOST_PP_SEQ_ELEM_85(_) BOOST_PP_SEQ_ELEM_84
# define BOOST_PP_SEQ_ELEM_86(_) BOOST_PP_SEQ_ELEM_85
# define BOOST_PP_SEQ_ELEM_87(_) BOOST_PP_SEQ_ELEM_86
# define BOOST_PP_SEQ_ELEM_88(_) BOOST_PP_SEQ_ELEM_87
# define BOOST_PP_SEQ_ELEM_89(_) BOOST_PP_SEQ_ELEM_88
# define BOOST_PP_SEQ_ELEM_90(_) BOOST_PP_SEQ_ELEM_89
# define BOOST_PP_SEQ_ELEM_91(_) BOOST_PP_SEQ_ELEM_90
# define BOOST_PP_SEQ_ELEM_92(_) BOOST_PP_SEQ_ELEM_91
# define BOOST_PP_SEQ_ELEM_93(_) BOOST_PP_SEQ_ELEM_92
# define BOOST_PP_SEQ_ELEM_94(_) BOOST_PP_SEQ_ELEM_93
# define BOOST_PP_SEQ_ELEM_95(_) BOOST_PP_SEQ_ELEM_94
# define BOOST_PP_SEQ_ELEM_96(_) BOOST_PP_SEQ_ELEM_95
# define BOOST_PP_SEQ_ELEM_97(_) BOOST_PP_SEQ_ELEM_96
# define BOOST_PP_SEQ_ELEM_98(_) BOOST_PP_SEQ_ELEM_97
# define BOOST_PP_SEQ_ELEM_99(_) BOOST_PP_SEQ_ELEM_98
# define BOOST_PP_SEQ_ELEM_100(_) BOOST_PP_SEQ_ELEM_99
# define BOOST_PP_SEQ_ELEM_101(_) BOOST_PP_SEQ_ELEM_100
# define BOOST_PP_SEQ_ELEM_102(_) BOOST_PP_SEQ_ELEM_101
# define BOOST_PP_SEQ_ELEM_103(_) BOOST_PP_SEQ_ELEM_102
# define BOOST_PP_SEQ_ELEM_104(_) BOOST_PP_SEQ_ELEM_103
# define BOOST_PP_SEQ_ELEM_105(_) BOOST_PP_SEQ_ELEM_104
# define BOOST_PP_SEQ_ELEM_106(_) BOOST_PP_SEQ_ELEM_105
# define BOOST_PP_SEQ_ELEM_107(_) BOOST_PP_SEQ_ELEM_106
# define BOOST_PP_SEQ_ELEM_108(_) BOOST_PP_SEQ_ELEM_107
# define BOOST_PP_SEQ_ELEM_109(_) BOOST_PP_SEQ_ELEM_108
# define BOOST_PP_SEQ_ELEM_110(_) BOOST_PP_SEQ_ELEM_109
# define BOOST_PP_SEQ_ELEM_111(_) BOOST_PP_SEQ_ELEM_110
# define BOOST_PP_SEQ_ELEM_112(_) BOOST_PP_SEQ_ELEM_111
# define BOOST_PP_SEQ_ELEM_113(_) BOOST_PP_SEQ_ELEM_112
# define BOOST_PP_SEQ_ELEM_114(_) BOOST_PP_SEQ_ELEM_113
# define BOOST_PP_SEQ_ELEM_115(_) BOOST_PP_SEQ_ELEM_114
# define BOOST_PP_SEQ_ELEM_116(_) BOOST_PP_SEQ_ELEM_115
# define BOOST_PP_SEQ_ELEM_117(_) BOOST_PP_SEQ_ELEM_116
# define BOOST_PP_SEQ_ELEM_118(_) BOOST_PP_SEQ_ELEM_117
# define BOOST_PP_SEQ_ELEM_119(_) BOOST_PP_SEQ_ELEM_118
# define BOOST_PP_SEQ_ELEM_120(_) BOOST_PP_SEQ_ELEM_119
# define BOOST_PP_SEQ_ELEM_121(_) BOOST_PP_SEQ_ELEM_120
# define BOOST_PP_SEQ_ELEM_122(_) BOOST_PP_SEQ_ELEM_121
# define BOOST_PP_SEQ_ELEM_123(_) BOOST_PP_SEQ_ELEM_122
# define BOOST_PP_SEQ_ELEM_124(_) BOOST_PP_SEQ_ELEM_123
# define BOOST_PP_SEQ_ELEM_125(_) BOOST_PP_SEQ_ELEM_124
# define BOOST_PP_SEQ_ELEM_126(_) BOOST_PP_SEQ_ELEM_125
# define BOOST_PP_SEQ_ELEM_127(_) BOOST_PP_SEQ_ELEM_126
# define BOOST_PP_SEQ_ELEM_128(_) BOOST_PP_SEQ_ELEM_127
# define BOOST_PP_SEQ_ELEM_129(_) BOOST_PP_SEQ_ELEM_128
# define BOOST_PP_SEQ_ELEM_130(_) BOOST_PP_SEQ_ELEM_129
# define BOOST_PP_SEQ_ELEM_131(_) BOOST_PP_SEQ_ELEM_130
# define BOOST_PP_SEQ_ELEM_132(_) BOOST_PP_SEQ_ELEM_131
# define BOOST_PP_SEQ_ELEM_133(_) BOOST_PP_SEQ_ELEM_132
# define BOOST_PP_SEQ_ELEM_134(_) BOOST_PP_SEQ_ELEM_133
# define BOOST_PP_SEQ_ELEM_135(_) BOOST_PP_SEQ_ELEM_134
# define BOOST_PP_SEQ_ELEM_136(_) BOOST_PP_SEQ_ELEM_135
# define BOOST_PP_SEQ_ELEM_137(_) BOOST_PP_SEQ_ELEM_136
# define BOOST_PP_SEQ_ELEM_138(_) BOOST_PP_SEQ_ELEM_137
# define BOOST_PP_SEQ_ELEM_139(_) BOOST_PP_SEQ_ELEM_138
# define BOOST_PP_SEQ_ELEM_140(_) BOOST_PP_SEQ_ELEM_139
# define BOOST_PP_SEQ_ELEM_141(_) BOOST_PP_SEQ_ELEM_140
# define BOOST_PP_SEQ_ELEM_142(_) BOOST_PP_SEQ_ELEM_141
# define BOOST_PP_SEQ_ELEM_143(_) BOOST_PP_SEQ_ELEM_142
# define BOOST_PP_SEQ_ELEM_144(_) BOOST_PP_SEQ_ELEM_143
# define BOOST_PP_SEQ_ELEM_145(_) BOOST_PP_SEQ_ELEM_144
# define BOOST_PP_SEQ_ELEM_146(_) BOOST_PP_SEQ_ELEM_145
# define BOOST_PP_SEQ_ELEM_147(_) BOOST_PP_SEQ_ELEM_146
# define BOOST_PP_SEQ_ELEM_148(_) BOOST_PP_SEQ_ELEM_147
# define BOOST_PP_SEQ_ELEM_149(_) BOOST_PP_SEQ_ELEM_148
# define BOOST_PP_SEQ_ELEM_150(_) BOOST_PP_SEQ_ELEM_149
# define BOOST_PP_SEQ_ELEM_151(_) BOOST_PP_SEQ_ELEM_150
# define BOOST_PP_SEQ_ELEM_152(_) BOOST_PP_SEQ_ELEM_151
# define BOOST_PP_SEQ_ELEM_153(_) BOOST_PP_SEQ_ELEM_152
# define BOOST_PP_SEQ_ELEM_154(_) BOOST_PP_SEQ_ELEM_153
# define BOOST_PP_SEQ_ELEM_155(_) BOOST_PP_SEQ_ELEM_154
# define BOOST_PP_SEQ_ELEM_156(_) BOOST_PP_SEQ_ELEM_155
# define BOOST_PP_SEQ_ELEM_157(_) BOOST_PP_SEQ_ELEM_156
# define BOOST_PP_SEQ_ELEM_158(_) BOOST_PP_SEQ_ELEM_157
# define BOOST_PP_SEQ_ELEM_159(_) BOOST_PP_SEQ_ELEM_158
# define BOOST_PP_SEQ_ELEM_160(_) BOOST_PP_SEQ_ELEM_159
# define BOOST_PP_SEQ_ELEM_161(_) BOOST_PP_SEQ_ELEM_160
# define BOOST_PP_SEQ_ELEM_162(_) BOOST_PP_SEQ_ELEM_161
# define BOOST_PP_SEQ_ELEM_163(_) BOOST_PP_SEQ_ELEM_162
# define BOOST_PP_SEQ_ELEM_164(_) BOOST_PP_SEQ_ELEM_163
# define BOOST_PP_SEQ_ELEM_165(_) BOOST_PP_SEQ_ELEM_164
# define BOOST_PP_SEQ_ELEM_166(_) BOOST_PP_SEQ_ELEM_165
# define BOOST_PP_SEQ_ELEM_167(_) BOOST_PP_SEQ_ELEM_166
# define BOOST_PP_SEQ_ELEM_168(_) BOOST_PP_SEQ_ELEM_167
# define BOOST_PP_SEQ_ELEM_169(_) BOOST_PP_SEQ_ELEM_168
# define BOOST_PP_SEQ_ELEM_170(_) BOOST_PP_SEQ_ELEM_169
# define BOOST_PP_SEQ_ELEM_171(_) BOOST_PP_SEQ_ELEM_170
# define BOOST_PP_SEQ_ELEM_172(_) BOOST_PP_SEQ_ELEM_171
# define BOOST_PP_SEQ_ELEM_173(_) BOOST_PP_SEQ_ELEM_172
# define BOOST_PP_SEQ_ELEM_174(_) BOOST_PP_SEQ_ELEM_173
# define BOOST_PP_SEQ_ELEM_175(_) BOOST_PP_SEQ_ELEM_174
# define BOOST_PP_SEQ_ELEM_176(_) BOOST_PP_SEQ_ELEM_175
# define BOOST_PP_SEQ_ELEM_177(_) BOOST_PP_SEQ_ELEM_176
# define BOOST_PP_SEQ_ELEM_178(_) BOOST_PP_SEQ_ELEM_177
# define BOOST_PP_SEQ_ELEM_179(_) BOOST_PP_SEQ_ELEM_178
# define BOOST_PP_SEQ_ELEM_180(_) BOOST_PP_SEQ_ELEM_179
# define BOOST_PP_SEQ_ELEM_181(_) BOOST_PP_SEQ_ELEM_180
# define BOOST_PP_SEQ_ELEM_182(_) BOOST_PP_SEQ_ELEM_181
# define BOOST_PP_SEQ_ELEM_183(_) BOOST_PP_SEQ_ELEM_182
# define BOOST_PP_SEQ_ELEM_184(_) BOOST_PP_SEQ_ELEM_183
# define BOOST_PP_SEQ_ELEM_185(_) BOOST_PP_SEQ_ELEM_184
# define BOOST_PP_SEQ_ELEM_186(_) BOOST_PP_SEQ_ELEM_185
# define BOOST_PP_SEQ_ELEM_187(_) BOOST_PP_SEQ_ELEM_186
# define BOOST_PP_SEQ_ELEM_188(_) BOOST_PP_SEQ_ELEM_187
# define BOOST_PP_SEQ_ELEM_189(_) BOOST_PP_SEQ_ELEM_188
# define BOOST_PP_SEQ_ELEM_190(_) BOOST_PP_SEQ_ELEM_189
# define BOOST_PP_SEQ_ELEM_191(_) BOOST_PP_SEQ_ELEM_190
# define BOOST_PP_SEQ_ELEM_192(_) BOOST_PP_SEQ_ELEM_191
# define BOOST_PP_SEQ_ELEM_193(_) BOOST_PP_SEQ_ELEM_192
# define BOOST_PP_SEQ_ELEM_194(_) BOOST_PP_SEQ_ELEM_193
# define BOOST_PP_SEQ_ELEM_195(_) BOOST_PP_SEQ_ELEM_194
# define BOOST_PP_SEQ_ELEM_196(_) BOOST_PP_SEQ_ELEM_195
# define BOOST_PP_SEQ_ELEM_197(_) BOOST_PP_SEQ_ELEM_196
# define BOOST_PP_SEQ_ELEM_198(_) BOOST_PP_SEQ_ELEM_197
# define BOOST_PP_SEQ_ELEM_199(_) BOOST_PP_SEQ_ELEM_198
# define BOOST_PP_SEQ_ELEM_200(_) BOOST_PP_SEQ_ELEM_199
# define BOOST_PP_SEQ_ELEM_201(_) BOOST_PP_SEQ_ELEM_200
# define BOOST_PP_SEQ_ELEM_202(_) BOOST_PP_SEQ_ELEM_201
# define BOOST_PP_SEQ_ELEM_203(_) BOOST_PP_SEQ_ELEM_202
# define BOOST_PP_SEQ_ELEM_204(_) BOOST_PP_SEQ_ELEM_203
# define BOOST_PP_SEQ_ELEM_205(_) BOOST_PP_SEQ_ELEM_204
# define BOOST_PP_SEQ_ELEM_206(_) BOOST_PP_SEQ_ELEM_205
# define BOOST_PP_SEQ_ELEM_207(_) BOOST_PP_SEQ_ELEM_206
# define BOOST_PP_SEQ_ELEM_208(_) BOOST_PP_SEQ_ELEM_207
# define BOOST_PP_SEQ_ELEM_209(_) BOOST_PP_SEQ_ELEM_208
# define BOOST_PP_SEQ_ELEM_210(_) BOOST_PP_SEQ_ELEM_209
# define BOOST_PP_SEQ_ELEM_211(_) BOOST_PP_SEQ_ELEM_210
# define BOOST_PP_SEQ_ELEM_212(_) BOOST_PP_SEQ_ELEM_211
# define BOOST_PP_SEQ_ELEM_213(_) BOOST_PP_SEQ_ELEM_212
# define BOOST_PP_SEQ_ELEM_214(_) BOOST_PP_SEQ_ELEM_213
# define BOOST_PP_SEQ_ELEM_215(_) BOOST_PP_SEQ_ELEM_214
# define BOOST_PP_SEQ_ELEM_216(_) BOOST_PP_SEQ_ELEM_215
# define BOOST_PP_SEQ_ELEM_217(_) BOOST_PP_SEQ_ELEM_216
# define BOOST_PP_SEQ_ELEM_218(_) BOOST_PP_SEQ_ELEM_217
# define BOOST_PP_SEQ_ELEM_219(_) BOOST_PP_SEQ_ELEM_218
# define BOOST_PP_SEQ_ELEM_220(_) BOOST_PP_SEQ_ELEM_219
# define BOOST_PP_SEQ_ELEM_221(_) BOOST_PP_SEQ_ELEM_220
# define BOOST_PP_SEQ_ELEM_222(_) BOOST_PP_SEQ_ELEM_221
# define BOOST_PP_SEQ_ELEM_223(_) BOOST_PP_SEQ_ELEM_222
# define BOOST_PP_SEQ_ELEM_224(_) BOOST_PP_SEQ_ELEM_223
# define BOOST_PP_SEQ_ELEM_225(_) BOOST_PP_SEQ_ELEM_224
# define BOOST_PP_SEQ_ELEM_226(_) BOOST_PP_SEQ_ELEM_225
# define BOOST_PP_SEQ_ELEM_227(_) BOOST_PP_SEQ_ELEM_226
# define BOOST_PP_SEQ_ELEM_228(_) BOOST_PP_SEQ_ELEM_227
# define BOOST_PP_SEQ_ELEM_229(_) BOOST_PP_SEQ_ELEM_228
# define BOOST_PP_SEQ_ELEM_230(_) BOOST_PP_SEQ_ELEM_229
# define BOOST_PP_SEQ_ELEM_231(_) BOOST_PP_SEQ_ELEM_230
# define BOOST_PP_SEQ_ELEM_232(_) BOOST_PP_SEQ_ELEM_231
# define BOOST_PP_SEQ_ELEM_233(_) BOOST_PP_SEQ_ELEM_232
# define BOOST_PP_SEQ_ELEM_234(_) BOOST_PP_SEQ_ELEM_233
# define BOOST_PP_SEQ_ELEM_235(_) BOOST_PP_SEQ_ELEM_234
# define BOOST_PP_SEQ_ELEM_236(_) BOOST_PP_SEQ_ELEM_235
# define BOOST_PP_SEQ_ELEM_237(_) BOOST_PP_SEQ_ELEM_236
# define BOOST_PP_SEQ_ELEM_238(_) BOOST_PP_SEQ_ELEM_237
# define BOOST_PP_SEQ_ELEM_239(_) BOOST_PP_SEQ_ELEM_238
# define BOOST_PP_SEQ_ELEM_240(_) BOOST_PP_SEQ_ELEM_239
# define BOOST_PP_SEQ_ELEM_241(_) BOOST_PP_SEQ_ELEM_240
# define BOOST_PP_SEQ_ELEM_242(_) BOOST_PP_SEQ_ELEM_241
# define BOOST_PP_SEQ_ELEM_243(_) BOOST_PP_SEQ_ELEM_242
# define BOOST_PP_SEQ_ELEM_244(_) BOOST_PP_SEQ_ELEM_243
# define BOOST_PP_SEQ_ELEM_245(_) BOOST_PP_SEQ_ELEM_244
# define BOOST_PP_SEQ_ELEM_246(_) BOOST_PP_SEQ_ELEM_245
# define BOOST_PP_SEQ_ELEM_247(_) BOOST_PP_SEQ_ELEM_246
# define BOOST_PP_SEQ_ELEM_248(_) BOOST_PP_SEQ_ELEM_247
# define BOOST_PP_SEQ_ELEM_249(_) BOOST_PP_SEQ_ELEM_248
# define BOOST_PP_SEQ_ELEM_250(_) BOOST_PP_SEQ_ELEM_249
# define BOOST_PP_SEQ_ELEM_251(_) BOOST_PP_SEQ_ELEM_250
# define BOOST_PP_SEQ_ELEM_252(_) BOOST_PP_SEQ_ELEM_251
# define BOOST_PP_SEQ_ELEM_253(_) BOOST_PP_SEQ_ELEM_252
# define BOOST_PP_SEQ_ELEM_254(_) BOOST_PP_SEQ_ELEM_253
# define BOOST_PP_SEQ_ELEM_255(_) BOOST_PP_SEQ_ELEM_254
#
# endif

View file

@ -0,0 +1,288 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_ENUM_HPP
# define BOOST_PREPROCESSOR_SEQ_ENUM_HPP
#
# include <boost/preprocessor/cat.hpp>
# include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/seq/size.hpp>
#
# /* BOOST_PP_SEQ_ENUM */
#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM_I(seq)
# define BOOST_PP_SEQ_ENUM_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
# define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM_I(BOOST_PP_SEQ_SIZE(seq), seq)
# define BOOST_PP_SEQ_ENUM_I(size, seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, size) seq
# else
# define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq
# endif
#
# define BOOST_PP_SEQ_ENUM_1(x) x
# define BOOST_PP_SEQ_ENUM_2(x) x, BOOST_PP_SEQ_ENUM_1
# define BOOST_PP_SEQ_ENUM_3(x) x, BOOST_PP_SEQ_ENUM_2
# define BOOST_PP_SEQ_ENUM_4(x) x, BOOST_PP_SEQ_ENUM_3
# define BOOST_PP_SEQ_ENUM_5(x) x, BOOST_PP_SEQ_ENUM_4
# define BOOST_PP_SEQ_ENUM_6(x) x, BOOST_PP_SEQ_ENUM_5
# define BOOST_PP_SEQ_ENUM_7(x) x, BOOST_PP_SEQ_ENUM_6
# define BOOST_PP_SEQ_ENUM_8(x) x, BOOST_PP_SEQ_ENUM_7
# define BOOST_PP_SEQ_ENUM_9(x) x, BOOST_PP_SEQ_ENUM_8
# define BOOST_PP_SEQ_ENUM_10(x) x, BOOST_PP_SEQ_ENUM_9
# define BOOST_PP_SEQ_ENUM_11(x) x, BOOST_PP_SEQ_ENUM_10
# define BOOST_PP_SEQ_ENUM_12(x) x, BOOST_PP_SEQ_ENUM_11
# define BOOST_PP_SEQ_ENUM_13(x) x, BOOST_PP_SEQ_ENUM_12
# define BOOST_PP_SEQ_ENUM_14(x) x, BOOST_PP_SEQ_ENUM_13
# define BOOST_PP_SEQ_ENUM_15(x) x, BOOST_PP_SEQ_ENUM_14
# define BOOST_PP_SEQ_ENUM_16(x) x, BOOST_PP_SEQ_ENUM_15
# define BOOST_PP_SEQ_ENUM_17(x) x, BOOST_PP_SEQ_ENUM_16
# define BOOST_PP_SEQ_ENUM_18(x) x, BOOST_PP_SEQ_ENUM_17
# define BOOST_PP_SEQ_ENUM_19(x) x, BOOST_PP_SEQ_ENUM_18
# define BOOST_PP_SEQ_ENUM_20(x) x, BOOST_PP_SEQ_ENUM_19
# define BOOST_PP_SEQ_ENUM_21(x) x, BOOST_PP_SEQ_ENUM_20
# define BOOST_PP_SEQ_ENUM_22(x) x, BOOST_PP_SEQ_ENUM_21
# define BOOST_PP_SEQ_ENUM_23(x) x, BOOST_PP_SEQ_ENUM_22
# define BOOST_PP_SEQ_ENUM_24(x) x, BOOST_PP_SEQ_ENUM_23
# define BOOST_PP_SEQ_ENUM_25(x) x, BOOST_PP_SEQ_ENUM_24
# define BOOST_PP_SEQ_ENUM_26(x) x, BOOST_PP_SEQ_ENUM_25
# define BOOST_PP_SEQ_ENUM_27(x) x, BOOST_PP_SEQ_ENUM_26
# define BOOST_PP_SEQ_ENUM_28(x) x, BOOST_PP_SEQ_ENUM_27
# define BOOST_PP_SEQ_ENUM_29(x) x, BOOST_PP_SEQ_ENUM_28
# define BOOST_PP_SEQ_ENUM_30(x) x, BOOST_PP_SEQ_ENUM_29
# define BOOST_PP_SEQ_ENUM_31(x) x, BOOST_PP_SEQ_ENUM_30
# define BOOST_PP_SEQ_ENUM_32(x) x, BOOST_PP_SEQ_ENUM_31
# define BOOST_PP_SEQ_ENUM_33(x) x, BOOST_PP_SEQ_ENUM_32
# define BOOST_PP_SEQ_ENUM_34(x) x, BOOST_PP_SEQ_ENUM_33
# define BOOST_PP_SEQ_ENUM_35(x) x, BOOST_PP_SEQ_ENUM_34
# define BOOST_PP_SEQ_ENUM_36(x) x, BOOST_PP_SEQ_ENUM_35
# define BOOST_PP_SEQ_ENUM_37(x) x, BOOST_PP_SEQ_ENUM_36
# define BOOST_PP_SEQ_ENUM_38(x) x, BOOST_PP_SEQ_ENUM_37
# define BOOST_PP_SEQ_ENUM_39(x) x, BOOST_PP_SEQ_ENUM_38
# define BOOST_PP_SEQ_ENUM_40(x) x, BOOST_PP_SEQ_ENUM_39
# define BOOST_PP_SEQ_ENUM_41(x) x, BOOST_PP_SEQ_ENUM_40
# define BOOST_PP_SEQ_ENUM_42(x) x, BOOST_PP_SEQ_ENUM_41
# define BOOST_PP_SEQ_ENUM_43(x) x, BOOST_PP_SEQ_ENUM_42
# define BOOST_PP_SEQ_ENUM_44(x) x, BOOST_PP_SEQ_ENUM_43
# define BOOST_PP_SEQ_ENUM_45(x) x, BOOST_PP_SEQ_ENUM_44
# define BOOST_PP_SEQ_ENUM_46(x) x, BOOST_PP_SEQ_ENUM_45
# define BOOST_PP_SEQ_ENUM_47(x) x, BOOST_PP_SEQ_ENUM_46
# define BOOST_PP_SEQ_ENUM_48(x) x, BOOST_PP_SEQ_ENUM_47
# define BOOST_PP_SEQ_ENUM_49(x) x, BOOST_PP_SEQ_ENUM_48
# define BOOST_PP_SEQ_ENUM_50(x) x, BOOST_PP_SEQ_ENUM_49
# define BOOST_PP_SEQ_ENUM_51(x) x, BOOST_PP_SEQ_ENUM_50
# define BOOST_PP_SEQ_ENUM_52(x) x, BOOST_PP_SEQ_ENUM_51
# define BOOST_PP_SEQ_ENUM_53(x) x, BOOST_PP_SEQ_ENUM_52
# define BOOST_PP_SEQ_ENUM_54(x) x, BOOST_PP_SEQ_ENUM_53
# define BOOST_PP_SEQ_ENUM_55(x) x, BOOST_PP_SEQ_ENUM_54
# define BOOST_PP_SEQ_ENUM_56(x) x, BOOST_PP_SEQ_ENUM_55
# define BOOST_PP_SEQ_ENUM_57(x) x, BOOST_PP_SEQ_ENUM_56
# define BOOST_PP_SEQ_ENUM_58(x) x, BOOST_PP_SEQ_ENUM_57
# define BOOST_PP_SEQ_ENUM_59(x) x, BOOST_PP_SEQ_ENUM_58
# define BOOST_PP_SEQ_ENUM_60(x) x, BOOST_PP_SEQ_ENUM_59
# define BOOST_PP_SEQ_ENUM_61(x) x, BOOST_PP_SEQ_ENUM_60
# define BOOST_PP_SEQ_ENUM_62(x) x, BOOST_PP_SEQ_ENUM_61
# define BOOST_PP_SEQ_ENUM_63(x) x, BOOST_PP_SEQ_ENUM_62
# define BOOST_PP_SEQ_ENUM_64(x) x, BOOST_PP_SEQ_ENUM_63
# define BOOST_PP_SEQ_ENUM_65(x) x, BOOST_PP_SEQ_ENUM_64
# define BOOST_PP_SEQ_ENUM_66(x) x, BOOST_PP_SEQ_ENUM_65
# define BOOST_PP_SEQ_ENUM_67(x) x, BOOST_PP_SEQ_ENUM_66
# define BOOST_PP_SEQ_ENUM_68(x) x, BOOST_PP_SEQ_ENUM_67
# define BOOST_PP_SEQ_ENUM_69(x) x, BOOST_PP_SEQ_ENUM_68
# define BOOST_PP_SEQ_ENUM_70(x) x, BOOST_PP_SEQ_ENUM_69
# define BOOST_PP_SEQ_ENUM_71(x) x, BOOST_PP_SEQ_ENUM_70
# define BOOST_PP_SEQ_ENUM_72(x) x, BOOST_PP_SEQ_ENUM_71
# define BOOST_PP_SEQ_ENUM_73(x) x, BOOST_PP_SEQ_ENUM_72
# define BOOST_PP_SEQ_ENUM_74(x) x, BOOST_PP_SEQ_ENUM_73
# define BOOST_PP_SEQ_ENUM_75(x) x, BOOST_PP_SEQ_ENUM_74
# define BOOST_PP_SEQ_ENUM_76(x) x, BOOST_PP_SEQ_ENUM_75
# define BOOST_PP_SEQ_ENUM_77(x) x, BOOST_PP_SEQ_ENUM_76
# define BOOST_PP_SEQ_ENUM_78(x) x, BOOST_PP_SEQ_ENUM_77
# define BOOST_PP_SEQ_ENUM_79(x) x, BOOST_PP_SEQ_ENUM_78
# define BOOST_PP_SEQ_ENUM_80(x) x, BOOST_PP_SEQ_ENUM_79
# define BOOST_PP_SEQ_ENUM_81(x) x, BOOST_PP_SEQ_ENUM_80
# define BOOST_PP_SEQ_ENUM_82(x) x, BOOST_PP_SEQ_ENUM_81
# define BOOST_PP_SEQ_ENUM_83(x) x, BOOST_PP_SEQ_ENUM_82
# define BOOST_PP_SEQ_ENUM_84(x) x, BOOST_PP_SEQ_ENUM_83
# define BOOST_PP_SEQ_ENUM_85(x) x, BOOST_PP_SEQ_ENUM_84
# define BOOST_PP_SEQ_ENUM_86(x) x, BOOST_PP_SEQ_ENUM_85
# define BOOST_PP_SEQ_ENUM_87(x) x, BOOST_PP_SEQ_ENUM_86
# define BOOST_PP_SEQ_ENUM_88(x) x, BOOST_PP_SEQ_ENUM_87
# define BOOST_PP_SEQ_ENUM_89(x) x, BOOST_PP_SEQ_ENUM_88
# define BOOST_PP_SEQ_ENUM_90(x) x, BOOST_PP_SEQ_ENUM_89
# define BOOST_PP_SEQ_ENUM_91(x) x, BOOST_PP_SEQ_ENUM_90
# define BOOST_PP_SEQ_ENUM_92(x) x, BOOST_PP_SEQ_ENUM_91
# define BOOST_PP_SEQ_ENUM_93(x) x, BOOST_PP_SEQ_ENUM_92
# define BOOST_PP_SEQ_ENUM_94(x) x, BOOST_PP_SEQ_ENUM_93
# define BOOST_PP_SEQ_ENUM_95(x) x, BOOST_PP_SEQ_ENUM_94
# define BOOST_PP_SEQ_ENUM_96(x) x, BOOST_PP_SEQ_ENUM_95
# define BOOST_PP_SEQ_ENUM_97(x) x, BOOST_PP_SEQ_ENUM_96
# define BOOST_PP_SEQ_ENUM_98(x) x, BOOST_PP_SEQ_ENUM_97
# define BOOST_PP_SEQ_ENUM_99(x) x, BOOST_PP_SEQ_ENUM_98
# define BOOST_PP_SEQ_ENUM_100(x) x, BOOST_PP_SEQ_ENUM_99
# define BOOST_PP_SEQ_ENUM_101(x) x, BOOST_PP_SEQ_ENUM_100
# define BOOST_PP_SEQ_ENUM_102(x) x, BOOST_PP_SEQ_ENUM_101
# define BOOST_PP_SEQ_ENUM_103(x) x, BOOST_PP_SEQ_ENUM_102
# define BOOST_PP_SEQ_ENUM_104(x) x, BOOST_PP_SEQ_ENUM_103
# define BOOST_PP_SEQ_ENUM_105(x) x, BOOST_PP_SEQ_ENUM_104
# define BOOST_PP_SEQ_ENUM_106(x) x, BOOST_PP_SEQ_ENUM_105
# define BOOST_PP_SEQ_ENUM_107(x) x, BOOST_PP_SEQ_ENUM_106
# define BOOST_PP_SEQ_ENUM_108(x) x, BOOST_PP_SEQ_ENUM_107
# define BOOST_PP_SEQ_ENUM_109(x) x, BOOST_PP_SEQ_ENUM_108
# define BOOST_PP_SEQ_ENUM_110(x) x, BOOST_PP_SEQ_ENUM_109
# define BOOST_PP_SEQ_ENUM_111(x) x, BOOST_PP_SEQ_ENUM_110
# define BOOST_PP_SEQ_ENUM_112(x) x, BOOST_PP_SEQ_ENUM_111
# define BOOST_PP_SEQ_ENUM_113(x) x, BOOST_PP_SEQ_ENUM_112
# define BOOST_PP_SEQ_ENUM_114(x) x, BOOST_PP_SEQ_ENUM_113
# define BOOST_PP_SEQ_ENUM_115(x) x, BOOST_PP_SEQ_ENUM_114
# define BOOST_PP_SEQ_ENUM_116(x) x, BOOST_PP_SEQ_ENUM_115
# define BOOST_PP_SEQ_ENUM_117(x) x, BOOST_PP_SEQ_ENUM_116
# define BOOST_PP_SEQ_ENUM_118(x) x, BOOST_PP_SEQ_ENUM_117
# define BOOST_PP_SEQ_ENUM_119(x) x, BOOST_PP_SEQ_ENUM_118
# define BOOST_PP_SEQ_ENUM_120(x) x, BOOST_PP_SEQ_ENUM_119
# define BOOST_PP_SEQ_ENUM_121(x) x, BOOST_PP_SEQ_ENUM_120
# define BOOST_PP_SEQ_ENUM_122(x) x, BOOST_PP_SEQ_ENUM_121
# define BOOST_PP_SEQ_ENUM_123(x) x, BOOST_PP_SEQ_ENUM_122
# define BOOST_PP_SEQ_ENUM_124(x) x, BOOST_PP_SEQ_ENUM_123
# define BOOST_PP_SEQ_ENUM_125(x) x, BOOST_PP_SEQ_ENUM_124
# define BOOST_PP_SEQ_ENUM_126(x) x, BOOST_PP_SEQ_ENUM_125
# define BOOST_PP_SEQ_ENUM_127(x) x, BOOST_PP_SEQ_ENUM_126
# define BOOST_PP_SEQ_ENUM_128(x) x, BOOST_PP_SEQ_ENUM_127
# define BOOST_PP_SEQ_ENUM_129(x) x, BOOST_PP_SEQ_ENUM_128
# define BOOST_PP_SEQ_ENUM_130(x) x, BOOST_PP_SEQ_ENUM_129
# define BOOST_PP_SEQ_ENUM_131(x) x, BOOST_PP_SEQ_ENUM_130
# define BOOST_PP_SEQ_ENUM_132(x) x, BOOST_PP_SEQ_ENUM_131
# define BOOST_PP_SEQ_ENUM_133(x) x, BOOST_PP_SEQ_ENUM_132
# define BOOST_PP_SEQ_ENUM_134(x) x, BOOST_PP_SEQ_ENUM_133
# define BOOST_PP_SEQ_ENUM_135(x) x, BOOST_PP_SEQ_ENUM_134
# define BOOST_PP_SEQ_ENUM_136(x) x, BOOST_PP_SEQ_ENUM_135
# define BOOST_PP_SEQ_ENUM_137(x) x, BOOST_PP_SEQ_ENUM_136
# define BOOST_PP_SEQ_ENUM_138(x) x, BOOST_PP_SEQ_ENUM_137
# define BOOST_PP_SEQ_ENUM_139(x) x, BOOST_PP_SEQ_ENUM_138
# define BOOST_PP_SEQ_ENUM_140(x) x, BOOST_PP_SEQ_ENUM_139
# define BOOST_PP_SEQ_ENUM_141(x) x, BOOST_PP_SEQ_ENUM_140
# define BOOST_PP_SEQ_ENUM_142(x) x, BOOST_PP_SEQ_ENUM_141
# define BOOST_PP_SEQ_ENUM_143(x) x, BOOST_PP_SEQ_ENUM_142
# define BOOST_PP_SEQ_ENUM_144(x) x, BOOST_PP_SEQ_ENUM_143
# define BOOST_PP_SEQ_ENUM_145(x) x, BOOST_PP_SEQ_ENUM_144
# define BOOST_PP_SEQ_ENUM_146(x) x, BOOST_PP_SEQ_ENUM_145
# define BOOST_PP_SEQ_ENUM_147(x) x, BOOST_PP_SEQ_ENUM_146
# define BOOST_PP_SEQ_ENUM_148(x) x, BOOST_PP_SEQ_ENUM_147
# define BOOST_PP_SEQ_ENUM_149(x) x, BOOST_PP_SEQ_ENUM_148
# define BOOST_PP_SEQ_ENUM_150(x) x, BOOST_PP_SEQ_ENUM_149
# define BOOST_PP_SEQ_ENUM_151(x) x, BOOST_PP_SEQ_ENUM_150
# define BOOST_PP_SEQ_ENUM_152(x) x, BOOST_PP_SEQ_ENUM_151
# define BOOST_PP_SEQ_ENUM_153(x) x, BOOST_PP_SEQ_ENUM_152
# define BOOST_PP_SEQ_ENUM_154(x) x, BOOST_PP_SEQ_ENUM_153
# define BOOST_PP_SEQ_ENUM_155(x) x, BOOST_PP_SEQ_ENUM_154
# define BOOST_PP_SEQ_ENUM_156(x) x, BOOST_PP_SEQ_ENUM_155
# define BOOST_PP_SEQ_ENUM_157(x) x, BOOST_PP_SEQ_ENUM_156
# define BOOST_PP_SEQ_ENUM_158(x) x, BOOST_PP_SEQ_ENUM_157
# define BOOST_PP_SEQ_ENUM_159(x) x, BOOST_PP_SEQ_ENUM_158
# define BOOST_PP_SEQ_ENUM_160(x) x, BOOST_PP_SEQ_ENUM_159
# define BOOST_PP_SEQ_ENUM_161(x) x, BOOST_PP_SEQ_ENUM_160
# define BOOST_PP_SEQ_ENUM_162(x) x, BOOST_PP_SEQ_ENUM_161
# define BOOST_PP_SEQ_ENUM_163(x) x, BOOST_PP_SEQ_ENUM_162
# define BOOST_PP_SEQ_ENUM_164(x) x, BOOST_PP_SEQ_ENUM_163
# define BOOST_PP_SEQ_ENUM_165(x) x, BOOST_PP_SEQ_ENUM_164
# define BOOST_PP_SEQ_ENUM_166(x) x, BOOST_PP_SEQ_ENUM_165
# define BOOST_PP_SEQ_ENUM_167(x) x, BOOST_PP_SEQ_ENUM_166
# define BOOST_PP_SEQ_ENUM_168(x) x, BOOST_PP_SEQ_ENUM_167
# define BOOST_PP_SEQ_ENUM_169(x) x, BOOST_PP_SEQ_ENUM_168
# define BOOST_PP_SEQ_ENUM_170(x) x, BOOST_PP_SEQ_ENUM_169
# define BOOST_PP_SEQ_ENUM_171(x) x, BOOST_PP_SEQ_ENUM_170
# define BOOST_PP_SEQ_ENUM_172(x) x, BOOST_PP_SEQ_ENUM_171
# define BOOST_PP_SEQ_ENUM_173(x) x, BOOST_PP_SEQ_ENUM_172
# define BOOST_PP_SEQ_ENUM_174(x) x, BOOST_PP_SEQ_ENUM_173
# define BOOST_PP_SEQ_ENUM_175(x) x, BOOST_PP_SEQ_ENUM_174
# define BOOST_PP_SEQ_ENUM_176(x) x, BOOST_PP_SEQ_ENUM_175
# define BOOST_PP_SEQ_ENUM_177(x) x, BOOST_PP_SEQ_ENUM_176
# define BOOST_PP_SEQ_ENUM_178(x) x, BOOST_PP_SEQ_ENUM_177
# define BOOST_PP_SEQ_ENUM_179(x) x, BOOST_PP_SEQ_ENUM_178
# define BOOST_PP_SEQ_ENUM_180(x) x, BOOST_PP_SEQ_ENUM_179
# define BOOST_PP_SEQ_ENUM_181(x) x, BOOST_PP_SEQ_ENUM_180
# define BOOST_PP_SEQ_ENUM_182(x) x, BOOST_PP_SEQ_ENUM_181
# define BOOST_PP_SEQ_ENUM_183(x) x, BOOST_PP_SEQ_ENUM_182
# define BOOST_PP_SEQ_ENUM_184(x) x, BOOST_PP_SEQ_ENUM_183
# define BOOST_PP_SEQ_ENUM_185(x) x, BOOST_PP_SEQ_ENUM_184
# define BOOST_PP_SEQ_ENUM_186(x) x, BOOST_PP_SEQ_ENUM_185
# define BOOST_PP_SEQ_ENUM_187(x) x, BOOST_PP_SEQ_ENUM_186
# define BOOST_PP_SEQ_ENUM_188(x) x, BOOST_PP_SEQ_ENUM_187
# define BOOST_PP_SEQ_ENUM_189(x) x, BOOST_PP_SEQ_ENUM_188
# define BOOST_PP_SEQ_ENUM_190(x) x, BOOST_PP_SEQ_ENUM_189
# define BOOST_PP_SEQ_ENUM_191(x) x, BOOST_PP_SEQ_ENUM_190
# define BOOST_PP_SEQ_ENUM_192(x) x, BOOST_PP_SEQ_ENUM_191
# define BOOST_PP_SEQ_ENUM_193(x) x, BOOST_PP_SEQ_ENUM_192
# define BOOST_PP_SEQ_ENUM_194(x) x, BOOST_PP_SEQ_ENUM_193
# define BOOST_PP_SEQ_ENUM_195(x) x, BOOST_PP_SEQ_ENUM_194
# define BOOST_PP_SEQ_ENUM_196(x) x, BOOST_PP_SEQ_ENUM_195
# define BOOST_PP_SEQ_ENUM_197(x) x, BOOST_PP_SEQ_ENUM_196
# define BOOST_PP_SEQ_ENUM_198(x) x, BOOST_PP_SEQ_ENUM_197
# define BOOST_PP_SEQ_ENUM_199(x) x, BOOST_PP_SEQ_ENUM_198
# define BOOST_PP_SEQ_ENUM_200(x) x, BOOST_PP_SEQ_ENUM_199
# define BOOST_PP_SEQ_ENUM_201(x) x, BOOST_PP_SEQ_ENUM_200
# define BOOST_PP_SEQ_ENUM_202(x) x, BOOST_PP_SEQ_ENUM_201
# define BOOST_PP_SEQ_ENUM_203(x) x, BOOST_PP_SEQ_ENUM_202
# define BOOST_PP_SEQ_ENUM_204(x) x, BOOST_PP_SEQ_ENUM_203
# define BOOST_PP_SEQ_ENUM_205(x) x, BOOST_PP_SEQ_ENUM_204
# define BOOST_PP_SEQ_ENUM_206(x) x, BOOST_PP_SEQ_ENUM_205
# define BOOST_PP_SEQ_ENUM_207(x) x, BOOST_PP_SEQ_ENUM_206
# define BOOST_PP_SEQ_ENUM_208(x) x, BOOST_PP_SEQ_ENUM_207
# define BOOST_PP_SEQ_ENUM_209(x) x, BOOST_PP_SEQ_ENUM_208
# define BOOST_PP_SEQ_ENUM_210(x) x, BOOST_PP_SEQ_ENUM_209
# define BOOST_PP_SEQ_ENUM_211(x) x, BOOST_PP_SEQ_ENUM_210
# define BOOST_PP_SEQ_ENUM_212(x) x, BOOST_PP_SEQ_ENUM_211
# define BOOST_PP_SEQ_ENUM_213(x) x, BOOST_PP_SEQ_ENUM_212
# define BOOST_PP_SEQ_ENUM_214(x) x, BOOST_PP_SEQ_ENUM_213
# define BOOST_PP_SEQ_ENUM_215(x) x, BOOST_PP_SEQ_ENUM_214
# define BOOST_PP_SEQ_ENUM_216(x) x, BOOST_PP_SEQ_ENUM_215
# define BOOST_PP_SEQ_ENUM_217(x) x, BOOST_PP_SEQ_ENUM_216
# define BOOST_PP_SEQ_ENUM_218(x) x, BOOST_PP_SEQ_ENUM_217
# define BOOST_PP_SEQ_ENUM_219(x) x, BOOST_PP_SEQ_ENUM_218
# define BOOST_PP_SEQ_ENUM_220(x) x, BOOST_PP_SEQ_ENUM_219
# define BOOST_PP_SEQ_ENUM_221(x) x, BOOST_PP_SEQ_ENUM_220
# define BOOST_PP_SEQ_ENUM_222(x) x, BOOST_PP_SEQ_ENUM_221
# define BOOST_PP_SEQ_ENUM_223(x) x, BOOST_PP_SEQ_ENUM_222
# define BOOST_PP_SEQ_ENUM_224(x) x, BOOST_PP_SEQ_ENUM_223
# define BOOST_PP_SEQ_ENUM_225(x) x, BOOST_PP_SEQ_ENUM_224
# define BOOST_PP_SEQ_ENUM_226(x) x, BOOST_PP_SEQ_ENUM_225
# define BOOST_PP_SEQ_ENUM_227(x) x, BOOST_PP_SEQ_ENUM_226
# define BOOST_PP_SEQ_ENUM_228(x) x, BOOST_PP_SEQ_ENUM_227
# define BOOST_PP_SEQ_ENUM_229(x) x, BOOST_PP_SEQ_ENUM_228
# define BOOST_PP_SEQ_ENUM_230(x) x, BOOST_PP_SEQ_ENUM_229
# define BOOST_PP_SEQ_ENUM_231(x) x, BOOST_PP_SEQ_ENUM_230
# define BOOST_PP_SEQ_ENUM_232(x) x, BOOST_PP_SEQ_ENUM_231
# define BOOST_PP_SEQ_ENUM_233(x) x, BOOST_PP_SEQ_ENUM_232
# define BOOST_PP_SEQ_ENUM_234(x) x, BOOST_PP_SEQ_ENUM_233
# define BOOST_PP_SEQ_ENUM_235(x) x, BOOST_PP_SEQ_ENUM_234
# define BOOST_PP_SEQ_ENUM_236(x) x, BOOST_PP_SEQ_ENUM_235
# define BOOST_PP_SEQ_ENUM_237(x) x, BOOST_PP_SEQ_ENUM_236
# define BOOST_PP_SEQ_ENUM_238(x) x, BOOST_PP_SEQ_ENUM_237
# define BOOST_PP_SEQ_ENUM_239(x) x, BOOST_PP_SEQ_ENUM_238
# define BOOST_PP_SEQ_ENUM_240(x) x, BOOST_PP_SEQ_ENUM_239
# define BOOST_PP_SEQ_ENUM_241(x) x, BOOST_PP_SEQ_ENUM_240
# define BOOST_PP_SEQ_ENUM_242(x) x, BOOST_PP_SEQ_ENUM_241
# define BOOST_PP_SEQ_ENUM_243(x) x, BOOST_PP_SEQ_ENUM_242
# define BOOST_PP_SEQ_ENUM_244(x) x, BOOST_PP_SEQ_ENUM_243
# define BOOST_PP_SEQ_ENUM_245(x) x, BOOST_PP_SEQ_ENUM_244
# define BOOST_PP_SEQ_ENUM_246(x) x, BOOST_PP_SEQ_ENUM_245
# define BOOST_PP_SEQ_ENUM_247(x) x, BOOST_PP_SEQ_ENUM_246
# define BOOST_PP_SEQ_ENUM_248(x) x, BOOST_PP_SEQ_ENUM_247
# define BOOST_PP_SEQ_ENUM_249(x) x, BOOST_PP_SEQ_ENUM_248
# define BOOST_PP_SEQ_ENUM_250(x) x, BOOST_PP_SEQ_ENUM_249
# define BOOST_PP_SEQ_ENUM_251(x) x, BOOST_PP_SEQ_ENUM_250
# define BOOST_PP_SEQ_ENUM_252(x) x, BOOST_PP_SEQ_ENUM_251
# define BOOST_PP_SEQ_ENUM_253(x) x, BOOST_PP_SEQ_ENUM_252
# define BOOST_PP_SEQ_ENUM_254(x) x, BOOST_PP_SEQ_ENUM_253
# define BOOST_PP_SEQ_ENUM_255(x) x, BOOST_PP_SEQ_ENUM_254
# define BOOST_PP_SEQ_ENUM_256(x) x, BOOST_PP_SEQ_ENUM_255
#
# endif

View file

@ -0,0 +1,30 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
# define BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
#
# include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/control/if.hpp>
# include <boost/preprocessor/seq/detail/split.hpp>
# include <boost/preprocessor/tuple/eat.hpp>
# include <boost/preprocessor/tuple/elem.hpp>
#
# /* BOOST_PP_SEQ_FIRST_N */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil)))
# else
# define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_SEQ_FIRST_N_I(n, seq)
# define BOOST_PP_SEQ_FIRST_N_I(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil)))
# endif
#
# endif

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,60 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP
# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP
#
# include <boost/preprocessor/arithmetic/dec.hpp>
# include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/repetition/for.hpp>
# include <boost/preprocessor/seq/seq.hpp>
# include <boost/preprocessor/seq/size.hpp>
# include <boost/preprocessor/tuple/elem.hpp>
# include <boost/preprocessor/tuple/rem.hpp>
#
# /* BOOST_PP_SEQ_FOR_EACH */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
# else
# define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_D(macro, data, seq)
# define BOOST_PP_SEQ_FOR_EACH_D(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
# endif
#
# define BOOST_PP_SEQ_FOR_EACH_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(3, 2, x)))
#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
# define BOOST_PP_SEQ_FOR_EACH_O(r, x) BOOST_PP_SEQ_FOR_EACH_O_I x
# else
# define BOOST_PP_SEQ_FOR_EACH_O(r, x) BOOST_PP_SEQ_FOR_EACH_O_I(BOOST_PP_TUPLE_ELEM(3, 0, x), BOOST_PP_TUPLE_ELEM(3, 1, x), BOOST_PP_TUPLE_ELEM(3, 2, x))
# endif
#
# define BOOST_PP_SEQ_FOR_EACH_O_I(macro, data, seq) (macro, data, BOOST_PP_SEQ_TAIL(seq))
#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
# define BOOST_PP_SEQ_FOR_EACH_M(r, x) BOOST_PP_SEQ_FOR_EACH_M_IM(r, BOOST_PP_TUPLE_REM_3 x)
# define BOOST_PP_SEQ_FOR_EACH_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_M_I(r, im)
# else
# define BOOST_PP_SEQ_FOR_EACH_M(r, x) BOOST_PP_SEQ_FOR_EACH_M_I(r, BOOST_PP_TUPLE_ELEM(3, 0, x), BOOST_PP_TUPLE_ELEM(3, 1, x), BOOST_PP_TUPLE_ELEM(3, 2, x))
# endif
#
# define BOOST_PP_SEQ_FOR_EACH_M_I(r, macro, data, seq) macro(r, data, BOOST_PP_SEQ_HEAD(seq))
#
# /* BOOST_PP_SEQ_FOR_EACH_R */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
# else
# define BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq)
# define BOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
# endif
#
# endif

View file

@ -0,0 +1,61 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP
# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP
#
# include <boost/preprocessor/arithmetic/dec.hpp>
# include <boost/preprocessor/arithmetic/inc.hpp>
# include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/repetition/for.hpp>
# include <boost/preprocessor/seq/seq.hpp>
# include <boost/preprocessor/seq/size.hpp>
# include <boost/preprocessor/tuple/elem.hpp>
# include <boost/preprocessor/tuple/rem.hpp>
#
# /* BOOST_PP_SEQ_FOR_EACH_I */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
# else
# define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq)
# define BOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
# endif
#
# define BOOST_PP_SEQ_FOR_EACH_I_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(4, 2, x)))
#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
# define BOOST_PP_SEQ_FOR_EACH_I_O(r, x) BOOST_PP_SEQ_FOR_EACH_I_O_I x
# else
# define BOOST_PP_SEQ_FOR_EACH_I_O(r, x) BOOST_PP_SEQ_FOR_EACH_I_O_I(BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
# endif
#
# define BOOST_PP_SEQ_FOR_EACH_I_O_I(macro, data, seq, i) (macro, data, BOOST_PP_SEQ_TAIL(seq), BOOST_PP_INC(i))
#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
# define BOOST_PP_SEQ_FOR_EACH_I_M(r, x) BOOST_PP_SEQ_FOR_EACH_I_M_IM(r, BOOST_PP_TUPLE_REM_4 x)
# define BOOST_PP_SEQ_FOR_EACH_I_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_I_M_I(r, im)
# else
# define BOOST_PP_SEQ_FOR_EACH_I_M(r, x) BOOST_PP_SEQ_FOR_EACH_I_M_I(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
# endif
#
# define BOOST_PP_SEQ_FOR_EACH_I_M_I(r, macro, data, seq, i) macro(r, data, i, BOOST_PP_SEQ_HEAD(seq))
#
# /* BOOST_PP_SEQ_FOR_EACH_I_R */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
# else
# define BOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq)
# define BOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
# endif
#
# endif

View file

@ -0,0 +1,30 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_REST_N_HPP
# define BOOST_PREPROCESSOR_SEQ_REST_N_HPP
#
# include <boost/preprocessor/arithmetic/inc.hpp>
# include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/facilities/empty.hpp>
# include <boost/preprocessor/seq/detail/split.hpp>
# include <boost/preprocessor/tuple/elem.hpp>
#
# /* BOOST_PP_SEQ_REST_N */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))()
# else
# define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_SEQ_REST_N_I(n, seq)
# define BOOST_PP_SEQ_REST_N_I(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))()
# endif
#
# endif

View file

@ -0,0 +1,44 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_SEQ_HPP
# define BOOST_PREPROCESSOR_SEQ_SEQ_HPP
#
# include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/seq/elem.hpp>
#
# /* BOOST_PP_SEQ_HEAD */
#
# define BOOST_PP_SEQ_HEAD(seq) BOOST_PP_SEQ_ELEM(0, seq)
#
# /* BOOST_PP_SEQ_TAIL */
#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_1((seq))
# define BOOST_PP_SEQ_TAIL_1(par) BOOST_PP_SEQ_TAIL_2 ## par
# define BOOST_PP_SEQ_TAIL_2(seq) BOOST_PP_SEQ_TAIL_I ## seq
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_ID(BOOST_PP_SEQ_TAIL_I seq)
# define BOOST_PP_SEQ_TAIL_ID(id) id
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_D(seq)
# define BOOST_PP_SEQ_TAIL_D(seq) BOOST_PP_SEQ_TAIL_I seq
# else
# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_I seq
# endif
#
# define BOOST_PP_SEQ_TAIL_I(x)
#
# /* BOOST_PP_SEQ_NIL */
#
# define BOOST_PP_SEQ_NIL(x) (x)
#
# endif

View file

@ -0,0 +1,547 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_SIZE_HPP
# define BOOST_PREPROCESSOR_SEQ_SIZE_HPP
#
# include <boost/preprocessor/cat.hpp>
# include <boost/preprocessor/config/config.hpp>
#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I((seq))
# define BOOST_PP_SEQ_SIZE_I(par) BOOST_PP_SEQ_SIZE_II ## par
# define BOOST_PP_SEQ_SIZE_II(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 ## seq)
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() || BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I(seq)
# define BOOST_PP_SEQ_SIZE_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq)
# elif defined(__IBMC__) || defined(__IBMCPP__)
# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
# else
# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq)
# endif
#
# define BOOST_PP_SEQ_SIZE_0(_) BOOST_PP_SEQ_SIZE_1
# define BOOST_PP_SEQ_SIZE_1(_) BOOST_PP_SEQ_SIZE_2
# define BOOST_PP_SEQ_SIZE_2(_) BOOST_PP_SEQ_SIZE_3
# define BOOST_PP_SEQ_SIZE_3(_) BOOST_PP_SEQ_SIZE_4
# define BOOST_PP_SEQ_SIZE_4(_) BOOST_PP_SEQ_SIZE_5
# define BOOST_PP_SEQ_SIZE_5(_) BOOST_PP_SEQ_SIZE_6
# define BOOST_PP_SEQ_SIZE_6(_) BOOST_PP_SEQ_SIZE_7
# define BOOST_PP_SEQ_SIZE_7(_) BOOST_PP_SEQ_SIZE_8
# define BOOST_PP_SEQ_SIZE_8(_) BOOST_PP_SEQ_SIZE_9
# define BOOST_PP_SEQ_SIZE_9(_) BOOST_PP_SEQ_SIZE_10
# define BOOST_PP_SEQ_SIZE_10(_) BOOST_PP_SEQ_SIZE_11
# define BOOST_PP_SEQ_SIZE_11(_) BOOST_PP_SEQ_SIZE_12
# define BOOST_PP_SEQ_SIZE_12(_) BOOST_PP_SEQ_SIZE_13
# define BOOST_PP_SEQ_SIZE_13(_) BOOST_PP_SEQ_SIZE_14
# define BOOST_PP_SEQ_SIZE_14(_) BOOST_PP_SEQ_SIZE_15
# define BOOST_PP_SEQ_SIZE_15(_) BOOST_PP_SEQ_SIZE_16
# define BOOST_PP_SEQ_SIZE_16(_) BOOST_PP_SEQ_SIZE_17
# define BOOST_PP_SEQ_SIZE_17(_) BOOST_PP_SEQ_SIZE_18
# define BOOST_PP_SEQ_SIZE_18(_) BOOST_PP_SEQ_SIZE_19
# define BOOST_PP_SEQ_SIZE_19(_) BOOST_PP_SEQ_SIZE_20
# define BOOST_PP_SEQ_SIZE_20(_) BOOST_PP_SEQ_SIZE_21
# define BOOST_PP_SEQ_SIZE_21(_) BOOST_PP_SEQ_SIZE_22
# define BOOST_PP_SEQ_SIZE_22(_) BOOST_PP_SEQ_SIZE_23
# define BOOST_PP_SEQ_SIZE_23(_) BOOST_PP_SEQ_SIZE_24
# define BOOST_PP_SEQ_SIZE_24(_) BOOST_PP_SEQ_SIZE_25
# define BOOST_PP_SEQ_SIZE_25(_) BOOST_PP_SEQ_SIZE_26
# define BOOST_PP_SEQ_SIZE_26(_) BOOST_PP_SEQ_SIZE_27
# define BOOST_PP_SEQ_SIZE_27(_) BOOST_PP_SEQ_SIZE_28
# define BOOST_PP_SEQ_SIZE_28(_) BOOST_PP_SEQ_SIZE_29
# define BOOST_PP_SEQ_SIZE_29(_) BOOST_PP_SEQ_SIZE_30
# define BOOST_PP_SEQ_SIZE_30(_) BOOST_PP_SEQ_SIZE_31
# define BOOST_PP_SEQ_SIZE_31(_) BOOST_PP_SEQ_SIZE_32
# define BOOST_PP_SEQ_SIZE_32(_) BOOST_PP_SEQ_SIZE_33
# define BOOST_PP_SEQ_SIZE_33(_) BOOST_PP_SEQ_SIZE_34
# define BOOST_PP_SEQ_SIZE_34(_) BOOST_PP_SEQ_SIZE_35
# define BOOST_PP_SEQ_SIZE_35(_) BOOST_PP_SEQ_SIZE_36
# define BOOST_PP_SEQ_SIZE_36(_) BOOST_PP_SEQ_SIZE_37
# define BOOST_PP_SEQ_SIZE_37(_) BOOST_PP_SEQ_SIZE_38
# define BOOST_PP_SEQ_SIZE_38(_) BOOST_PP_SEQ_SIZE_39
# define BOOST_PP_SEQ_SIZE_39(_) BOOST_PP_SEQ_SIZE_40
# define BOOST_PP_SEQ_SIZE_40(_) BOOST_PP_SEQ_SIZE_41
# define BOOST_PP_SEQ_SIZE_41(_) BOOST_PP_SEQ_SIZE_42
# define BOOST_PP_SEQ_SIZE_42(_) BOOST_PP_SEQ_SIZE_43
# define BOOST_PP_SEQ_SIZE_43(_) BOOST_PP_SEQ_SIZE_44
# define BOOST_PP_SEQ_SIZE_44(_) BOOST_PP_SEQ_SIZE_45
# define BOOST_PP_SEQ_SIZE_45(_) BOOST_PP_SEQ_SIZE_46
# define BOOST_PP_SEQ_SIZE_46(_) BOOST_PP_SEQ_SIZE_47
# define BOOST_PP_SEQ_SIZE_47(_) BOOST_PP_SEQ_SIZE_48
# define BOOST_PP_SEQ_SIZE_48(_) BOOST_PP_SEQ_SIZE_49
# define BOOST_PP_SEQ_SIZE_49(_) BOOST_PP_SEQ_SIZE_50
# define BOOST_PP_SEQ_SIZE_50(_) BOOST_PP_SEQ_SIZE_51
# define BOOST_PP_SEQ_SIZE_51(_) BOOST_PP_SEQ_SIZE_52
# define BOOST_PP_SEQ_SIZE_52(_) BOOST_PP_SEQ_SIZE_53
# define BOOST_PP_SEQ_SIZE_53(_) BOOST_PP_SEQ_SIZE_54
# define BOOST_PP_SEQ_SIZE_54(_) BOOST_PP_SEQ_SIZE_55
# define BOOST_PP_SEQ_SIZE_55(_) BOOST_PP_SEQ_SIZE_56
# define BOOST_PP_SEQ_SIZE_56(_) BOOST_PP_SEQ_SIZE_57
# define BOOST_PP_SEQ_SIZE_57(_) BOOST_PP_SEQ_SIZE_58
# define BOOST_PP_SEQ_SIZE_58(_) BOOST_PP_SEQ_SIZE_59
# define BOOST_PP_SEQ_SIZE_59(_) BOOST_PP_SEQ_SIZE_60
# define BOOST_PP_SEQ_SIZE_60(_) BOOST_PP_SEQ_SIZE_61
# define BOOST_PP_SEQ_SIZE_61(_) BOOST_PP_SEQ_SIZE_62
# define BOOST_PP_SEQ_SIZE_62(_) BOOST_PP_SEQ_SIZE_63
# define BOOST_PP_SEQ_SIZE_63(_) BOOST_PP_SEQ_SIZE_64
# define BOOST_PP_SEQ_SIZE_64(_) BOOST_PP_SEQ_SIZE_65
# define BOOST_PP_SEQ_SIZE_65(_) BOOST_PP_SEQ_SIZE_66
# define BOOST_PP_SEQ_SIZE_66(_) BOOST_PP_SEQ_SIZE_67
# define BOOST_PP_SEQ_SIZE_67(_) BOOST_PP_SEQ_SIZE_68
# define BOOST_PP_SEQ_SIZE_68(_) BOOST_PP_SEQ_SIZE_69
# define BOOST_PP_SEQ_SIZE_69(_) BOOST_PP_SEQ_SIZE_70
# define BOOST_PP_SEQ_SIZE_70(_) BOOST_PP_SEQ_SIZE_71
# define BOOST_PP_SEQ_SIZE_71(_) BOOST_PP_SEQ_SIZE_72
# define BOOST_PP_SEQ_SIZE_72(_) BOOST_PP_SEQ_SIZE_73
# define BOOST_PP_SEQ_SIZE_73(_) BOOST_PP_SEQ_SIZE_74
# define BOOST_PP_SEQ_SIZE_74(_) BOOST_PP_SEQ_SIZE_75
# define BOOST_PP_SEQ_SIZE_75(_) BOOST_PP_SEQ_SIZE_76
# define BOOST_PP_SEQ_SIZE_76(_) BOOST_PP_SEQ_SIZE_77
# define BOOST_PP_SEQ_SIZE_77(_) BOOST_PP_SEQ_SIZE_78
# define BOOST_PP_SEQ_SIZE_78(_) BOOST_PP_SEQ_SIZE_79
# define BOOST_PP_SEQ_SIZE_79(_) BOOST_PP_SEQ_SIZE_80
# define BOOST_PP_SEQ_SIZE_80(_) BOOST_PP_SEQ_SIZE_81
# define BOOST_PP_SEQ_SIZE_81(_) BOOST_PP_SEQ_SIZE_82
# define BOOST_PP_SEQ_SIZE_82(_) BOOST_PP_SEQ_SIZE_83
# define BOOST_PP_SEQ_SIZE_83(_) BOOST_PP_SEQ_SIZE_84
# define BOOST_PP_SEQ_SIZE_84(_) BOOST_PP_SEQ_SIZE_85
# define BOOST_PP_SEQ_SIZE_85(_) BOOST_PP_SEQ_SIZE_86
# define BOOST_PP_SEQ_SIZE_86(_) BOOST_PP_SEQ_SIZE_87
# define BOOST_PP_SEQ_SIZE_87(_) BOOST_PP_SEQ_SIZE_88
# define BOOST_PP_SEQ_SIZE_88(_) BOOST_PP_SEQ_SIZE_89
# define BOOST_PP_SEQ_SIZE_89(_) BOOST_PP_SEQ_SIZE_90
# define BOOST_PP_SEQ_SIZE_90(_) BOOST_PP_SEQ_SIZE_91
# define BOOST_PP_SEQ_SIZE_91(_) BOOST_PP_SEQ_SIZE_92
# define BOOST_PP_SEQ_SIZE_92(_) BOOST_PP_SEQ_SIZE_93
# define BOOST_PP_SEQ_SIZE_93(_) BOOST_PP_SEQ_SIZE_94
# define BOOST_PP_SEQ_SIZE_94(_) BOOST_PP_SEQ_SIZE_95
# define BOOST_PP_SEQ_SIZE_95(_) BOOST_PP_SEQ_SIZE_96
# define BOOST_PP_SEQ_SIZE_96(_) BOOST_PP_SEQ_SIZE_97
# define BOOST_PP_SEQ_SIZE_97(_) BOOST_PP_SEQ_SIZE_98
# define BOOST_PP_SEQ_SIZE_98(_) BOOST_PP_SEQ_SIZE_99
# define BOOST_PP_SEQ_SIZE_99(_) BOOST_PP_SEQ_SIZE_100
# define BOOST_PP_SEQ_SIZE_100(_) BOOST_PP_SEQ_SIZE_101
# define BOOST_PP_SEQ_SIZE_101(_) BOOST_PP_SEQ_SIZE_102
# define BOOST_PP_SEQ_SIZE_102(_) BOOST_PP_SEQ_SIZE_103
# define BOOST_PP_SEQ_SIZE_103(_) BOOST_PP_SEQ_SIZE_104
# define BOOST_PP_SEQ_SIZE_104(_) BOOST_PP_SEQ_SIZE_105
# define BOOST_PP_SEQ_SIZE_105(_) BOOST_PP_SEQ_SIZE_106
# define BOOST_PP_SEQ_SIZE_106(_) BOOST_PP_SEQ_SIZE_107
# define BOOST_PP_SEQ_SIZE_107(_) BOOST_PP_SEQ_SIZE_108
# define BOOST_PP_SEQ_SIZE_108(_) BOOST_PP_SEQ_SIZE_109
# define BOOST_PP_SEQ_SIZE_109(_) BOOST_PP_SEQ_SIZE_110
# define BOOST_PP_SEQ_SIZE_110(_) BOOST_PP_SEQ_SIZE_111
# define BOOST_PP_SEQ_SIZE_111(_) BOOST_PP_SEQ_SIZE_112
# define BOOST_PP_SEQ_SIZE_112(_) BOOST_PP_SEQ_SIZE_113
# define BOOST_PP_SEQ_SIZE_113(_) BOOST_PP_SEQ_SIZE_114
# define BOOST_PP_SEQ_SIZE_114(_) BOOST_PP_SEQ_SIZE_115
# define BOOST_PP_SEQ_SIZE_115(_) BOOST_PP_SEQ_SIZE_116
# define BOOST_PP_SEQ_SIZE_116(_) BOOST_PP_SEQ_SIZE_117
# define BOOST_PP_SEQ_SIZE_117(_) BOOST_PP_SEQ_SIZE_118
# define BOOST_PP_SEQ_SIZE_118(_) BOOST_PP_SEQ_SIZE_119
# define BOOST_PP_SEQ_SIZE_119(_) BOOST_PP_SEQ_SIZE_120
# define BOOST_PP_SEQ_SIZE_120(_) BOOST_PP_SEQ_SIZE_121
# define BOOST_PP_SEQ_SIZE_121(_) BOOST_PP_SEQ_SIZE_122
# define BOOST_PP_SEQ_SIZE_122(_) BOOST_PP_SEQ_SIZE_123
# define BOOST_PP_SEQ_SIZE_123(_) BOOST_PP_SEQ_SIZE_124
# define BOOST_PP_SEQ_SIZE_124(_) BOOST_PP_SEQ_SIZE_125
# define BOOST_PP_SEQ_SIZE_125(_) BOOST_PP_SEQ_SIZE_126
# define BOOST_PP_SEQ_SIZE_126(_) BOOST_PP_SEQ_SIZE_127
# define BOOST_PP_SEQ_SIZE_127(_) BOOST_PP_SEQ_SIZE_128
# define BOOST_PP_SEQ_SIZE_128(_) BOOST_PP_SEQ_SIZE_129
# define BOOST_PP_SEQ_SIZE_129(_) BOOST_PP_SEQ_SIZE_130
# define BOOST_PP_SEQ_SIZE_130(_) BOOST_PP_SEQ_SIZE_131
# define BOOST_PP_SEQ_SIZE_131(_) BOOST_PP_SEQ_SIZE_132
# define BOOST_PP_SEQ_SIZE_132(_) BOOST_PP_SEQ_SIZE_133
# define BOOST_PP_SEQ_SIZE_133(_) BOOST_PP_SEQ_SIZE_134
# define BOOST_PP_SEQ_SIZE_134(_) BOOST_PP_SEQ_SIZE_135
# define BOOST_PP_SEQ_SIZE_135(_) BOOST_PP_SEQ_SIZE_136
# define BOOST_PP_SEQ_SIZE_136(_) BOOST_PP_SEQ_SIZE_137
# define BOOST_PP_SEQ_SIZE_137(_) BOOST_PP_SEQ_SIZE_138
# define BOOST_PP_SEQ_SIZE_138(_) BOOST_PP_SEQ_SIZE_139
# define BOOST_PP_SEQ_SIZE_139(_) BOOST_PP_SEQ_SIZE_140
# define BOOST_PP_SEQ_SIZE_140(_) BOOST_PP_SEQ_SIZE_141
# define BOOST_PP_SEQ_SIZE_141(_) BOOST_PP_SEQ_SIZE_142
# define BOOST_PP_SEQ_SIZE_142(_) BOOST_PP_SEQ_SIZE_143
# define BOOST_PP_SEQ_SIZE_143(_) BOOST_PP_SEQ_SIZE_144
# define BOOST_PP_SEQ_SIZE_144(_) BOOST_PP_SEQ_SIZE_145
# define BOOST_PP_SEQ_SIZE_145(_) BOOST_PP_SEQ_SIZE_146
# define BOOST_PP_SEQ_SIZE_146(_) BOOST_PP_SEQ_SIZE_147
# define BOOST_PP_SEQ_SIZE_147(_) BOOST_PP_SEQ_SIZE_148
# define BOOST_PP_SEQ_SIZE_148(_) BOOST_PP_SEQ_SIZE_149
# define BOOST_PP_SEQ_SIZE_149(_) BOOST_PP_SEQ_SIZE_150
# define BOOST_PP_SEQ_SIZE_150(_) BOOST_PP_SEQ_SIZE_151
# define BOOST_PP_SEQ_SIZE_151(_) BOOST_PP_SEQ_SIZE_152
# define BOOST_PP_SEQ_SIZE_152(_) BOOST_PP_SEQ_SIZE_153
# define BOOST_PP_SEQ_SIZE_153(_) BOOST_PP_SEQ_SIZE_154
# define BOOST_PP_SEQ_SIZE_154(_) BOOST_PP_SEQ_SIZE_155
# define BOOST_PP_SEQ_SIZE_155(_) BOOST_PP_SEQ_SIZE_156
# define BOOST_PP_SEQ_SIZE_156(_) BOOST_PP_SEQ_SIZE_157
# define BOOST_PP_SEQ_SIZE_157(_) BOOST_PP_SEQ_SIZE_158
# define BOOST_PP_SEQ_SIZE_158(_) BOOST_PP_SEQ_SIZE_159
# define BOOST_PP_SEQ_SIZE_159(_) BOOST_PP_SEQ_SIZE_160
# define BOOST_PP_SEQ_SIZE_160(_) BOOST_PP_SEQ_SIZE_161
# define BOOST_PP_SEQ_SIZE_161(_) BOOST_PP_SEQ_SIZE_162
# define BOOST_PP_SEQ_SIZE_162(_) BOOST_PP_SEQ_SIZE_163
# define BOOST_PP_SEQ_SIZE_163(_) BOOST_PP_SEQ_SIZE_164
# define BOOST_PP_SEQ_SIZE_164(_) BOOST_PP_SEQ_SIZE_165
# define BOOST_PP_SEQ_SIZE_165(_) BOOST_PP_SEQ_SIZE_166
# define BOOST_PP_SEQ_SIZE_166(_) BOOST_PP_SEQ_SIZE_167
# define BOOST_PP_SEQ_SIZE_167(_) BOOST_PP_SEQ_SIZE_168
# define BOOST_PP_SEQ_SIZE_168(_) BOOST_PP_SEQ_SIZE_169
# define BOOST_PP_SEQ_SIZE_169(_) BOOST_PP_SEQ_SIZE_170
# define BOOST_PP_SEQ_SIZE_170(_) BOOST_PP_SEQ_SIZE_171
# define BOOST_PP_SEQ_SIZE_171(_) BOOST_PP_SEQ_SIZE_172
# define BOOST_PP_SEQ_SIZE_172(_) BOOST_PP_SEQ_SIZE_173
# define BOOST_PP_SEQ_SIZE_173(_) BOOST_PP_SEQ_SIZE_174
# define BOOST_PP_SEQ_SIZE_174(_) BOOST_PP_SEQ_SIZE_175
# define BOOST_PP_SEQ_SIZE_175(_) BOOST_PP_SEQ_SIZE_176
# define BOOST_PP_SEQ_SIZE_176(_) BOOST_PP_SEQ_SIZE_177
# define BOOST_PP_SEQ_SIZE_177(_) BOOST_PP_SEQ_SIZE_178
# define BOOST_PP_SEQ_SIZE_178(_) BOOST_PP_SEQ_SIZE_179
# define BOOST_PP_SEQ_SIZE_179(_) BOOST_PP_SEQ_SIZE_180
# define BOOST_PP_SEQ_SIZE_180(_) BOOST_PP_SEQ_SIZE_181
# define BOOST_PP_SEQ_SIZE_181(_) BOOST_PP_SEQ_SIZE_182
# define BOOST_PP_SEQ_SIZE_182(_) BOOST_PP_SEQ_SIZE_183
# define BOOST_PP_SEQ_SIZE_183(_) BOOST_PP_SEQ_SIZE_184
# define BOOST_PP_SEQ_SIZE_184(_) BOOST_PP_SEQ_SIZE_185
# define BOOST_PP_SEQ_SIZE_185(_) BOOST_PP_SEQ_SIZE_186
# define BOOST_PP_SEQ_SIZE_186(_) BOOST_PP_SEQ_SIZE_187
# define BOOST_PP_SEQ_SIZE_187(_) BOOST_PP_SEQ_SIZE_188
# define BOOST_PP_SEQ_SIZE_188(_) BOOST_PP_SEQ_SIZE_189
# define BOOST_PP_SEQ_SIZE_189(_) BOOST_PP_SEQ_SIZE_190
# define BOOST_PP_SEQ_SIZE_190(_) BOOST_PP_SEQ_SIZE_191
# define BOOST_PP_SEQ_SIZE_191(_) BOOST_PP_SEQ_SIZE_192
# define BOOST_PP_SEQ_SIZE_192(_) BOOST_PP_SEQ_SIZE_193
# define BOOST_PP_SEQ_SIZE_193(_) BOOST_PP_SEQ_SIZE_194
# define BOOST_PP_SEQ_SIZE_194(_) BOOST_PP_SEQ_SIZE_195
# define BOOST_PP_SEQ_SIZE_195(_) BOOST_PP_SEQ_SIZE_196
# define BOOST_PP_SEQ_SIZE_196(_) BOOST_PP_SEQ_SIZE_197
# define BOOST_PP_SEQ_SIZE_197(_) BOOST_PP_SEQ_SIZE_198
# define BOOST_PP_SEQ_SIZE_198(_) BOOST_PP_SEQ_SIZE_199
# define BOOST_PP_SEQ_SIZE_199(_) BOOST_PP_SEQ_SIZE_200
# define BOOST_PP_SEQ_SIZE_200(_) BOOST_PP_SEQ_SIZE_201
# define BOOST_PP_SEQ_SIZE_201(_) BOOST_PP_SEQ_SIZE_202
# define BOOST_PP_SEQ_SIZE_202(_) BOOST_PP_SEQ_SIZE_203
# define BOOST_PP_SEQ_SIZE_203(_) BOOST_PP_SEQ_SIZE_204
# define BOOST_PP_SEQ_SIZE_204(_) BOOST_PP_SEQ_SIZE_205
# define BOOST_PP_SEQ_SIZE_205(_) BOOST_PP_SEQ_SIZE_206
# define BOOST_PP_SEQ_SIZE_206(_) BOOST_PP_SEQ_SIZE_207
# define BOOST_PP_SEQ_SIZE_207(_) BOOST_PP_SEQ_SIZE_208
# define BOOST_PP_SEQ_SIZE_208(_) BOOST_PP_SEQ_SIZE_209
# define BOOST_PP_SEQ_SIZE_209(_) BOOST_PP_SEQ_SIZE_210
# define BOOST_PP_SEQ_SIZE_210(_) BOOST_PP_SEQ_SIZE_211
# define BOOST_PP_SEQ_SIZE_211(_) BOOST_PP_SEQ_SIZE_212
# define BOOST_PP_SEQ_SIZE_212(_) BOOST_PP_SEQ_SIZE_213
# define BOOST_PP_SEQ_SIZE_213(_) BOOST_PP_SEQ_SIZE_214
# define BOOST_PP_SEQ_SIZE_214(_) BOOST_PP_SEQ_SIZE_215
# define BOOST_PP_SEQ_SIZE_215(_) BOOST_PP_SEQ_SIZE_216
# define BOOST_PP_SEQ_SIZE_216(_) BOOST_PP_SEQ_SIZE_217
# define BOOST_PP_SEQ_SIZE_217(_) BOOST_PP_SEQ_SIZE_218
# define BOOST_PP_SEQ_SIZE_218(_) BOOST_PP_SEQ_SIZE_219
# define BOOST_PP_SEQ_SIZE_219(_) BOOST_PP_SEQ_SIZE_220
# define BOOST_PP_SEQ_SIZE_220(_) BOOST_PP_SEQ_SIZE_221
# define BOOST_PP_SEQ_SIZE_221(_) BOOST_PP_SEQ_SIZE_222
# define BOOST_PP_SEQ_SIZE_222(_) BOOST_PP_SEQ_SIZE_223
# define BOOST_PP_SEQ_SIZE_223(_) BOOST_PP_SEQ_SIZE_224
# define BOOST_PP_SEQ_SIZE_224(_) BOOST_PP_SEQ_SIZE_225
# define BOOST_PP_SEQ_SIZE_225(_) BOOST_PP_SEQ_SIZE_226
# define BOOST_PP_SEQ_SIZE_226(_) BOOST_PP_SEQ_SIZE_227
# define BOOST_PP_SEQ_SIZE_227(_) BOOST_PP_SEQ_SIZE_228
# define BOOST_PP_SEQ_SIZE_228(_) BOOST_PP_SEQ_SIZE_229
# define BOOST_PP_SEQ_SIZE_229(_) BOOST_PP_SEQ_SIZE_230
# define BOOST_PP_SEQ_SIZE_230(_) BOOST_PP_SEQ_SIZE_231
# define BOOST_PP_SEQ_SIZE_231(_) BOOST_PP_SEQ_SIZE_232
# define BOOST_PP_SEQ_SIZE_232(_) BOOST_PP_SEQ_SIZE_233
# define BOOST_PP_SEQ_SIZE_233(_) BOOST_PP_SEQ_SIZE_234
# define BOOST_PP_SEQ_SIZE_234(_) BOOST_PP_SEQ_SIZE_235
# define BOOST_PP_SEQ_SIZE_235(_) BOOST_PP_SEQ_SIZE_236
# define BOOST_PP_SEQ_SIZE_236(_) BOOST_PP_SEQ_SIZE_237
# define BOOST_PP_SEQ_SIZE_237(_) BOOST_PP_SEQ_SIZE_238
# define BOOST_PP_SEQ_SIZE_238(_) BOOST_PP_SEQ_SIZE_239
# define BOOST_PP_SEQ_SIZE_239(_) BOOST_PP_SEQ_SIZE_240
# define BOOST_PP_SEQ_SIZE_240(_) BOOST_PP_SEQ_SIZE_241
# define BOOST_PP_SEQ_SIZE_241(_) BOOST_PP_SEQ_SIZE_242
# define BOOST_PP_SEQ_SIZE_242(_) BOOST_PP_SEQ_SIZE_243
# define BOOST_PP_SEQ_SIZE_243(_) BOOST_PP_SEQ_SIZE_244
# define BOOST_PP_SEQ_SIZE_244(_) BOOST_PP_SEQ_SIZE_245
# define BOOST_PP_SEQ_SIZE_245(_) BOOST_PP_SEQ_SIZE_246
# define BOOST_PP_SEQ_SIZE_246(_) BOOST_PP_SEQ_SIZE_247
# define BOOST_PP_SEQ_SIZE_247(_) BOOST_PP_SEQ_SIZE_248
# define BOOST_PP_SEQ_SIZE_248(_) BOOST_PP_SEQ_SIZE_249
# define BOOST_PP_SEQ_SIZE_249(_) BOOST_PP_SEQ_SIZE_250
# define BOOST_PP_SEQ_SIZE_250(_) BOOST_PP_SEQ_SIZE_251
# define BOOST_PP_SEQ_SIZE_251(_) BOOST_PP_SEQ_SIZE_252
# define BOOST_PP_SEQ_SIZE_252(_) BOOST_PP_SEQ_SIZE_253
# define BOOST_PP_SEQ_SIZE_253(_) BOOST_PP_SEQ_SIZE_254
# define BOOST_PP_SEQ_SIZE_254(_) BOOST_PP_SEQ_SIZE_255
# define BOOST_PP_SEQ_SIZE_255(_) BOOST_PP_SEQ_SIZE_256
# define BOOST_PP_SEQ_SIZE_256(_) BOOST_PP_SEQ_SIZE_257
#
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_0 0
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_1 1
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_2 2
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_3 3
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_4 4
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_5 5
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_6 6
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_7 7
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_8 8
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_9 9
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_10 10
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_11 11
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_12 12
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_13 13
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_14 14
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_15 15
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_16 16
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_17 17
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_18 18
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_19 19
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_20 20
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_21 21
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_22 22
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_23 23
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_24 24
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_25 25
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_26 26
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_27 27
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_28 28
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_29 29
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_30 30
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_31 31
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_32 32
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_33 33
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_34 34
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_35 35
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_36 36
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_37 37
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_38 38
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_39 39
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_40 40
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_41 41
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_42 42
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_43 43
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_44 44
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_45 45
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_46 46
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_47 47
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_48 48
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_49 49
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_50 50
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_51 51
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_52 52
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_53 53
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_54 54
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_55 55
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_56 56
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_57 57
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_58 58
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_59 59
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_60 60
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_61 61
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_62 62
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_63 63
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_64 64
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_65 65
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_66 66
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_67 67
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_68 68
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_69 69
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_70 70
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_71 71
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_72 72
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_73 73
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_74 74
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_75 75
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_76 76
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_77 77
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_78 78
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_79 79
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_80 80
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_81 81
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_82 82
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_83 83
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_84 84
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_85 85
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_86 86
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_87 87
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_88 88
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_89 89
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_90 90
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_91 91
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_92 92
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_93 93
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_94 94
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_95 95
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_96 96
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_97 97
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_98 98
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_99 99
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_100 100
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_101 101
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_102 102
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_103 103
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_104 104
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_105 105
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_106 106
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_107 107
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_108 108
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_109 109
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_110 110
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_111 111
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_112 112
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_113 113
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_114 114
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_115 115
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_116 116
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_117 117
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_118 118
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_119 119
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_120 120
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_121 121
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_122 122
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_123 123
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_124 124
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_125 125
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_126 126
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_127 127
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_128 128
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_129 129
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_130 130
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_131 131
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_132 132
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_133 133
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_134 134
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_135 135
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_136 136
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_137 137
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_138 138
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_139 139
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_140 140
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_141 141
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_142 142
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_143 143
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_144 144
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_145 145
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_146 146
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_147 147
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_148 148
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_149 149
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_150 150
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_151 151
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_152 152
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_153 153
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_154 154
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_155 155
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_156 156
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_157 157
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_158 158
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_159 159
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_160 160
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_161 161
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_162 162
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_163 163
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_164 164
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_165 165
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_166 166
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_167 167
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_168 168
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_169 169
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_170 170
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_171 171
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_172 172
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_173 173
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_174 174
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_175 175
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_176 176
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_177 177
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_178 178
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_179 179
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_180 180
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_181 181
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_182 182
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_183 183
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_184 184
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_185 185
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_186 186
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_187 187
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_188 188
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_189 189
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_190 190
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_191 191
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_192 192
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_193 193
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_194 194
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_195 195
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_196 196
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_197 197
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_198 198
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_199 199
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_200 200
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_201 201
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_202 202
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_203 203
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_204 204
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_205 205
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_206 206
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_207 207
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_208 208
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_209 209
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_210 210
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_211 211
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_212 212
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_213 213
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_214 214
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_215 215
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_216 216
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_217 217
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_218 218
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_219 219
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_220 220
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_221 221
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_222 222
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_223 223
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_224 224
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_225 225
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_226 226
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_227 227
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_228 228
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_229 229
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_230 230
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_231 231
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_232 232
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_233 233
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_234 234
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_235 235
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_236 236
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_237 237
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_238 238
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_239 239
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_240 240
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_241 241
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_242 242
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_243 243
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_244 244
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_245 245
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_246 246
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_247 247
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_248 248
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_249 249
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_250 250
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_251 251
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_252 252
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_253 253
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_254 254
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_255 255
# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_256 256
#
# endif

View file

@ -0,0 +1,28 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP
# define BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP
#
# include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/seq/first_n.hpp>
# include <boost/preprocessor/seq/rest_n.hpp>
#
# /* BOOST_PP_SEQ_SUBSEQ */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq))
# else
# define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_SUBSEQ_I(seq, i, len)
# define BOOST_PP_SEQ_SUBSEQ_I(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq))
# endif
#
# endif

View file

@ -0,0 +1,48 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * Distributed under the Boost Software License, Version 1.0. (See
# * accompanying file LICENSE_1_0.txt or copy at
# * http://www.boost.org/LICENSE_1_0.txt)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP
# define BOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP
#
# include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/seq/fold_left.hpp>
# include <boost/preprocessor/seq/seq.hpp>
# include <boost/preprocessor/tuple/elem.hpp>
# include <boost/preprocessor/tuple/rem.hpp>
#
# /* BOOST_PP_SEQ_TRANSFORM */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_SEQ_TRANSFORM(op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
# else
# define BOOST_PP_SEQ_TRANSFORM(op, data, seq) BOOST_PP_SEQ_TRANSFORM_I(op, data, seq)
# define BOOST_PP_SEQ_TRANSFORM_I(op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
# endif
#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
# define BOOST_PP_SEQ_TRANSFORM_O(s, state, elem) BOOST_PP_SEQ_TRANSFORM_O_IM(s, BOOST_PP_TUPLE_REM_3 state, elem)
# define BOOST_PP_SEQ_TRANSFORM_O_IM(s, im, elem) BOOST_PP_SEQ_TRANSFORM_O_I(s, im, elem)
# else
# define BOOST_PP_SEQ_TRANSFORM_O(s, state, elem) BOOST_PP_SEQ_TRANSFORM_O_I(s, BOOST_PP_TUPLE_ELEM(3, 0, state), BOOST_PP_TUPLE_ELEM(3, 1, state), BOOST_PP_TUPLE_ELEM(3, 2, state), elem)
# endif
#
# define BOOST_PP_SEQ_TRANSFORM_O_I(s, op, data, res, elem) (op, data, res (op(s, data, elem)))
#
# /* BOOST_PP_SEQ_TRANSFORM_S */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_SEQ_TRANSFORM_S(s, op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
# else
# define BOOST_PP_SEQ_TRANSFORM_S(s, op, data, seq) BOOST_PP_SEQ_TRANSFORM_S_I(s, op, data, seq)
# define BOOST_PP_SEQ_TRANSFORM_S_I(s, op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
# endif
#
# endif