1 # /* **************************************************************************
\r
3 # * (C) Copyright Paul Mensonides 2002.
\r
4 # * Distributed under the Boost Software License, Version 1.0. (See
\r
5 # * accompanying file LICENSE_1_0.txt or copy at
\r
6 # * http://www.boost.org/LICENSE_1_0.txt)
\r
8 # ************************************************************************** */
\r
10 # /* See http://www.boost.org for most recent version. */
\r
12 # ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
\r
13 # define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
\r
15 # include <boost/preprocessor/control/iif.hpp>
\r
17 # /* BOOST_PP_AUTO_REC */
\r
19 # define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred)
\r
21 # define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
\r
22 # define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
\r
23 # define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
\r
24 # define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)
\r
25 # define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)
\r
26 # define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)
\r
27 # define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)
\r
28 # define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)
\r
30 # define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p##(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)
\r
31 # define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p##(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)
\r
32 # define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p##(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)
\r
33 # define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p##(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)
\r
34 # define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p##(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)
\r
35 # define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p##(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)
\r
36 # define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p##(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)
\r
37 # define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p##(1), 1, 2)
\r
38 # define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p##(3), 3, 4)
\r
39 # define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p##(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)
\r
40 # define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p##(5), 5, 6)
\r
41 # define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p##(7), 7, 8)
\r
42 # define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p##(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)
\r
43 # define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p##(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)
\r
44 # define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p##(9), 9, 10)
\r
45 # define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p##(11), 11, 12)
\r
46 # define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p##(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)
\r
47 # define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p##(13), 13, 14)
\r
48 # define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p##(15), 15, 16)
\r
49 # define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p##(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)
\r
50 # define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p##(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)
\r
51 # define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p##(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)
\r
52 # define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p##(17), 17, 18)
\r
53 # define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p##(19), 19, 20)
\r
54 # define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p##(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)
\r
55 # define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p##(21), 21, 22)
\r
56 # define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p##(23), 23, 24)
\r
57 # define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p##(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)
\r
58 # define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p##(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)
\r
59 # define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p##(25), 25, 26)
\r
60 # define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p##(27), 27, 28)
\r
61 # define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p##(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)
\r
62 # define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p##(29), 29, 30)
\r
63 # define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p##(31), 31, 32)
\r
64 # define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p##(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)
\r
65 # define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p##(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)
\r
66 # define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p##(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)
\r
67 # define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p##(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)
\r
68 # define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p##(33), 33, 34)
\r
69 # define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p##(35), 35, 36)
\r
70 # define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p##(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)
\r
71 # define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p##(37), 37, 38)
\r
72 # define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p##(39), 39, 40)
\r
73 # define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p##(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)
\r
74 # define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p##(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)
\r
75 # define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p##(41), 41, 42)
\r
76 # define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p##(43), 43, 44)
\r
77 # define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p##(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)
\r
78 # define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p##(45), 45, 46)
\r
79 # define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p##(47), 47, 48)
\r
80 # define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p##(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)
\r
81 # define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p##(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)
\r
82 # define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p##(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)
\r
83 # define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p##(49), 49, 50)
\r
84 # define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p##(51), 51, 52)
\r
85 # define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p##(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)
\r
86 # define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p##(53), 53, 54)
\r
87 # define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p##(55), 55, 56)
\r
88 # define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p##(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)
\r
89 # define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p##(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)
\r
90 # define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p##(57), 57, 58)
\r
91 # define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p##(59), 59, 60)
\r
92 # define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p##(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)
\r
93 # define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p##(61), 61, 62)
\r
94 # define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p##(63), 63, 64)
\r
95 # define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p##(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)
\r
96 # define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p##(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)
\r
97 # define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p##(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)
\r
98 # define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p##(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)
\r
99 # define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p##(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)
\r
100 # define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p##(65), 65, 66)
\r
101 # define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p##(67), 67, 68)
\r
102 # define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p##(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)
\r
103 # define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p##(69), 69, 70)
\r
104 # define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p##(71), 71, 72)
\r
105 # define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p##(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)
\r
106 # define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p##(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)
\r
107 # define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p##(73), 73, 74)
\r
108 # define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p##(75), 75, 76)
\r
109 # define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p##(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)
\r
110 # define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p##(77), 77, 78)
\r
111 # define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p##(79), 79, 80)
\r
112 # define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p##(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)
\r
113 # define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p##(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)
\r
114 # define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p##(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)
\r
115 # define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p##(81), 81, 82)
\r
116 # define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p##(83), 83, 84)
\r
117 # define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p##(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)
\r
118 # define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p##(85), 85, 86)
\r
119 # define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p##(87), 87, 88)
\r
120 # define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p##(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)
\r
121 # define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p##(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)
\r
122 # define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p##(89), 89, 90)
\r
123 # define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p##(91), 91, 92)
\r
124 # define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p##(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)
\r
125 # define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p##(93), 93, 94)
\r
126 # define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p##(95), 95, 96)
\r
127 # define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p##(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)
\r
128 # define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p##(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)
\r
129 # define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p##(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)
\r
130 # define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p##(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)
\r
131 # define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p##(97), 97, 98)
\r
132 # define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p##(99), 99, 100)
\r
133 # define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p##(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)
\r
134 # define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p##(101), 101, 102)
\r
135 # define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p##(103), 103, 104)
\r
136 # define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p##(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)
\r
137 # define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p##(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)
\r
138 # define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p##(105), 105, 106)
\r
139 # define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p##(107), 107, 108)
\r
140 # define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p##(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)
\r
141 # define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p##(109), 109, 110)
\r
142 # define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p##(111), 111, 112)
\r
143 # define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p##(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)
\r
144 # define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p##(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)
\r
145 # define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p##(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115)
\r
146 # define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p##(113), 113, 114)
\r
147 # define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p##(115), 115, 116)
\r
148 # define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p##(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119)
\r
149 # define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p##(117), 117, 118)
\r
150 # define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p##(119), 119, 120)
\r
151 # define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p##(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126)
\r
152 # define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p##(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123)
\r
153 # define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p##(121), 121, 122)
\r
154 # define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p##(123), 123, 124)
\r
155 # define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p##(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127)
\r
156 # define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p##(125), 125, 126)
\r
157 # define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p##(127), 127, 128)
\r
158 # define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p##(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224)
\r
159 # define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p##(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176)
\r
160 # define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p##(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152)
\r
161 # define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p##(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140)
\r
162 # define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p##(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134)
\r
163 # define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p##(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131)
\r
164 # define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p##(129), 129, 130)
\r
165 # define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p##(131), 131, 132)
\r
166 # define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p##(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135)
\r
167 # define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p##(133), 133, 134)
\r
168 # define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p##(135), 135, 136)
\r
169 # define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p##(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142)
\r
170 # define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p##(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139)
\r
171 # define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p##(137), 137, 138)
\r
172 # define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p##(139), 139, 140)
\r
173 # define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p##(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143)
\r
174 # define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p##(141), 141, 142)
\r
175 # define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p##(143), 143, 144)
\r
176 # define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p##(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156)
\r
177 # define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p##(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150)
\r
178 # define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p##(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147)
\r
179 # define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p##(145), 145, 146)
\r
180 # define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p##(147), 147, 148)
\r
181 # define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p##(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151)
\r
182 # define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p##(149), 149, 150)
\r
183 # define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p##(151), 151, 152)
\r
184 # define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p##(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158)
\r
185 # define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p##(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155)
\r
186 # define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p##(153), 153, 154)
\r
187 # define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p##(155), 155, 156)
\r
188 # define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p##(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159)
\r
189 # define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p##(157), 157, 158)
\r
190 # define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p##(159), 159, 160)
\r
191 # define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p##(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184)
\r
192 # define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p##(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172)
\r
193 # define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p##(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166)
\r
194 # define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p##(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163)
\r
195 # define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p##(161), 161, 162)
\r
196 # define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p##(163), 163, 164)
\r
197 # define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p##(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167)
\r
198 # define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p##(165), 165, 166)
\r
199 # define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p##(167), 167, 168)
\r
200 # define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p##(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174)
\r
201 # define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p##(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171)
\r
202 # define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p##(169), 169, 170)
\r
203 # define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p##(171), 171, 172)
\r
204 # define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p##(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175)
\r
205 # define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p##(173), 173, 174)
\r
206 # define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p##(175), 175, 176)
\r
207 # define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p##(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188)
\r
208 # define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p##(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182)
\r
209 # define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p##(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179)
\r
210 # define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p##(177), 177, 178)
\r
211 # define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p##(179), 179, 180)
\r
212 # define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p##(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183)
\r
213 # define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p##(181), 181, 182)
\r
214 # define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p##(183), 183, 184)
\r
215 # define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p##(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190)
\r
216 # define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p##(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187)
\r
217 # define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p##(185), 185, 186)
\r
218 # define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p##(187), 187, 188)
\r
219 # define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p##(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191)
\r
220 # define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p##(189), 189, 190)
\r
221 # define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p##(191), 191, 192)
\r
222 # define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p##(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240)
\r
223 # define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p##(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216)
\r
224 # define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p##(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204)
\r
225 # define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p##(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198)
\r
226 # define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p##(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195)
\r
227 # define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p##(193), 193, 194)
\r
228 # define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p##(195), 195, 196)
\r
229 # define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p##(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199)
\r
230 # define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p##(197), 197, 198)
\r
231 # define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p##(199), 199, 200)
\r
232 # define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p##(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206)
\r
233 # define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p##(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203)
\r
234 # define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p##(201), 201, 202)
\r
235 # define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p##(203), 203, 204)
\r
236 # define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p##(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207)
\r
237 # define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p##(205), 205, 206)
\r
238 # define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p##(207), 207, 208)
\r
239 # define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p##(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220)
\r
240 # define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p##(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214)
\r
241 # define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p##(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211)
\r
242 # define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p##(209), 209, 210)
\r
243 # define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p##(211), 211, 212)
\r
244 # define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p##(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215)
\r
245 # define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p##(213), 213, 214)
\r
246 # define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p##(215), 215, 216)
\r
247 # define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p##(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222)
\r
248 # define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p##(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219)
\r
249 # define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p##(217), 217, 218)
\r
250 # define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p##(219), 219, 220)
\r
251 # define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p##(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223)
\r
252 # define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p##(221), 221, 222)
\r
253 # define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p##(223), 223, 224)
\r
254 # define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p##(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248)
\r
255 # define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p##(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236)
\r
256 # define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p##(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230)
\r
257 # define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p##(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227)
\r
258 # define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p##(225), 225, 226)
\r
259 # define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p##(227), 227, 228)
\r
260 # define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p##(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231)
\r
261 # define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p##(229), 229, 230)
\r
262 # define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p##(231), 231, 232)
\r
263 # define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p##(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238)
\r
264 # define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p##(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235)
\r
265 # define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p##(233), 233, 234)
\r
266 # define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p##(235), 235, 236)
\r
267 # define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p##(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239)
\r
268 # define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p##(237), 237, 238)
\r
269 # define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p##(239), 239, 240)
\r
270 # define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p##(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252)
\r
271 # define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p##(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246)
\r
272 # define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p##(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243)
\r
273 # define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p##(241), 241, 242)
\r
274 # define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p##(243), 243, 244)
\r
275 # define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p##(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247)
\r
276 # define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p##(245), 245, 246)
\r
277 # define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p##(247), 247, 248)
\r
278 # define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p##(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254)
\r
279 # define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p##(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251)
\r
280 # define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p##(249), 249, 250)
\r
281 # define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p##(251), 251, 252)
\r
282 # define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p##(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255)
\r
283 # define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p##(253), 253, 254)
\r
284 # define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p##(255), 255, 256)
\r