]> git.lyx.org Git - lyx.git/blob - boost/boost/preprocessor/repeat.hpp
update
[lyx.git] / boost / boost / preprocessor / repeat.hpp
1 #ifndef BOOST_PREPROCESSOR_REPEAT_HPP
2 #define BOOST_PREPROCESSOR_REPEAT_HPP
3
4 /* Copyright (C) 2001
5  * Housemarque Oy
6  * http://www.housemarque.com
7  *
8  * Permission to copy, use, modify, sell and distribute this software is
9  * granted provided this copyright notice appears in all copies. This
10  * software is provided "as is" without express or implied warranty, and
11  * with no claim as to its suitability for any purpose.
12  *
13  * See http://www.boost.org for most recent version.
14  */
15
16 #include <boost/preprocessor/detail/cat.hpp>
17 #include <boost/preprocessor/detail/auto_rec.hpp>
18 #include <boost/preprocessor/expand.hpp>
19
20 /** <p>Repeats the macro <code>MACRO(INDEX,DATA)</code> for <code>INDEX = [0,COUNT)</code>.</p>
21
22 <p>In other words, expands to the sequence:</p>
23
24 <pre>
25 MACRO(0,DATA) MACRO(1,DATA) ... MACRO(BOOST_PP_DEC(COUNT),DATA)
26 </pre>
27
28 <p>For example,</p>
29
30 <pre>
31 #define TEST(INDEX,DATA) DATA(INDEX);
32 BOOST_PP_REPEAT(3,TEST,X)
33 </pre>
34
35 <p>expands to:</p>
36
37 <pre>
38 X(0); X(1); X(2);
39 </pre>
40
41 <h3>2D and 3D repetition</h3>
42
43 <p>BOOST_PP_REPEAT() implements automatic recursion. 2D and 3D repetition
44 are directly supported.</p>
45
46 <h3>Example</h3>
47 <ul>
48   <li><a href="../../example/duffs_device.c">duffs_device.c</a></li>
49   <li><a href="../../example/repeat_2d.c">repeat_2d.c</a></li>
50 </ul>
51
52 <h3>See</h3>
53 <ul>
54   <li>BOOST_PP_FOR()</li>
55   <li>BOOST_PP_LIMIT_DIM</li>
56   <li>BOOST_PP_LIMIT_MAG</li>
57 </ul>
58
59 <h3>Test</h3>
60 <ul>
61   <li><a href="../../test/repeat_test.cpp">repeat_test.cpp</a></li>
62   <li><a href="../../test/repeat_2nd_test.cpp">repeat_2nd_test.cpp</a></li>
63 </ul>
64 */
65 #if 0
66 #  define BOOST_PP_REPEAT(COUNT,MACRO,DATA)
67 #endif
68
69 #if !defined(BOOST_NO_COMPILER_CONFIG) && defined(_MSC_VER)
70 /* This is a workaround for a MSVC++ PP bug. You'll need to add further
71  * BOOST_PP_REPEAT_AUTO_REC3/4/etc. wrapping as the maximum level of 
72  * nesting REPEATS increases
73  */
74 #  define BOOST_PP_REPEAT\
75      BOOST_PP_AUTO_REC_CAT1(BOOST_PP_REPEAT_,BOOST_PP_REPEAT_AUTO_REC2(\
76        BOOST_PP_REPEAT_AUTO_REC1,(BOOST_PP_AUTO_REC_ID,(1))\
77        ))
78 #else
79 #  define BOOST_PP_REPEAT\
80     BOOST_PP_AUTO_REC_CAT1(BOOST_PP_REPEAT_,BOOST_PP_REPEAT_AUTO_REC1(BOOST_PP_AUTO_REC_ID,(1)))
81 #endif
82
83 #define BOOST_PP_REPEAT_BOOST_PP_REPEAT_AUTO_REC1(M,P)\
84   BOOST_PP_AUTO_REC_CAT2(BOOST_PP_REPEAT_,BOOST_PP_REPEAT_AUTO_REC2(BOOST_PP_AUTO_REC_ID,(2)))
85 #define BOOST_PP_REPEAT_BOOST_PP_REPEAT_AUTO_REC2(M,P)\
86   BOOST_PP_AUTO_REC_CAT3(BOOST_PP_REPEAT_,BOOST_PP_REPEAT_AUTO_REC3(BOOST_PP_AUTO_REC_ID,(3)))
87 #define BOOST_PP_REPEAT_BOOST_PP_REPEAT_AUTO_REC3(M,P)\
88   (TOO MANY NESTED REPEATS!)
89
90 #define BOOST_PP_REPEAT_AUTO_REC1(M,P) BOOST_PP_EXPAND(M P)
91 #define BOOST_PP_REPEAT_AUTO_REC2(M,P) BOOST_PP_EXPAND(M P)
92 #define BOOST_PP_REPEAT_AUTO_REC3(M,P) BOOST_PP_EXPAND(M P)
93
94 #define BOOST_PP_REPEAT_1(C,M,D) BOOST_PP_REPEAT_AUTO_REC1(BOOST_PP_DETAIL_CAT2(BOOST_PP_R1_,C),(M,D))
95 #define BOOST_PP_R1_0(M,D)
96 #define BOOST_PP_R1_1(M,D) M(0,D)
97 #define BOOST_PP_R1_2(M,D) M(0,D) M(1,D)
98 #define BOOST_PP_R1_3(M,D) M(0,D) M(1,D) M(2,D)
99 #define BOOST_PP_R1_4(M,D) M(0,D) M(1,D) M(2,D) M(3,D)
100 #define BOOST_PP_R1_5(M,D) BOOST_PP_R1_4(M,D) M(4,D)
101 #define BOOST_PP_R1_6(M,D) BOOST_PP_R1_5(M,D) M(5,D)
102 #define BOOST_PP_R1_7(M,D) BOOST_PP_R1_6(M,D) M(6,D)
103 #define BOOST_PP_R1_8(M,D) BOOST_PP_R1_7(M,D) M(7,D)
104 #define BOOST_PP_R1_9(M,D) BOOST_PP_R1_8(M,D) M(8,D)
105 #define BOOST_PP_R1_10(M,D) BOOST_PP_R1_9(M,D) M(9,D)
106 #define BOOST_PP_R1_11(M,D) BOOST_PP_R1_10(M,D) M(10,D)
107 #define BOOST_PP_R1_12(M,D) BOOST_PP_R1_11(M,D) M(11,D)
108 #define BOOST_PP_R1_13(M,D) BOOST_PP_R1_12(M,D) M(12,D)
109 #define BOOST_PP_R1_14(M,D) BOOST_PP_R1_13(M,D) M(13,D)
110 #define BOOST_PP_R1_15(M,D) BOOST_PP_R1_14(M,D) M(14,D)
111 #define BOOST_PP_R1_16(M,D) BOOST_PP_R1_15(M,D) M(15,D)
112 #define BOOST_PP_R1_17(M,D) BOOST_PP_R1_16(M,D) M(16,D)
113 #define BOOST_PP_R1_18(M,D) BOOST_PP_R1_17(M,D) M(17,D)
114 #define BOOST_PP_R1_19(M,D) BOOST_PP_R1_18(M,D) M(18,D)
115 #define BOOST_PP_R1_20(M,D) BOOST_PP_R1_19(M,D) M(19,D)
116 #define BOOST_PP_R1_21(M,D) BOOST_PP_R1_20(M,D) M(20,D)
117 #define BOOST_PP_R1_22(M,D) BOOST_PP_R1_21(M,D) M(21,D)
118 #define BOOST_PP_R1_23(M,D) BOOST_PP_R1_22(M,D) M(22,D)
119 #define BOOST_PP_R1_24(M,D) BOOST_PP_R1_23(M,D) M(23,D)
120 #define BOOST_PP_R1_25(M,D) BOOST_PP_R1_24(M,D) M(24,D)
121 #define BOOST_PP_R1_26(M,D) BOOST_PP_R1_25(M,D) M(25,D)
122 #define BOOST_PP_R1_27(M,D) BOOST_PP_R1_26(M,D) M(26,D)
123 #define BOOST_PP_R1_28(M,D) BOOST_PP_R1_27(M,D) M(27,D)
124 #define BOOST_PP_R1_29(M,D) BOOST_PP_R1_28(M,D) M(28,D)
125 #define BOOST_PP_R1_30(M,D) BOOST_PP_R1_29(M,D) M(29,D)
126 #define BOOST_PP_R1_31(M,D) BOOST_PP_R1_30(M,D) M(30,D)
127 #define BOOST_PP_R1_32(M,D) BOOST_PP_R1_31(M,D) M(31,D)
128 #define BOOST_PP_R1_33(M,D) BOOST_PP_R1_32(M,D) M(32,D)
129 #define BOOST_PP_R1_34(M,D) BOOST_PP_R1_33(M,D) M(33,D)
130 #define BOOST_PP_R1_35(M,D) BOOST_PP_R1_34(M,D) M(34,D)
131 #define BOOST_PP_R1_36(M,D) BOOST_PP_R1_35(M,D) M(35,D)
132 #define BOOST_PP_R1_37(M,D) BOOST_PP_R1_36(M,D) M(36,D)
133 #define BOOST_PP_R1_38(M,D) BOOST_PP_R1_37(M,D) M(37,D)
134 #define BOOST_PP_R1_39(M,D) BOOST_PP_R1_38(M,D) M(38,D)
135 #define BOOST_PP_R1_40(M,D) BOOST_PP_R1_39(M,D) M(39,D)
136 #define BOOST_PP_R1_41(M,D) BOOST_PP_R1_40(M,D) M(40,D)
137 #define BOOST_PP_R1_42(M,D) BOOST_PP_R1_41(M,D) M(41,D)
138 #define BOOST_PP_R1_43(M,D) BOOST_PP_R1_42(M,D) M(42,D)
139 #define BOOST_PP_R1_44(M,D) BOOST_PP_R1_43(M,D) M(43,D)
140 #define BOOST_PP_R1_45(M,D) BOOST_PP_R1_44(M,D) M(44,D)
141 #define BOOST_PP_R1_46(M,D) BOOST_PP_R1_45(M,D) M(45,D)
142 #define BOOST_PP_R1_47(M,D) BOOST_PP_R1_46(M,D) M(46,D)
143 #define BOOST_PP_R1_48(M,D) BOOST_PP_R1_47(M,D) M(47,D)
144 #define BOOST_PP_R1_49(M,D) BOOST_PP_R1_48(M,D) M(48,D)
145 #define BOOST_PP_R1_50(M,D) BOOST_PP_R1_49(M,D) M(49,D)
146 #define BOOST_PP_R1_51(M,D) BOOST_PP_R1_50(M,D) M(50,D)
147 #define BOOST_PP_R1_52(M,D) BOOST_PP_R1_51(M,D) M(51,D)
148 #define BOOST_PP_R1_53(M,D) BOOST_PP_R1_52(M,D) M(52,D)
149 #define BOOST_PP_R1_54(M,D) BOOST_PP_R1_53(M,D) M(53,D)
150 #define BOOST_PP_R1_55(M,D) BOOST_PP_R1_54(M,D) M(54,D)
151 #define BOOST_PP_R1_56(M,D) BOOST_PP_R1_55(M,D) M(55,D)
152 #define BOOST_PP_R1_57(M,D) BOOST_PP_R1_56(M,D) M(56,D)
153 #define BOOST_PP_R1_58(M,D) BOOST_PP_R1_57(M,D) M(57,D)
154 #define BOOST_PP_R1_59(M,D) BOOST_PP_R1_58(M,D) M(58,D)
155 #define BOOST_PP_R1_60(M,D) BOOST_PP_R1_59(M,D) M(59,D)
156 #define BOOST_PP_R1_61(M,D) BOOST_PP_R1_60(M,D) M(60,D)
157 #define BOOST_PP_R1_62(M,D) BOOST_PP_R1_61(M,D) M(61,D)
158 #define BOOST_PP_R1_63(M,D) BOOST_PP_R1_62(M,D) M(62,D)
159 #define BOOST_PP_R1_64(M,D) BOOST_PP_R1_63(M,D) M(63,D)
160 #define BOOST_PP_R1_65(M,D) BOOST_PP_R1_64(M,D) M(64,D)
161 #define BOOST_PP_R1_66(M,D) BOOST_PP_R1_65(M,D) M(65,D)
162 #define BOOST_PP_R1_67(M,D) BOOST_PP_R1_66(M,D) M(66,D)
163 #define BOOST_PP_R1_68(M,D) BOOST_PP_R1_67(M,D) M(67,D)
164 #define BOOST_PP_R1_69(M,D) BOOST_PP_R1_68(M,D) M(68,D)
165 #define BOOST_PP_R1_70(M,D) BOOST_PP_R1_69(M,D) M(69,D)
166 #define BOOST_PP_R1_71(M,D) BOOST_PP_R1_70(M,D) M(70,D)
167 #define BOOST_PP_R1_72(M,D) BOOST_PP_R1_71(M,D) M(71,D)
168 #define BOOST_PP_R1_73(M,D) BOOST_PP_R1_72(M,D) M(72,D)
169 #define BOOST_PP_R1_74(M,D) BOOST_PP_R1_73(M,D) M(73,D)
170 #define BOOST_PP_R1_75(M,D) BOOST_PP_R1_74(M,D) M(74,D)
171 #define BOOST_PP_R1_76(M,D) BOOST_PP_R1_75(M,D) M(75,D)
172 #define BOOST_PP_R1_77(M,D) BOOST_PP_R1_76(M,D) M(76,D)
173 #define BOOST_PP_R1_78(M,D) BOOST_PP_R1_77(M,D) M(77,D)
174 #define BOOST_PP_R1_79(M,D) BOOST_PP_R1_78(M,D) M(78,D)
175 #define BOOST_PP_R1_80(M,D) BOOST_PP_R1_79(M,D) M(79,D)
176 #define BOOST_PP_R1_81(M,D) BOOST_PP_R1_80(M,D) M(80,D)
177 #define BOOST_PP_R1_82(M,D) BOOST_PP_R1_81(M,D) M(81,D)
178 #define BOOST_PP_R1_83(M,D) BOOST_PP_R1_82(M,D) M(82,D)
179 #define BOOST_PP_R1_84(M,D) BOOST_PP_R1_83(M,D) M(83,D)
180 #define BOOST_PP_R1_85(M,D) BOOST_PP_R1_84(M,D) M(84,D)
181 #define BOOST_PP_R1_86(M,D) BOOST_PP_R1_85(M,D) M(85,D)
182 #define BOOST_PP_R1_87(M,D) BOOST_PP_R1_86(M,D) M(86,D)
183 #define BOOST_PP_R1_88(M,D) BOOST_PP_R1_87(M,D) M(87,D)
184 #define BOOST_PP_R1_89(M,D) BOOST_PP_R1_88(M,D) M(88,D)
185 #define BOOST_PP_R1_90(M,D) BOOST_PP_R1_89(M,D) M(89,D)
186 #define BOOST_PP_R1_91(M,D) BOOST_PP_R1_90(M,D) M(90,D)
187 #define BOOST_PP_R1_92(M,D) BOOST_PP_R1_91(M,D) M(91,D)
188 #define BOOST_PP_R1_93(M,D) BOOST_PP_R1_92(M,D) M(92,D)
189 #define BOOST_PP_R1_94(M,D) BOOST_PP_R1_93(M,D) M(93,D)
190 #define BOOST_PP_R1_95(M,D) BOOST_PP_R1_94(M,D) M(94,D)
191 #define BOOST_PP_R1_96(M,D) BOOST_PP_R1_95(M,D) M(95,D)
192 #define BOOST_PP_R1_97(M,D) BOOST_PP_R1_96(M,D) M(96,D)
193 #define BOOST_PP_R1_98(M,D) BOOST_PP_R1_97(M,D) M(97,D)
194 #define BOOST_PP_R1_99(M,D) BOOST_PP_R1_98(M,D) M(98,D)
195 #define BOOST_PP_R1_100(M,D) BOOST_PP_R1_99(M,D) M(99,D)
196 #define BOOST_PP_R1_101(M,D) BOOST_PP_R1_100(M,D) M(100,D)
197 #define BOOST_PP_R1_102(M,D) BOOST_PP_R1_101(M,D) M(101,D)
198 #define BOOST_PP_R1_103(M,D) BOOST_PP_R1_102(M,D) M(102,D)
199 #define BOOST_PP_R1_104(M,D) BOOST_PP_R1_103(M,D) M(103,D)
200 #define BOOST_PP_R1_105(M,D) BOOST_PP_R1_104(M,D) M(104,D)
201 #define BOOST_PP_R1_106(M,D) BOOST_PP_R1_105(M,D) M(105,D)
202 #define BOOST_PP_R1_107(M,D) BOOST_PP_R1_106(M,D) M(106,D)
203 #define BOOST_PP_R1_108(M,D) BOOST_PP_R1_107(M,D) M(107,D)
204 #define BOOST_PP_R1_109(M,D) BOOST_PP_R1_108(M,D) M(108,D)
205 #define BOOST_PP_R1_110(M,D) BOOST_PP_R1_109(M,D) M(109,D)
206 #define BOOST_PP_R1_111(M,D) BOOST_PP_R1_110(M,D) M(110,D)
207 #define BOOST_PP_R1_112(M,D) BOOST_PP_R1_111(M,D) M(111,D)
208 #define BOOST_PP_R1_113(M,D) BOOST_PP_R1_112(M,D) M(112,D)
209 #define BOOST_PP_R1_114(M,D) BOOST_PP_R1_113(M,D) M(113,D)
210 #define BOOST_PP_R1_115(M,D) BOOST_PP_R1_114(M,D) M(114,D)
211 #define BOOST_PP_R1_116(M,D) BOOST_PP_R1_115(M,D) M(115,D)
212 #define BOOST_PP_R1_117(M,D) BOOST_PP_R1_116(M,D) M(116,D)
213 #define BOOST_PP_R1_118(M,D) BOOST_PP_R1_117(M,D) M(117,D)
214 #define BOOST_PP_R1_119(M,D) BOOST_PP_R1_118(M,D) M(118,D)
215 #define BOOST_PP_R1_120(M,D) BOOST_PP_R1_119(M,D) M(119,D)
216 #define BOOST_PP_R1_121(M,D) BOOST_PP_R1_120(M,D) M(120,D)
217 #define BOOST_PP_R1_122(M,D) BOOST_PP_R1_121(M,D) M(121,D)
218 #define BOOST_PP_R1_123(M,D) BOOST_PP_R1_122(M,D) M(122,D)
219 #define BOOST_PP_R1_124(M,D) BOOST_PP_R1_123(M,D) M(123,D)
220 #define BOOST_PP_R1_125(M,D) BOOST_PP_R1_124(M,D) M(124,D)
221 #define BOOST_PP_R1_126(M,D) BOOST_PP_R1_125(M,D) M(125,D)
222 #define BOOST_PP_R1_127(M,D) BOOST_PP_R1_126(M,D) M(126,D)
223 #define BOOST_PP_R1_128(M,D) BOOST_PP_R1_127(M,D) M(127,D)
224
225 #define BOOST_PP_REPEAT_2(C,M,D) BOOST_PP_REPEAT_AUTO_REC2(BOOST_PP_DETAIL_CAT2(BOOST_PP_R2_,C),(M,D))
226 #define BOOST_PP_R2_0(M,D)
227 #define BOOST_PP_R2_1(M,D) M(0,D)
228 #define BOOST_PP_R2_2(M,D) M(0,D) M(1,D)
229 #define BOOST_PP_R2_3(M,D) M(0,D) M(1,D) M(2,D)
230 #define BOOST_PP_R2_4(M,D) M(0,D) M(1,D) M(2,D) M(3,D)
231 #define BOOST_PP_R2_5(M,D) BOOST_PP_R2_4(M,D) M(4,D)
232 #define BOOST_PP_R2_6(M,D) BOOST_PP_R2_5(M,D) M(5,D)
233 #define BOOST_PP_R2_7(M,D) BOOST_PP_R2_6(M,D) M(6,D)
234 #define BOOST_PP_R2_8(M,D) BOOST_PP_R2_7(M,D) M(7,D)
235 #define BOOST_PP_R2_9(M,D) BOOST_PP_R2_8(M,D) M(8,D)
236 #define BOOST_PP_R2_10(M,D) BOOST_PP_R2_9(M,D) M(9,D)
237 #define BOOST_PP_R2_11(M,D) BOOST_PP_R2_10(M,D) M(10,D)
238 #define BOOST_PP_R2_12(M,D) BOOST_PP_R2_11(M,D) M(11,D)
239 #define BOOST_PP_R2_13(M,D) BOOST_PP_R2_12(M,D) M(12,D)
240 #define BOOST_PP_R2_14(M,D) BOOST_PP_R2_13(M,D) M(13,D)
241 #define BOOST_PP_R2_15(M,D) BOOST_PP_R2_14(M,D) M(14,D)
242 #define BOOST_PP_R2_16(M,D) BOOST_PP_R2_15(M,D) M(15,D)
243 #define BOOST_PP_R2_17(M,D) BOOST_PP_R2_16(M,D) M(16,D)
244 #define BOOST_PP_R2_18(M,D) BOOST_PP_R2_17(M,D) M(17,D)
245 #define BOOST_PP_R2_19(M,D) BOOST_PP_R2_18(M,D) M(18,D)
246 #define BOOST_PP_R2_20(M,D) BOOST_PP_R2_19(M,D) M(19,D)
247 #define BOOST_PP_R2_21(M,D) BOOST_PP_R2_20(M,D) M(20,D)
248 #define BOOST_PP_R2_22(M,D) BOOST_PP_R2_21(M,D) M(21,D)
249 #define BOOST_PP_R2_23(M,D) BOOST_PP_R2_22(M,D) M(22,D)
250 #define BOOST_PP_R2_24(M,D) BOOST_PP_R2_23(M,D) M(23,D)
251 #define BOOST_PP_R2_25(M,D) BOOST_PP_R2_24(M,D) M(24,D)
252 #define BOOST_PP_R2_26(M,D) BOOST_PP_R2_25(M,D) M(25,D)
253 #define BOOST_PP_R2_27(M,D) BOOST_PP_R2_26(M,D) M(26,D)
254 #define BOOST_PP_R2_28(M,D) BOOST_PP_R2_27(M,D) M(27,D)
255 #define BOOST_PP_R2_29(M,D) BOOST_PP_R2_28(M,D) M(28,D)
256 #define BOOST_PP_R2_30(M,D) BOOST_PP_R2_29(M,D) M(29,D)
257 #define BOOST_PP_R2_31(M,D) BOOST_PP_R2_30(M,D) M(30,D)
258 #define BOOST_PP_R2_32(M,D) BOOST_PP_R2_31(M,D) M(31,D)
259 #define BOOST_PP_R2_33(M,D) BOOST_PP_R2_32(M,D) M(32,D)
260 #define BOOST_PP_R2_34(M,D) BOOST_PP_R2_33(M,D) M(33,D)
261 #define BOOST_PP_R2_35(M,D) BOOST_PP_R2_34(M,D) M(34,D)
262 #define BOOST_PP_R2_36(M,D) BOOST_PP_R2_35(M,D) M(35,D)
263 #define BOOST_PP_R2_37(M,D) BOOST_PP_R2_36(M,D) M(36,D)
264 #define BOOST_PP_R2_38(M,D) BOOST_PP_R2_37(M,D) M(37,D)
265 #define BOOST_PP_R2_39(M,D) BOOST_PP_R2_38(M,D) M(38,D)
266 #define BOOST_PP_R2_40(M,D) BOOST_PP_R2_39(M,D) M(39,D)
267 #define BOOST_PP_R2_41(M,D) BOOST_PP_R2_40(M,D) M(40,D)
268 #define BOOST_PP_R2_42(M,D) BOOST_PP_R2_41(M,D) M(41,D)
269 #define BOOST_PP_R2_43(M,D) BOOST_PP_R2_42(M,D) M(42,D)
270 #define BOOST_PP_R2_44(M,D) BOOST_PP_R2_43(M,D) M(43,D)
271 #define BOOST_PP_R2_45(M,D) BOOST_PP_R2_44(M,D) M(44,D)
272 #define BOOST_PP_R2_46(M,D) BOOST_PP_R2_45(M,D) M(45,D)
273 #define BOOST_PP_R2_47(M,D) BOOST_PP_R2_46(M,D) M(46,D)
274 #define BOOST_PP_R2_48(M,D) BOOST_PP_R2_47(M,D) M(47,D)
275 #define BOOST_PP_R2_49(M,D) BOOST_PP_R2_48(M,D) M(48,D)
276 #define BOOST_PP_R2_50(M,D) BOOST_PP_R2_49(M,D) M(49,D)
277 #define BOOST_PP_R2_51(M,D) BOOST_PP_R2_50(M,D) M(50,D)
278 #define BOOST_PP_R2_52(M,D) BOOST_PP_R2_51(M,D) M(51,D)
279 #define BOOST_PP_R2_53(M,D) BOOST_PP_R2_52(M,D) M(52,D)
280 #define BOOST_PP_R2_54(M,D) BOOST_PP_R2_53(M,D) M(53,D)
281 #define BOOST_PP_R2_55(M,D) BOOST_PP_R2_54(M,D) M(54,D)
282 #define BOOST_PP_R2_56(M,D) BOOST_PP_R2_55(M,D) M(55,D)
283 #define BOOST_PP_R2_57(M,D) BOOST_PP_R2_56(M,D) M(56,D)
284 #define BOOST_PP_R2_58(M,D) BOOST_PP_R2_57(M,D) M(57,D)
285 #define BOOST_PP_R2_59(M,D) BOOST_PP_R2_58(M,D) M(58,D)
286 #define BOOST_PP_R2_60(M,D) BOOST_PP_R2_59(M,D) M(59,D)
287 #define BOOST_PP_R2_61(M,D) BOOST_PP_R2_60(M,D) M(60,D)
288 #define BOOST_PP_R2_62(M,D) BOOST_PP_R2_61(M,D) M(61,D)
289 #define BOOST_PP_R2_63(M,D) BOOST_PP_R2_62(M,D) M(62,D)
290 #define BOOST_PP_R2_64(M,D) BOOST_PP_R2_63(M,D) M(63,D)
291 #define BOOST_PP_R2_65(M,D) BOOST_PP_R2_64(M,D) M(64,D)
292 #define BOOST_PP_R2_66(M,D) BOOST_PP_R2_65(M,D) M(65,D)
293 #define BOOST_PP_R2_67(M,D) BOOST_PP_R2_66(M,D) M(66,D)
294 #define BOOST_PP_R2_68(M,D) BOOST_PP_R2_67(M,D) M(67,D)
295 #define BOOST_PP_R2_69(M,D) BOOST_PP_R2_68(M,D) M(68,D)
296 #define BOOST_PP_R2_70(M,D) BOOST_PP_R2_69(M,D) M(69,D)
297 #define BOOST_PP_R2_71(M,D) BOOST_PP_R2_70(M,D) M(70,D)
298 #define BOOST_PP_R2_72(M,D) BOOST_PP_R2_71(M,D) M(71,D)
299 #define BOOST_PP_R2_73(M,D) BOOST_PP_R2_72(M,D) M(72,D)
300 #define BOOST_PP_R2_74(M,D) BOOST_PP_R2_73(M,D) M(73,D)
301 #define BOOST_PP_R2_75(M,D) BOOST_PP_R2_74(M,D) M(74,D)
302 #define BOOST_PP_R2_76(M,D) BOOST_PP_R2_75(M,D) M(75,D)
303 #define BOOST_PP_R2_77(M,D) BOOST_PP_R2_76(M,D) M(76,D)
304 #define BOOST_PP_R2_78(M,D) BOOST_PP_R2_77(M,D) M(77,D)
305 #define BOOST_PP_R2_79(M,D) BOOST_PP_R2_78(M,D) M(78,D)
306 #define BOOST_PP_R2_80(M,D) BOOST_PP_R2_79(M,D) M(79,D)
307 #define BOOST_PP_R2_81(M,D) BOOST_PP_R2_80(M,D) M(80,D)
308 #define BOOST_PP_R2_82(M,D) BOOST_PP_R2_81(M,D) M(81,D)
309 #define BOOST_PP_R2_83(M,D) BOOST_PP_R2_82(M,D) M(82,D)
310 #define BOOST_PP_R2_84(M,D) BOOST_PP_R2_83(M,D) M(83,D)
311 #define BOOST_PP_R2_85(M,D) BOOST_PP_R2_84(M,D) M(84,D)
312 #define BOOST_PP_R2_86(M,D) BOOST_PP_R2_85(M,D) M(85,D)
313 #define BOOST_PP_R2_87(M,D) BOOST_PP_R2_86(M,D) M(86,D)
314 #define BOOST_PP_R2_88(M,D) BOOST_PP_R2_87(M,D) M(87,D)
315 #define BOOST_PP_R2_89(M,D) BOOST_PP_R2_88(M,D) M(88,D)
316 #define BOOST_PP_R2_90(M,D) BOOST_PP_R2_89(M,D) M(89,D)
317 #define BOOST_PP_R2_91(M,D) BOOST_PP_R2_90(M,D) M(90,D)
318 #define BOOST_PP_R2_92(M,D) BOOST_PP_R2_91(M,D) M(91,D)
319 #define BOOST_PP_R2_93(M,D) BOOST_PP_R2_92(M,D) M(92,D)
320 #define BOOST_PP_R2_94(M,D) BOOST_PP_R2_93(M,D) M(93,D)
321 #define BOOST_PP_R2_95(M,D) BOOST_PP_R2_94(M,D) M(94,D)
322 #define BOOST_PP_R2_96(M,D) BOOST_PP_R2_95(M,D) M(95,D)
323 #define BOOST_PP_R2_97(M,D) BOOST_PP_R2_96(M,D) M(96,D)
324 #define BOOST_PP_R2_98(M,D) BOOST_PP_R2_97(M,D) M(97,D)
325 #define BOOST_PP_R2_99(M,D) BOOST_PP_R2_98(M,D) M(98,D)
326 #define BOOST_PP_R2_100(M,D) BOOST_PP_R2_99(M,D) M(99,D)
327 #define BOOST_PP_R2_101(M,D) BOOST_PP_R2_100(M,D) M(100,D)
328 #define BOOST_PP_R2_102(M,D) BOOST_PP_R2_101(M,D) M(101,D)
329 #define BOOST_PP_R2_103(M,D) BOOST_PP_R2_102(M,D) M(102,D)
330 #define BOOST_PP_R2_104(M,D) BOOST_PP_R2_103(M,D) M(103,D)
331 #define BOOST_PP_R2_105(M,D) BOOST_PP_R2_104(M,D) M(104,D)
332 #define BOOST_PP_R2_106(M,D) BOOST_PP_R2_105(M,D) M(105,D)
333 #define BOOST_PP_R2_107(M,D) BOOST_PP_R2_106(M,D) M(106,D)
334 #define BOOST_PP_R2_108(M,D) BOOST_PP_R2_107(M,D) M(107,D)
335 #define BOOST_PP_R2_109(M,D) BOOST_PP_R2_108(M,D) M(108,D)
336 #define BOOST_PP_R2_110(M,D) BOOST_PP_R2_109(M,D) M(109,D)
337 #define BOOST_PP_R2_111(M,D) BOOST_PP_R2_110(M,D) M(110,D)
338 #define BOOST_PP_R2_112(M,D) BOOST_PP_R2_111(M,D) M(111,D)
339 #define BOOST_PP_R2_113(M,D) BOOST_PP_R2_112(M,D) M(112,D)
340 #define BOOST_PP_R2_114(M,D) BOOST_PP_R2_113(M,D) M(113,D)
341 #define BOOST_PP_R2_115(M,D) BOOST_PP_R2_114(M,D) M(114,D)
342 #define BOOST_PP_R2_116(M,D) BOOST_PP_R2_115(M,D) M(115,D)
343 #define BOOST_PP_R2_117(M,D) BOOST_PP_R2_116(M,D) M(116,D)
344 #define BOOST_PP_R2_118(M,D) BOOST_PP_R2_117(M,D) M(117,D)
345 #define BOOST_PP_R2_119(M,D) BOOST_PP_R2_118(M,D) M(118,D)
346 #define BOOST_PP_R2_120(M,D) BOOST_PP_R2_119(M,D) M(119,D)
347 #define BOOST_PP_R2_121(M,D) BOOST_PP_R2_120(M,D) M(120,D)
348 #define BOOST_PP_R2_122(M,D) BOOST_PP_R2_121(M,D) M(121,D)
349 #define BOOST_PP_R2_123(M,D) BOOST_PP_R2_122(M,D) M(122,D)
350 #define BOOST_PP_R2_124(M,D) BOOST_PP_R2_123(M,D) M(123,D)
351 #define BOOST_PP_R2_125(M,D) BOOST_PP_R2_124(M,D) M(124,D)
352 #define BOOST_PP_R2_126(M,D) BOOST_PP_R2_125(M,D) M(125,D)
353 #define BOOST_PP_R2_127(M,D) BOOST_PP_R2_126(M,D) M(126,D)
354 #define BOOST_PP_R2_128(M,D) BOOST_PP_R2_127(M,D) M(127,D)
355
356 #define BOOST_PP_REPEAT_3(C,M,D) BOOST_PP_REPEAT_AUTO_REC3(BOOST_PP_DETAIL_CAT2(BOOST_PP_R3_,C),(M,D))
357 #define BOOST_PP_R3_0(M,D)
358 #define BOOST_PP_R3_1(M,D) M(0,D)
359 #define BOOST_PP_R3_2(M,D) M(0,D) M(1,D)
360 #define BOOST_PP_R3_3(M,D) M(0,D) M(1,D) M(2,D)
361 #define BOOST_PP_R3_4(M,D) M(0,D) M(1,D) M(2,D) M(3,D)
362 #define BOOST_PP_R3_5(M,D) BOOST_PP_R3_4(M,D) M(4,D)
363 #define BOOST_PP_R3_6(M,D) BOOST_PP_R3_5(M,D) M(5,D)
364 #define BOOST_PP_R3_7(M,D) BOOST_PP_R3_6(M,D) M(6,D)
365 #define BOOST_PP_R3_8(M,D) BOOST_PP_R3_7(M,D) M(7,D)
366 #define BOOST_PP_R3_9(M,D) BOOST_PP_R3_8(M,D) M(8,D)
367 #define BOOST_PP_R3_10(M,D) BOOST_PP_R3_9(M,D) M(9,D)
368 #define BOOST_PP_R3_11(M,D) BOOST_PP_R3_10(M,D) M(10,D)
369 #define BOOST_PP_R3_12(M,D) BOOST_PP_R3_11(M,D) M(11,D)
370 #define BOOST_PP_R3_13(M,D) BOOST_PP_R3_12(M,D) M(12,D)
371 #define BOOST_PP_R3_14(M,D) BOOST_PP_R3_13(M,D) M(13,D)
372 #define BOOST_PP_R3_15(M,D) BOOST_PP_R3_14(M,D) M(14,D)
373 #define BOOST_PP_R3_16(M,D) BOOST_PP_R3_15(M,D) M(15,D)
374 #define BOOST_PP_R3_17(M,D) BOOST_PP_R3_16(M,D) M(16,D)
375 #define BOOST_PP_R3_18(M,D) BOOST_PP_R3_17(M,D) M(17,D)
376 #define BOOST_PP_R3_19(M,D) BOOST_PP_R3_18(M,D) M(18,D)
377 #define BOOST_PP_R3_20(M,D) BOOST_PP_R3_19(M,D) M(19,D)
378 #define BOOST_PP_R3_21(M,D) BOOST_PP_R3_20(M,D) M(20,D)
379 #define BOOST_PP_R3_22(M,D) BOOST_PP_R3_21(M,D) M(21,D)
380 #define BOOST_PP_R3_23(M,D) BOOST_PP_R3_22(M,D) M(22,D)
381 #define BOOST_PP_R3_24(M,D) BOOST_PP_R3_23(M,D) M(23,D)
382 #define BOOST_PP_R3_25(M,D) BOOST_PP_R3_24(M,D) M(24,D)
383 #define BOOST_PP_R3_26(M,D) BOOST_PP_R3_25(M,D) M(25,D)
384 #define BOOST_PP_R3_27(M,D) BOOST_PP_R3_26(M,D) M(26,D)
385 #define BOOST_PP_R3_28(M,D) BOOST_PP_R3_27(M,D) M(27,D)
386 #define BOOST_PP_R3_29(M,D) BOOST_PP_R3_28(M,D) M(28,D)
387 #define BOOST_PP_R3_30(M,D) BOOST_PP_R3_29(M,D) M(29,D)
388 #define BOOST_PP_R3_31(M,D) BOOST_PP_R3_30(M,D) M(30,D)
389 #define BOOST_PP_R3_32(M,D) BOOST_PP_R3_31(M,D) M(31,D)
390 #define BOOST_PP_R3_33(M,D) BOOST_PP_R3_32(M,D) M(32,D)
391 #define BOOST_PP_R3_34(M,D) BOOST_PP_R3_33(M,D) M(33,D)
392 #define BOOST_PP_R3_35(M,D) BOOST_PP_R3_34(M,D) M(34,D)
393 #define BOOST_PP_R3_36(M,D) BOOST_PP_R3_35(M,D) M(35,D)
394 #define BOOST_PP_R3_37(M,D) BOOST_PP_R3_36(M,D) M(36,D)
395 #define BOOST_PP_R3_38(M,D) BOOST_PP_R3_37(M,D) M(37,D)
396 #define BOOST_PP_R3_39(M,D) BOOST_PP_R3_38(M,D) M(38,D)
397 #define BOOST_PP_R3_40(M,D) BOOST_PP_R3_39(M,D) M(39,D)
398 #define BOOST_PP_R3_41(M,D) BOOST_PP_R3_40(M,D) M(40,D)
399 #define BOOST_PP_R3_42(M,D) BOOST_PP_R3_41(M,D) M(41,D)
400 #define BOOST_PP_R3_43(M,D) BOOST_PP_R3_42(M,D) M(42,D)
401 #define BOOST_PP_R3_44(M,D) BOOST_PP_R3_43(M,D) M(43,D)
402 #define BOOST_PP_R3_45(M,D) BOOST_PP_R3_44(M,D) M(44,D)
403 #define BOOST_PP_R3_46(M,D) BOOST_PP_R3_45(M,D) M(45,D)
404 #define BOOST_PP_R3_47(M,D) BOOST_PP_R3_46(M,D) M(46,D)
405 #define BOOST_PP_R3_48(M,D) BOOST_PP_R3_47(M,D) M(47,D)
406 #define BOOST_PP_R3_49(M,D) BOOST_PP_R3_48(M,D) M(48,D)
407 #define BOOST_PP_R3_50(M,D) BOOST_PP_R3_49(M,D) M(49,D)
408 #define BOOST_PP_R3_51(M,D) BOOST_PP_R3_50(M,D) M(50,D)
409 #define BOOST_PP_R3_52(M,D) BOOST_PP_R3_51(M,D) M(51,D)
410 #define BOOST_PP_R3_53(M,D) BOOST_PP_R3_52(M,D) M(52,D)
411 #define BOOST_PP_R3_54(M,D) BOOST_PP_R3_53(M,D) M(53,D)
412 #define BOOST_PP_R3_55(M,D) BOOST_PP_R3_54(M,D) M(54,D)
413 #define BOOST_PP_R3_56(M,D) BOOST_PP_R3_55(M,D) M(55,D)
414 #define BOOST_PP_R3_57(M,D) BOOST_PP_R3_56(M,D) M(56,D)
415 #define BOOST_PP_R3_58(M,D) BOOST_PP_R3_57(M,D) M(57,D)
416 #define BOOST_PP_R3_59(M,D) BOOST_PP_R3_58(M,D) M(58,D)
417 #define BOOST_PP_R3_60(M,D) BOOST_PP_R3_59(M,D) M(59,D)
418 #define BOOST_PP_R3_61(M,D) BOOST_PP_R3_60(M,D) M(60,D)
419 #define BOOST_PP_R3_62(M,D) BOOST_PP_R3_61(M,D) M(61,D)
420 #define BOOST_PP_R3_63(M,D) BOOST_PP_R3_62(M,D) M(62,D)
421 #define BOOST_PP_R3_64(M,D) BOOST_PP_R3_63(M,D) M(63,D)
422 #define BOOST_PP_R3_65(M,D) BOOST_PP_R3_64(M,D) M(64,D)
423 #define BOOST_PP_R3_66(M,D) BOOST_PP_R3_65(M,D) M(65,D)
424 #define BOOST_PP_R3_67(M,D) BOOST_PP_R3_66(M,D) M(66,D)
425 #define BOOST_PP_R3_68(M,D) BOOST_PP_R3_67(M,D) M(67,D)
426 #define BOOST_PP_R3_69(M,D) BOOST_PP_R3_68(M,D) M(68,D)
427 #define BOOST_PP_R3_70(M,D) BOOST_PP_R3_69(M,D) M(69,D)
428 #define BOOST_PP_R3_71(M,D) BOOST_PP_R3_70(M,D) M(70,D)
429 #define BOOST_PP_R3_72(M,D) BOOST_PP_R3_71(M,D) M(71,D)
430 #define BOOST_PP_R3_73(M,D) BOOST_PP_R3_72(M,D) M(72,D)
431 #define BOOST_PP_R3_74(M,D) BOOST_PP_R3_73(M,D) M(73,D)
432 #define BOOST_PP_R3_75(M,D) BOOST_PP_R3_74(M,D) M(74,D)
433 #define BOOST_PP_R3_76(M,D) BOOST_PP_R3_75(M,D) M(75,D)
434 #define BOOST_PP_R3_77(M,D) BOOST_PP_R3_76(M,D) M(76,D)
435 #define BOOST_PP_R3_78(M,D) BOOST_PP_R3_77(M,D) M(77,D)
436 #define BOOST_PP_R3_79(M,D) BOOST_PP_R3_78(M,D) M(78,D)
437 #define BOOST_PP_R3_80(M,D) BOOST_PP_R3_79(M,D) M(79,D)
438 #define BOOST_PP_R3_81(M,D) BOOST_PP_R3_80(M,D) M(80,D)
439 #define BOOST_PP_R3_82(M,D) BOOST_PP_R3_81(M,D) M(81,D)
440 #define BOOST_PP_R3_83(M,D) BOOST_PP_R3_82(M,D) M(82,D)
441 #define BOOST_PP_R3_84(M,D) BOOST_PP_R3_83(M,D) M(83,D)
442 #define BOOST_PP_R3_85(M,D) BOOST_PP_R3_84(M,D) M(84,D)
443 #define BOOST_PP_R3_86(M,D) BOOST_PP_R3_85(M,D) M(85,D)
444 #define BOOST_PP_R3_87(M,D) BOOST_PP_R3_86(M,D) M(86,D)
445 #define BOOST_PP_R3_88(M,D) BOOST_PP_R3_87(M,D) M(87,D)
446 #define BOOST_PP_R3_89(M,D) BOOST_PP_R3_88(M,D) M(88,D)
447 #define BOOST_PP_R3_90(M,D) BOOST_PP_R3_89(M,D) M(89,D)
448 #define BOOST_PP_R3_91(M,D) BOOST_PP_R3_90(M,D) M(90,D)
449 #define BOOST_PP_R3_92(M,D) BOOST_PP_R3_91(M,D) M(91,D)
450 #define BOOST_PP_R3_93(M,D) BOOST_PP_R3_92(M,D) M(92,D)
451 #define BOOST_PP_R3_94(M,D) BOOST_PP_R3_93(M,D) M(93,D)
452 #define BOOST_PP_R3_95(M,D) BOOST_PP_R3_94(M,D) M(94,D)
453 #define BOOST_PP_R3_96(M,D) BOOST_PP_R3_95(M,D) M(95,D)
454 #define BOOST_PP_R3_97(M,D) BOOST_PP_R3_96(M,D) M(96,D)
455 #define BOOST_PP_R3_98(M,D) BOOST_PP_R3_97(M,D) M(97,D)
456 #define BOOST_PP_R3_99(M,D) BOOST_PP_R3_98(M,D) M(98,D)
457 #define BOOST_PP_R3_100(M,D) BOOST_PP_R3_99(M,D) M(99,D)
458 #define BOOST_PP_R3_101(M,D) BOOST_PP_R3_100(M,D) M(100,D)
459 #define BOOST_PP_R3_102(M,D) BOOST_PP_R3_101(M,D) M(101,D)
460 #define BOOST_PP_R3_103(M,D) BOOST_PP_R3_102(M,D) M(102,D)
461 #define BOOST_PP_R3_104(M,D) BOOST_PP_R3_103(M,D) M(103,D)
462 #define BOOST_PP_R3_105(M,D) BOOST_PP_R3_104(M,D) M(104,D)
463 #define BOOST_PP_R3_106(M,D) BOOST_PP_R3_105(M,D) M(105,D)
464 #define BOOST_PP_R3_107(M,D) BOOST_PP_R3_106(M,D) M(106,D)
465 #define BOOST_PP_R3_108(M,D) BOOST_PP_R3_107(M,D) M(107,D)
466 #define BOOST_PP_R3_109(M,D) BOOST_PP_R3_108(M,D) M(108,D)
467 #define BOOST_PP_R3_110(M,D) BOOST_PP_R3_109(M,D) M(109,D)
468 #define BOOST_PP_R3_111(M,D) BOOST_PP_R3_110(M,D) M(110,D)
469 #define BOOST_PP_R3_112(M,D) BOOST_PP_R3_111(M,D) M(111,D)
470 #define BOOST_PP_R3_113(M,D) BOOST_PP_R3_112(M,D) M(112,D)
471 #define BOOST_PP_R3_114(M,D) BOOST_PP_R3_113(M,D) M(113,D)
472 #define BOOST_PP_R3_115(M,D) BOOST_PP_R3_114(M,D) M(114,D)
473 #define BOOST_PP_R3_116(M,D) BOOST_PP_R3_115(M,D) M(115,D)
474 #define BOOST_PP_R3_117(M,D) BOOST_PP_R3_116(M,D) M(116,D)
475 #define BOOST_PP_R3_118(M,D) BOOST_PP_R3_117(M,D) M(117,D)
476 #define BOOST_PP_R3_119(M,D) BOOST_PP_R3_118(M,D) M(118,D)
477 #define BOOST_PP_R3_120(M,D) BOOST_PP_R3_119(M,D) M(119,D)
478 #define BOOST_PP_R3_121(M,D) BOOST_PP_R3_120(M,D) M(120,D)
479 #define BOOST_PP_R3_122(M,D) BOOST_PP_R3_121(M,D) M(121,D)
480 #define BOOST_PP_R3_123(M,D) BOOST_PP_R3_122(M,D) M(122,D)
481 #define BOOST_PP_R3_124(M,D) BOOST_PP_R3_123(M,D) M(123,D)
482 #define BOOST_PP_R3_125(M,D) BOOST_PP_R3_124(M,D) M(124,D)
483 #define BOOST_PP_R3_126(M,D) BOOST_PP_R3_125(M,D) M(125,D)
484 #define BOOST_PP_R3_127(M,D) BOOST_PP_R3_126(M,D) M(126,D)
485 #define BOOST_PP_R3_128(M,D) BOOST_PP_R3_127(M,D) M(127,D)
486
487 /** <p>Obsolete, just use BOOST_PP_REPEAT().</p> */
488 #define BOOST_PP_REPEAT_2ND BOOST_PP_REPEAT
489 /** <p>Obsolete, just use BOOST_PP_REPEAT().</p> */
490 #define BOOST_PP_REPEAT_3RD BOOST_PP_REPEAT
491 #endif