]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/function_types/include/boost/function_types/detail/synthesize_impl/arity20_0.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / function_types / include / boost / function_types / detail / synthesize_impl / arity20_0.hpp
1
2 // (C) Copyright Tobias Schwinger
3 //
4 // Use modification and distribution are subject to the boost Software License,
5 // Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
6
7 //------------------------------------------------------------------------------
8
9 // no include guards, this file is intended for multiple inclusion
10
11 // input: BOOST_FT_syntax type macro to use
12 // input: BOOST_FT_cc empty or cc specifier
13 // input: BOOST_FT_ell empty or "..."
14 // input: BOOST_FT_cv empty or cv qualifiers
15 // input: BOOST_FT_flags single decimal integer encoding the flags
16 // output: BOOST_FT_n number of component types (arity+1)
17 // output: BOOST_FT_arity current arity
18 // output: BOOST_FT_type macro that expands to the type
19 // output: BOOST_FT_tplargs(p) template arguments with given prefix
20 // output: BOOST_FT_params(p) parameters with given prefix
21
22 # include <boost/function_types/detail/synthesize_impl/arity10_0.hpp>
23 # define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
24 # define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
25 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >
26 struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11)
27 {
28 typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv ;
29 };
30 template< >
31 struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 12 >
32 {
33 template<typename S> struct synthesize_impl_i
34 {
35 private:
36 typedef typename mpl::begin<S> ::type iter_0;
37 typedef typename mpl::next< iter_0 > ::type iter_1;
38 typedef typename mpl::next< iter_1 > ::type iter_2;
39 typedef typename mpl::next< iter_2 > ::type iter_3;
40 typedef typename mpl::next< iter_3 > ::type iter_4;
41 typedef typename mpl::next< iter_4 > ::type iter_5;
42 typedef typename mpl::next< iter_5 > ::type iter_6;
43 typedef typename mpl::next< iter_6 > ::type iter_7;
44 typedef typename mpl::next< iter_7 > ::type iter_8;
45 typedef typename mpl::next< iter_8 > ::type iter_9;
46 typedef typename mpl::next< iter_9 > ::type iter_10;
47 typedef typename mpl::next< iter_10 > ::type iter_11;
48 public:
49 typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11)
50 < typename mpl::deref< iter_0 > ::type
51 , typename mpl::deref< iter_1 > ::type
52 , typename mpl::deref< iter_2 > ::type
53 , typename mpl::deref< iter_3 > ::type
54 , typename mpl::deref< iter_4 > ::type
55 , typename mpl::deref< iter_5 > ::type
56 , typename mpl::deref< iter_6 > ::type
57 , typename mpl::deref< iter_7 > ::type
58 , typename mpl::deref< iter_8 > ::type
59 , typename mpl::deref< iter_9 > ::type
60 , typename mpl::deref< iter_10 > ::type
61 , typename mpl::deref< iter_11 > ::type
62 > ::type type;
63 };
64 };
65 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 >
66 struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12)
67 {
68 typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv ;
69 };
70 template< >
71 struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 13 >
72 {
73 template<typename S> struct synthesize_impl_i
74 {
75 private:
76 typedef typename mpl::begin<S> ::type iter_0;
77 typedef typename mpl::next< iter_0 > ::type iter_1;
78 typedef typename mpl::next< iter_1 > ::type iter_2;
79 typedef typename mpl::next< iter_2 > ::type iter_3;
80 typedef typename mpl::next< iter_3 > ::type iter_4;
81 typedef typename mpl::next< iter_4 > ::type iter_5;
82 typedef typename mpl::next< iter_5 > ::type iter_6;
83 typedef typename mpl::next< iter_6 > ::type iter_7;
84 typedef typename mpl::next< iter_7 > ::type iter_8;
85 typedef typename mpl::next< iter_8 > ::type iter_9;
86 typedef typename mpl::next< iter_9 > ::type iter_10;
87 typedef typename mpl::next< iter_10 > ::type iter_11;
88 typedef typename mpl::next< iter_11 > ::type iter_12;
89 public:
90 typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12)
91 < typename mpl::deref< iter_0 > ::type
92 , typename mpl::deref< iter_1 > ::type
93 , typename mpl::deref< iter_2 > ::type
94 , typename mpl::deref< iter_3 > ::type
95 , typename mpl::deref< iter_4 > ::type
96 , typename mpl::deref< iter_5 > ::type
97 , typename mpl::deref< iter_6 > ::type
98 , typename mpl::deref< iter_7 > ::type
99 , typename mpl::deref< iter_8 > ::type
100 , typename mpl::deref< iter_9 > ::type
101 , typename mpl::deref< iter_10 > ::type
102 , typename mpl::deref< iter_11 > ::type
103 , typename mpl::deref< iter_12 > ::type
104 > ::type type;
105 };
106 };
107 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 >
108 struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13)
109 {
110 typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv ;
111 };
112 template< >
113 struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 14 >
114 {
115 template<typename S> struct synthesize_impl_i
116 {
117 private:
118 typedef typename mpl::begin<S> ::type iter_0;
119 typedef typename mpl::next< iter_0 > ::type iter_1;
120 typedef typename mpl::next< iter_1 > ::type iter_2;
121 typedef typename mpl::next< iter_2 > ::type iter_3;
122 typedef typename mpl::next< iter_3 > ::type iter_4;
123 typedef typename mpl::next< iter_4 > ::type iter_5;
124 typedef typename mpl::next< iter_5 > ::type iter_6;
125 typedef typename mpl::next< iter_6 > ::type iter_7;
126 typedef typename mpl::next< iter_7 > ::type iter_8;
127 typedef typename mpl::next< iter_8 > ::type iter_9;
128 typedef typename mpl::next< iter_9 > ::type iter_10;
129 typedef typename mpl::next< iter_10 > ::type iter_11;
130 typedef typename mpl::next< iter_11 > ::type iter_12;
131 typedef typename mpl::next< iter_12 > ::type iter_13;
132 public:
133 typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13)
134 < typename mpl::deref< iter_0 > ::type
135 , typename mpl::deref< iter_1 > ::type
136 , typename mpl::deref< iter_2 > ::type
137 , typename mpl::deref< iter_3 > ::type
138 , typename mpl::deref< iter_4 > ::type
139 , typename mpl::deref< iter_5 > ::type
140 , typename mpl::deref< iter_6 > ::type
141 , typename mpl::deref< iter_7 > ::type
142 , typename mpl::deref< iter_8 > ::type
143 , typename mpl::deref< iter_9 > ::type
144 , typename mpl::deref< iter_10 > ::type
145 , typename mpl::deref< iter_11 > ::type
146 , typename mpl::deref< iter_12 > ::type
147 , typename mpl::deref< iter_13 > ::type
148 > ::type type;
149 };
150 };
151 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 >
152 struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14)
153 {
154 typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv ;
155 };
156 template< >
157 struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 15 >
158 {
159 template<typename S> struct synthesize_impl_i
160 {
161 private:
162 typedef typename mpl::begin<S> ::type iter_0;
163 typedef typename mpl::next< iter_0 > ::type iter_1;
164 typedef typename mpl::next< iter_1 > ::type iter_2;
165 typedef typename mpl::next< iter_2 > ::type iter_3;
166 typedef typename mpl::next< iter_3 > ::type iter_4;
167 typedef typename mpl::next< iter_4 > ::type iter_5;
168 typedef typename mpl::next< iter_5 > ::type iter_6;
169 typedef typename mpl::next< iter_6 > ::type iter_7;
170 typedef typename mpl::next< iter_7 > ::type iter_8;
171 typedef typename mpl::next< iter_8 > ::type iter_9;
172 typedef typename mpl::next< iter_9 > ::type iter_10;
173 typedef typename mpl::next< iter_10 > ::type iter_11;
174 typedef typename mpl::next< iter_11 > ::type iter_12;
175 typedef typename mpl::next< iter_12 > ::type iter_13;
176 typedef typename mpl::next< iter_13 > ::type iter_14;
177 public:
178 typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14)
179 < typename mpl::deref< iter_0 > ::type
180 , typename mpl::deref< iter_1 > ::type
181 , typename mpl::deref< iter_2 > ::type
182 , typename mpl::deref< iter_3 > ::type
183 , typename mpl::deref< iter_4 > ::type
184 , typename mpl::deref< iter_5 > ::type
185 , typename mpl::deref< iter_6 > ::type
186 , typename mpl::deref< iter_7 > ::type
187 , typename mpl::deref< iter_8 > ::type
188 , typename mpl::deref< iter_9 > ::type
189 , typename mpl::deref< iter_10 > ::type
190 , typename mpl::deref< iter_11 > ::type
191 , typename mpl::deref< iter_12 > ::type
192 , typename mpl::deref< iter_13 > ::type
193 , typename mpl::deref< iter_14 > ::type
194 > ::type type;
195 };
196 };
197 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 >
198 struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15)
199 {
200 typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv ;
201 };
202 template< >
203 struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 16 >
204 {
205 template<typename S> struct synthesize_impl_i
206 {
207 private:
208 typedef typename mpl::begin<S> ::type iter_0;
209 typedef typename mpl::next< iter_0 > ::type iter_1;
210 typedef typename mpl::next< iter_1 > ::type iter_2;
211 typedef typename mpl::next< iter_2 > ::type iter_3;
212 typedef typename mpl::next< iter_3 > ::type iter_4;
213 typedef typename mpl::next< iter_4 > ::type iter_5;
214 typedef typename mpl::next< iter_5 > ::type iter_6;
215 typedef typename mpl::next< iter_6 > ::type iter_7;
216 typedef typename mpl::next< iter_7 > ::type iter_8;
217 typedef typename mpl::next< iter_8 > ::type iter_9;
218 typedef typename mpl::next< iter_9 > ::type iter_10;
219 typedef typename mpl::next< iter_10 > ::type iter_11;
220 typedef typename mpl::next< iter_11 > ::type iter_12;
221 typedef typename mpl::next< iter_12 > ::type iter_13;
222 typedef typename mpl::next< iter_13 > ::type iter_14;
223 typedef typename mpl::next< iter_14 > ::type iter_15;
224 public:
225 typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15)
226 < typename mpl::deref< iter_0 > ::type
227 , typename mpl::deref< iter_1 > ::type
228 , typename mpl::deref< iter_2 > ::type
229 , typename mpl::deref< iter_3 > ::type
230 , typename mpl::deref< iter_4 > ::type
231 , typename mpl::deref< iter_5 > ::type
232 , typename mpl::deref< iter_6 > ::type
233 , typename mpl::deref< iter_7 > ::type
234 , typename mpl::deref< iter_8 > ::type
235 , typename mpl::deref< iter_9 > ::type
236 , typename mpl::deref< iter_10 > ::type
237 , typename mpl::deref< iter_11 > ::type
238 , typename mpl::deref< iter_12 > ::type
239 , typename mpl::deref< iter_13 > ::type
240 , typename mpl::deref< iter_14 > ::type
241 , typename mpl::deref< iter_15 > ::type
242 > ::type type;
243 };
244 };
245 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 >
246 struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16)
247 {
248 typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv ;
249 };
250 template< >
251 struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 17 >
252 {
253 template<typename S> struct synthesize_impl_i
254 {
255 private:
256 typedef typename mpl::begin<S> ::type iter_0;
257 typedef typename mpl::next< iter_0 > ::type iter_1;
258 typedef typename mpl::next< iter_1 > ::type iter_2;
259 typedef typename mpl::next< iter_2 > ::type iter_3;
260 typedef typename mpl::next< iter_3 > ::type iter_4;
261 typedef typename mpl::next< iter_4 > ::type iter_5;
262 typedef typename mpl::next< iter_5 > ::type iter_6;
263 typedef typename mpl::next< iter_6 > ::type iter_7;
264 typedef typename mpl::next< iter_7 > ::type iter_8;
265 typedef typename mpl::next< iter_8 > ::type iter_9;
266 typedef typename mpl::next< iter_9 > ::type iter_10;
267 typedef typename mpl::next< iter_10 > ::type iter_11;
268 typedef typename mpl::next< iter_11 > ::type iter_12;
269 typedef typename mpl::next< iter_12 > ::type iter_13;
270 typedef typename mpl::next< iter_13 > ::type iter_14;
271 typedef typename mpl::next< iter_14 > ::type iter_15;
272 typedef typename mpl::next< iter_15 > ::type iter_16;
273 public:
274 typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16)
275 < typename mpl::deref< iter_0 > ::type
276 , typename mpl::deref< iter_1 > ::type
277 , typename mpl::deref< iter_2 > ::type
278 , typename mpl::deref< iter_3 > ::type
279 , typename mpl::deref< iter_4 > ::type
280 , typename mpl::deref< iter_5 > ::type
281 , typename mpl::deref< iter_6 > ::type
282 , typename mpl::deref< iter_7 > ::type
283 , typename mpl::deref< iter_8 > ::type
284 , typename mpl::deref< iter_9 > ::type
285 , typename mpl::deref< iter_10 > ::type
286 , typename mpl::deref< iter_11 > ::type
287 , typename mpl::deref< iter_12 > ::type
288 , typename mpl::deref< iter_13 > ::type
289 , typename mpl::deref< iter_14 > ::type
290 , typename mpl::deref< iter_15 > ::type
291 , typename mpl::deref< iter_16 > ::type
292 > ::type type;
293 };
294 };
295 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 >
296 struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17)
297 {
298 typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv ;
299 };
300 template< >
301 struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 18 >
302 {
303 template<typename S> struct synthesize_impl_i
304 {
305 private:
306 typedef typename mpl::begin<S> ::type iter_0;
307 typedef typename mpl::next< iter_0 > ::type iter_1;
308 typedef typename mpl::next< iter_1 > ::type iter_2;
309 typedef typename mpl::next< iter_2 > ::type iter_3;
310 typedef typename mpl::next< iter_3 > ::type iter_4;
311 typedef typename mpl::next< iter_4 > ::type iter_5;
312 typedef typename mpl::next< iter_5 > ::type iter_6;
313 typedef typename mpl::next< iter_6 > ::type iter_7;
314 typedef typename mpl::next< iter_7 > ::type iter_8;
315 typedef typename mpl::next< iter_8 > ::type iter_9;
316 typedef typename mpl::next< iter_9 > ::type iter_10;
317 typedef typename mpl::next< iter_10 > ::type iter_11;
318 typedef typename mpl::next< iter_11 > ::type iter_12;
319 typedef typename mpl::next< iter_12 > ::type iter_13;
320 typedef typename mpl::next< iter_13 > ::type iter_14;
321 typedef typename mpl::next< iter_14 > ::type iter_15;
322 typedef typename mpl::next< iter_15 > ::type iter_16;
323 typedef typename mpl::next< iter_16 > ::type iter_17;
324 public:
325 typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17)
326 < typename mpl::deref< iter_0 > ::type
327 , typename mpl::deref< iter_1 > ::type
328 , typename mpl::deref< iter_2 > ::type
329 , typename mpl::deref< iter_3 > ::type
330 , typename mpl::deref< iter_4 > ::type
331 , typename mpl::deref< iter_5 > ::type
332 , typename mpl::deref< iter_6 > ::type
333 , typename mpl::deref< iter_7 > ::type
334 , typename mpl::deref< iter_8 > ::type
335 , typename mpl::deref< iter_9 > ::type
336 , typename mpl::deref< iter_10 > ::type
337 , typename mpl::deref< iter_11 > ::type
338 , typename mpl::deref< iter_12 > ::type
339 , typename mpl::deref< iter_13 > ::type
340 , typename mpl::deref< iter_14 > ::type
341 , typename mpl::deref< iter_15 > ::type
342 , typename mpl::deref< iter_16 > ::type
343 , typename mpl::deref< iter_17 > ::type
344 > ::type type;
345 };
346 };
347 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 >
348 struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18)
349 {
350 typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv ;
351 };
352 template< >
353 struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 19 >
354 {
355 template<typename S> struct synthesize_impl_i
356 {
357 private:
358 typedef typename mpl::begin<S> ::type iter_0;
359 typedef typename mpl::next< iter_0 > ::type iter_1;
360 typedef typename mpl::next< iter_1 > ::type iter_2;
361 typedef typename mpl::next< iter_2 > ::type iter_3;
362 typedef typename mpl::next< iter_3 > ::type iter_4;
363 typedef typename mpl::next< iter_4 > ::type iter_5;
364 typedef typename mpl::next< iter_5 > ::type iter_6;
365 typedef typename mpl::next< iter_6 > ::type iter_7;
366 typedef typename mpl::next< iter_7 > ::type iter_8;
367 typedef typename mpl::next< iter_8 > ::type iter_9;
368 typedef typename mpl::next< iter_9 > ::type iter_10;
369 typedef typename mpl::next< iter_10 > ::type iter_11;
370 typedef typename mpl::next< iter_11 > ::type iter_12;
371 typedef typename mpl::next< iter_12 > ::type iter_13;
372 typedef typename mpl::next< iter_13 > ::type iter_14;
373 typedef typename mpl::next< iter_14 > ::type iter_15;
374 typedef typename mpl::next< iter_15 > ::type iter_16;
375 typedef typename mpl::next< iter_16 > ::type iter_17;
376 typedef typename mpl::next< iter_17 > ::type iter_18;
377 public:
378 typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18)
379 < typename mpl::deref< iter_0 > ::type
380 , typename mpl::deref< iter_1 > ::type
381 , typename mpl::deref< iter_2 > ::type
382 , typename mpl::deref< iter_3 > ::type
383 , typename mpl::deref< iter_4 > ::type
384 , typename mpl::deref< iter_5 > ::type
385 , typename mpl::deref< iter_6 > ::type
386 , typename mpl::deref< iter_7 > ::type
387 , typename mpl::deref< iter_8 > ::type
388 , typename mpl::deref< iter_9 > ::type
389 , typename mpl::deref< iter_10 > ::type
390 , typename mpl::deref< iter_11 > ::type
391 , typename mpl::deref< iter_12 > ::type
392 , typename mpl::deref< iter_13 > ::type
393 , typename mpl::deref< iter_14 > ::type
394 , typename mpl::deref< iter_15 > ::type
395 , typename mpl::deref< iter_16 > ::type
396 , typename mpl::deref< iter_17 > ::type
397 , typename mpl::deref< iter_18 > ::type
398 > ::type type;
399 };
400 };
401 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 >
402 struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19)
403 {
404 typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv ;
405 };
406 template< >
407 struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 20 >
408 {
409 template<typename S> struct synthesize_impl_i
410 {
411 private:
412 typedef typename mpl::begin<S> ::type iter_0;
413 typedef typename mpl::next< iter_0 > ::type iter_1;
414 typedef typename mpl::next< iter_1 > ::type iter_2;
415 typedef typename mpl::next< iter_2 > ::type iter_3;
416 typedef typename mpl::next< iter_3 > ::type iter_4;
417 typedef typename mpl::next< iter_4 > ::type iter_5;
418 typedef typename mpl::next< iter_5 > ::type iter_6;
419 typedef typename mpl::next< iter_6 > ::type iter_7;
420 typedef typename mpl::next< iter_7 > ::type iter_8;
421 typedef typename mpl::next< iter_8 > ::type iter_9;
422 typedef typename mpl::next< iter_9 > ::type iter_10;
423 typedef typename mpl::next< iter_10 > ::type iter_11;
424 typedef typename mpl::next< iter_11 > ::type iter_12;
425 typedef typename mpl::next< iter_12 > ::type iter_13;
426 typedef typename mpl::next< iter_13 > ::type iter_14;
427 typedef typename mpl::next< iter_14 > ::type iter_15;
428 typedef typename mpl::next< iter_15 > ::type iter_16;
429 typedef typename mpl::next< iter_16 > ::type iter_17;
430 typedef typename mpl::next< iter_17 > ::type iter_18;
431 typedef typename mpl::next< iter_18 > ::type iter_19;
432 public:
433 typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19)
434 < typename mpl::deref< iter_0 > ::type
435 , typename mpl::deref< iter_1 > ::type
436 , typename mpl::deref< iter_2 > ::type
437 , typename mpl::deref< iter_3 > ::type
438 , typename mpl::deref< iter_4 > ::type
439 , typename mpl::deref< iter_5 > ::type
440 , typename mpl::deref< iter_6 > ::type
441 , typename mpl::deref< iter_7 > ::type
442 , typename mpl::deref< iter_8 > ::type
443 , typename mpl::deref< iter_9 > ::type
444 , typename mpl::deref< iter_10 > ::type
445 , typename mpl::deref< iter_11 > ::type
446 , typename mpl::deref< iter_12 > ::type
447 , typename mpl::deref< iter_13 > ::type
448 , typename mpl::deref< iter_14 > ::type
449 , typename mpl::deref< iter_15 > ::type
450 , typename mpl::deref< iter_16 > ::type
451 , typename mpl::deref< iter_17 > ::type
452 , typename mpl::deref< iter_18 > ::type
453 , typename mpl::deref< iter_19 > ::type
454 > ::type type;
455 };
456 };
457 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 >
458 struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20)
459 {
460 typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv ;
461 };
462 template< >
463 struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 21 >
464 {
465 template<typename S> struct synthesize_impl_i
466 {
467 private:
468 typedef typename mpl::begin<S> ::type iter_0;
469 typedef typename mpl::next< iter_0 > ::type iter_1;
470 typedef typename mpl::next< iter_1 > ::type iter_2;
471 typedef typename mpl::next< iter_2 > ::type iter_3;
472 typedef typename mpl::next< iter_3 > ::type iter_4;
473 typedef typename mpl::next< iter_4 > ::type iter_5;
474 typedef typename mpl::next< iter_5 > ::type iter_6;
475 typedef typename mpl::next< iter_6 > ::type iter_7;
476 typedef typename mpl::next< iter_7 > ::type iter_8;
477 typedef typename mpl::next< iter_8 > ::type iter_9;
478 typedef typename mpl::next< iter_9 > ::type iter_10;
479 typedef typename mpl::next< iter_10 > ::type iter_11;
480 typedef typename mpl::next< iter_11 > ::type iter_12;
481 typedef typename mpl::next< iter_12 > ::type iter_13;
482 typedef typename mpl::next< iter_13 > ::type iter_14;
483 typedef typename mpl::next< iter_14 > ::type iter_15;
484 typedef typename mpl::next< iter_15 > ::type iter_16;
485 typedef typename mpl::next< iter_16 > ::type iter_17;
486 typedef typename mpl::next< iter_17 > ::type iter_18;
487 typedef typename mpl::next< iter_18 > ::type iter_19;
488 typedef typename mpl::next< iter_19 > ::type iter_20;
489 public:
490 typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20)
491 < typename mpl::deref< iter_0 > ::type
492 , typename mpl::deref< iter_1 > ::type
493 , typename mpl::deref< iter_2 > ::type
494 , typename mpl::deref< iter_3 > ::type
495 , typename mpl::deref< iter_4 > ::type
496 , typename mpl::deref< iter_5 > ::type
497 , typename mpl::deref< iter_6 > ::type
498 , typename mpl::deref< iter_7 > ::type
499 , typename mpl::deref< iter_8 > ::type
500 , typename mpl::deref< iter_9 > ::type
501 , typename mpl::deref< iter_10 > ::type
502 , typename mpl::deref< iter_11 > ::type
503 , typename mpl::deref< iter_12 > ::type
504 , typename mpl::deref< iter_13 > ::type
505 , typename mpl::deref< iter_14 > ::type
506 , typename mpl::deref< iter_15 > ::type
507 , typename mpl::deref< iter_16 > ::type
508 , typename mpl::deref< iter_17 > ::type
509 , typename mpl::deref< iter_18 > ::type
510 , typename mpl::deref< iter_19 > ::type
511 , typename mpl::deref< iter_20 > ::type
512 > ::type type;
513 };
514 };
515 # undef BOOST_FT_make_type
516 # undef BOOST_FT_make_type_impl
517