blob: d1ef2925d616a9ed6d74a4d1153b268281a8d00d [file] [log] [blame]
Jeff Thompsona28eed82013-08-22 16:21:10 -07001
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 <ndnboost/function_types/detail/synthesize_impl/arity30_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
25template< 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 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 >
26struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31)
27{
28typedef 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 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 BOOST_FT_ell) BOOST_FT_cv ;
29};
30template< >
31struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 32 >
32{
33template<typename S> struct synthesize_impl_i
34{
35private:
36typedef typename mpl::begin<S> ::type iter_0;
37typedef typename mpl::next< iter_0 > ::type iter_1;
38typedef typename mpl::next< iter_1 > ::type iter_2;
39typedef typename mpl::next< iter_2 > ::type iter_3;
40typedef typename mpl::next< iter_3 > ::type iter_4;
41typedef typename mpl::next< iter_4 > ::type iter_5;
42typedef typename mpl::next< iter_5 > ::type iter_6;
43typedef typename mpl::next< iter_6 > ::type iter_7;
44typedef typename mpl::next< iter_7 > ::type iter_8;
45typedef typename mpl::next< iter_8 > ::type iter_9;
46typedef typename mpl::next< iter_9 > ::type iter_10;
47typedef typename mpl::next< iter_10 > ::type iter_11;
48typedef typename mpl::next< iter_11 > ::type iter_12;
49typedef typename mpl::next< iter_12 > ::type iter_13;
50typedef typename mpl::next< iter_13 > ::type iter_14;
51typedef typename mpl::next< iter_14 > ::type iter_15;
52typedef typename mpl::next< iter_15 > ::type iter_16;
53typedef typename mpl::next< iter_16 > ::type iter_17;
54typedef typename mpl::next< iter_17 > ::type iter_18;
55typedef typename mpl::next< iter_18 > ::type iter_19;
56typedef typename mpl::next< iter_19 > ::type iter_20;
57typedef typename mpl::next< iter_20 > ::type iter_21;
58typedef typename mpl::next< iter_21 > ::type iter_22;
59typedef typename mpl::next< iter_22 > ::type iter_23;
60typedef typename mpl::next< iter_23 > ::type iter_24;
61typedef typename mpl::next< iter_24 > ::type iter_25;
62typedef typename mpl::next< iter_25 > ::type iter_26;
63typedef typename mpl::next< iter_26 > ::type iter_27;
64typedef typename mpl::next< iter_27 > ::type iter_28;
65typedef typename mpl::next< iter_28 > ::type iter_29;
66typedef typename mpl::next< iter_29 > ::type iter_30;
67typedef typename mpl::next< iter_30 > ::type iter_31;
68public:
69typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31)
70< typename mpl::deref< iter_0 > ::type
71, typename mpl::deref< iter_1 > ::type
72, typename mpl::deref< iter_2 > ::type
73, typename mpl::deref< iter_3 > ::type
74, typename mpl::deref< iter_4 > ::type
75, typename mpl::deref< iter_5 > ::type
76, typename mpl::deref< iter_6 > ::type
77, typename mpl::deref< iter_7 > ::type
78, typename mpl::deref< iter_8 > ::type
79, typename mpl::deref< iter_9 > ::type
80, typename mpl::deref< iter_10 > ::type
81, typename mpl::deref< iter_11 > ::type
82, typename mpl::deref< iter_12 > ::type
83, typename mpl::deref< iter_13 > ::type
84, typename mpl::deref< iter_14 > ::type
85, typename mpl::deref< iter_15 > ::type
86, typename mpl::deref< iter_16 > ::type
87, typename mpl::deref< iter_17 > ::type
88, typename mpl::deref< iter_18 > ::type
89, typename mpl::deref< iter_19 > ::type
90, typename mpl::deref< iter_20 > ::type
91, typename mpl::deref< iter_21 > ::type
92, typename mpl::deref< iter_22 > ::type
93, typename mpl::deref< iter_23 > ::type
94, typename mpl::deref< iter_24 > ::type
95, typename mpl::deref< iter_25 > ::type
96, typename mpl::deref< iter_26 > ::type
97, typename mpl::deref< iter_27 > ::type
98, typename mpl::deref< iter_28 > ::type
99, typename mpl::deref< iter_29 > ::type
100, typename mpl::deref< iter_30 > ::type
101, typename mpl::deref< iter_31 > ::type
102> ::type type;
103};
104};
105template< 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 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 >
106struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32)
107{
108typedef 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 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 BOOST_FT_ell) BOOST_FT_cv ;
109};
110template< >
111struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 33 >
112{
113template<typename S> struct synthesize_impl_i
114{
115private:
116typedef typename mpl::begin<S> ::type iter_0;
117typedef typename mpl::next< iter_0 > ::type iter_1;
118typedef typename mpl::next< iter_1 > ::type iter_2;
119typedef typename mpl::next< iter_2 > ::type iter_3;
120typedef typename mpl::next< iter_3 > ::type iter_4;
121typedef typename mpl::next< iter_4 > ::type iter_5;
122typedef typename mpl::next< iter_5 > ::type iter_6;
123typedef typename mpl::next< iter_6 > ::type iter_7;
124typedef typename mpl::next< iter_7 > ::type iter_8;
125typedef typename mpl::next< iter_8 > ::type iter_9;
126typedef typename mpl::next< iter_9 > ::type iter_10;
127typedef typename mpl::next< iter_10 > ::type iter_11;
128typedef typename mpl::next< iter_11 > ::type iter_12;
129typedef typename mpl::next< iter_12 > ::type iter_13;
130typedef typename mpl::next< iter_13 > ::type iter_14;
131typedef typename mpl::next< iter_14 > ::type iter_15;
132typedef typename mpl::next< iter_15 > ::type iter_16;
133typedef typename mpl::next< iter_16 > ::type iter_17;
134typedef typename mpl::next< iter_17 > ::type iter_18;
135typedef typename mpl::next< iter_18 > ::type iter_19;
136typedef typename mpl::next< iter_19 > ::type iter_20;
137typedef typename mpl::next< iter_20 > ::type iter_21;
138typedef typename mpl::next< iter_21 > ::type iter_22;
139typedef typename mpl::next< iter_22 > ::type iter_23;
140typedef typename mpl::next< iter_23 > ::type iter_24;
141typedef typename mpl::next< iter_24 > ::type iter_25;
142typedef typename mpl::next< iter_25 > ::type iter_26;
143typedef typename mpl::next< iter_26 > ::type iter_27;
144typedef typename mpl::next< iter_27 > ::type iter_28;
145typedef typename mpl::next< iter_28 > ::type iter_29;
146typedef typename mpl::next< iter_29 > ::type iter_30;
147typedef typename mpl::next< iter_30 > ::type iter_31;
148typedef typename mpl::next< iter_31 > ::type iter_32;
149public:
150typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32)
151< typename mpl::deref< iter_0 > ::type
152, typename mpl::deref< iter_1 > ::type
153, typename mpl::deref< iter_2 > ::type
154, typename mpl::deref< iter_3 > ::type
155, typename mpl::deref< iter_4 > ::type
156, typename mpl::deref< iter_5 > ::type
157, typename mpl::deref< iter_6 > ::type
158, typename mpl::deref< iter_7 > ::type
159, typename mpl::deref< iter_8 > ::type
160, typename mpl::deref< iter_9 > ::type
161, typename mpl::deref< iter_10 > ::type
162, typename mpl::deref< iter_11 > ::type
163, typename mpl::deref< iter_12 > ::type
164, typename mpl::deref< iter_13 > ::type
165, typename mpl::deref< iter_14 > ::type
166, typename mpl::deref< iter_15 > ::type
167, typename mpl::deref< iter_16 > ::type
168, typename mpl::deref< iter_17 > ::type
169, typename mpl::deref< iter_18 > ::type
170, typename mpl::deref< iter_19 > ::type
171, typename mpl::deref< iter_20 > ::type
172, typename mpl::deref< iter_21 > ::type
173, typename mpl::deref< iter_22 > ::type
174, typename mpl::deref< iter_23 > ::type
175, typename mpl::deref< iter_24 > ::type
176, typename mpl::deref< iter_25 > ::type
177, typename mpl::deref< iter_26 > ::type
178, typename mpl::deref< iter_27 > ::type
179, typename mpl::deref< iter_28 > ::type
180, typename mpl::deref< iter_29 > ::type
181, typename mpl::deref< iter_30 > ::type
182, typename mpl::deref< iter_31 > ::type
183, typename mpl::deref< iter_32 > ::type
184> ::type type;
185};
186};
187template< 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 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 >
188struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33)
189{
190typedef 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 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 BOOST_FT_ell) BOOST_FT_cv ;
191};
192template< >
193struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 34 >
194{
195template<typename S> struct synthesize_impl_i
196{
197private:
198typedef typename mpl::begin<S> ::type iter_0;
199typedef typename mpl::next< iter_0 > ::type iter_1;
200typedef typename mpl::next< iter_1 > ::type iter_2;
201typedef typename mpl::next< iter_2 > ::type iter_3;
202typedef typename mpl::next< iter_3 > ::type iter_4;
203typedef typename mpl::next< iter_4 > ::type iter_5;
204typedef typename mpl::next< iter_5 > ::type iter_6;
205typedef typename mpl::next< iter_6 > ::type iter_7;
206typedef typename mpl::next< iter_7 > ::type iter_8;
207typedef typename mpl::next< iter_8 > ::type iter_9;
208typedef typename mpl::next< iter_9 > ::type iter_10;
209typedef typename mpl::next< iter_10 > ::type iter_11;
210typedef typename mpl::next< iter_11 > ::type iter_12;
211typedef typename mpl::next< iter_12 > ::type iter_13;
212typedef typename mpl::next< iter_13 > ::type iter_14;
213typedef typename mpl::next< iter_14 > ::type iter_15;
214typedef typename mpl::next< iter_15 > ::type iter_16;
215typedef typename mpl::next< iter_16 > ::type iter_17;
216typedef typename mpl::next< iter_17 > ::type iter_18;
217typedef typename mpl::next< iter_18 > ::type iter_19;
218typedef typename mpl::next< iter_19 > ::type iter_20;
219typedef typename mpl::next< iter_20 > ::type iter_21;
220typedef typename mpl::next< iter_21 > ::type iter_22;
221typedef typename mpl::next< iter_22 > ::type iter_23;
222typedef typename mpl::next< iter_23 > ::type iter_24;
223typedef typename mpl::next< iter_24 > ::type iter_25;
224typedef typename mpl::next< iter_25 > ::type iter_26;
225typedef typename mpl::next< iter_26 > ::type iter_27;
226typedef typename mpl::next< iter_27 > ::type iter_28;
227typedef typename mpl::next< iter_28 > ::type iter_29;
228typedef typename mpl::next< iter_29 > ::type iter_30;
229typedef typename mpl::next< iter_30 > ::type iter_31;
230typedef typename mpl::next< iter_31 > ::type iter_32;
231typedef typename mpl::next< iter_32 > ::type iter_33;
232public:
233typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33)
234< typename mpl::deref< iter_0 > ::type
235, typename mpl::deref< iter_1 > ::type
236, typename mpl::deref< iter_2 > ::type
237, typename mpl::deref< iter_3 > ::type
238, typename mpl::deref< iter_4 > ::type
239, typename mpl::deref< iter_5 > ::type
240, typename mpl::deref< iter_6 > ::type
241, typename mpl::deref< iter_7 > ::type
242, typename mpl::deref< iter_8 > ::type
243, typename mpl::deref< iter_9 > ::type
244, typename mpl::deref< iter_10 > ::type
245, typename mpl::deref< iter_11 > ::type
246, typename mpl::deref< iter_12 > ::type
247, typename mpl::deref< iter_13 > ::type
248, typename mpl::deref< iter_14 > ::type
249, typename mpl::deref< iter_15 > ::type
250, typename mpl::deref< iter_16 > ::type
251, typename mpl::deref< iter_17 > ::type
252, typename mpl::deref< iter_18 > ::type
253, typename mpl::deref< iter_19 > ::type
254, typename mpl::deref< iter_20 > ::type
255, typename mpl::deref< iter_21 > ::type
256, typename mpl::deref< iter_22 > ::type
257, typename mpl::deref< iter_23 > ::type
258, typename mpl::deref< iter_24 > ::type
259, typename mpl::deref< iter_25 > ::type
260, typename mpl::deref< iter_26 > ::type
261, typename mpl::deref< iter_27 > ::type
262, typename mpl::deref< iter_28 > ::type
263, typename mpl::deref< iter_29 > ::type
264, typename mpl::deref< iter_30 > ::type
265, typename mpl::deref< iter_31 > ::type
266, typename mpl::deref< iter_32 > ::type
267, typename mpl::deref< iter_33 > ::type
268> ::type type;
269};
270};
271template< 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 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 >
272struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34)
273{
274typedef 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 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 BOOST_FT_ell) BOOST_FT_cv ;
275};
276template< >
277struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 35 >
278{
279template<typename S> struct synthesize_impl_i
280{
281private:
282typedef typename mpl::begin<S> ::type iter_0;
283typedef typename mpl::next< iter_0 > ::type iter_1;
284typedef typename mpl::next< iter_1 > ::type iter_2;
285typedef typename mpl::next< iter_2 > ::type iter_3;
286typedef typename mpl::next< iter_3 > ::type iter_4;
287typedef typename mpl::next< iter_4 > ::type iter_5;
288typedef typename mpl::next< iter_5 > ::type iter_6;
289typedef typename mpl::next< iter_6 > ::type iter_7;
290typedef typename mpl::next< iter_7 > ::type iter_8;
291typedef typename mpl::next< iter_8 > ::type iter_9;
292typedef typename mpl::next< iter_9 > ::type iter_10;
293typedef typename mpl::next< iter_10 > ::type iter_11;
294typedef typename mpl::next< iter_11 > ::type iter_12;
295typedef typename mpl::next< iter_12 > ::type iter_13;
296typedef typename mpl::next< iter_13 > ::type iter_14;
297typedef typename mpl::next< iter_14 > ::type iter_15;
298typedef typename mpl::next< iter_15 > ::type iter_16;
299typedef typename mpl::next< iter_16 > ::type iter_17;
300typedef typename mpl::next< iter_17 > ::type iter_18;
301typedef typename mpl::next< iter_18 > ::type iter_19;
302typedef typename mpl::next< iter_19 > ::type iter_20;
303typedef typename mpl::next< iter_20 > ::type iter_21;
304typedef typename mpl::next< iter_21 > ::type iter_22;
305typedef typename mpl::next< iter_22 > ::type iter_23;
306typedef typename mpl::next< iter_23 > ::type iter_24;
307typedef typename mpl::next< iter_24 > ::type iter_25;
308typedef typename mpl::next< iter_25 > ::type iter_26;
309typedef typename mpl::next< iter_26 > ::type iter_27;
310typedef typename mpl::next< iter_27 > ::type iter_28;
311typedef typename mpl::next< iter_28 > ::type iter_29;
312typedef typename mpl::next< iter_29 > ::type iter_30;
313typedef typename mpl::next< iter_30 > ::type iter_31;
314typedef typename mpl::next< iter_31 > ::type iter_32;
315typedef typename mpl::next< iter_32 > ::type iter_33;
316typedef typename mpl::next< iter_33 > ::type iter_34;
317public:
318typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34)
319< typename mpl::deref< iter_0 > ::type
320, typename mpl::deref< iter_1 > ::type
321, typename mpl::deref< iter_2 > ::type
322, typename mpl::deref< iter_3 > ::type
323, typename mpl::deref< iter_4 > ::type
324, typename mpl::deref< iter_5 > ::type
325, typename mpl::deref< iter_6 > ::type
326, typename mpl::deref< iter_7 > ::type
327, typename mpl::deref< iter_8 > ::type
328, typename mpl::deref< iter_9 > ::type
329, typename mpl::deref< iter_10 > ::type
330, typename mpl::deref< iter_11 > ::type
331, typename mpl::deref< iter_12 > ::type
332, typename mpl::deref< iter_13 > ::type
333, typename mpl::deref< iter_14 > ::type
334, typename mpl::deref< iter_15 > ::type
335, typename mpl::deref< iter_16 > ::type
336, typename mpl::deref< iter_17 > ::type
337, typename mpl::deref< iter_18 > ::type
338, typename mpl::deref< iter_19 > ::type
339, typename mpl::deref< iter_20 > ::type
340, typename mpl::deref< iter_21 > ::type
341, typename mpl::deref< iter_22 > ::type
342, typename mpl::deref< iter_23 > ::type
343, typename mpl::deref< iter_24 > ::type
344, typename mpl::deref< iter_25 > ::type
345, typename mpl::deref< iter_26 > ::type
346, typename mpl::deref< iter_27 > ::type
347, typename mpl::deref< iter_28 > ::type
348, typename mpl::deref< iter_29 > ::type
349, typename mpl::deref< iter_30 > ::type
350, typename mpl::deref< iter_31 > ::type
351, typename mpl::deref< iter_32 > ::type
352, typename mpl::deref< iter_33 > ::type
353, typename mpl::deref< iter_34 > ::type
354> ::type type;
355};
356};
357template< 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 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 >
358struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35)
359{
360typedef 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 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 BOOST_FT_ell) BOOST_FT_cv ;
361};
362template< >
363struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 36 >
364{
365template<typename S> struct synthesize_impl_i
366{
367private:
368typedef typename mpl::begin<S> ::type iter_0;
369typedef typename mpl::next< iter_0 > ::type iter_1;
370typedef typename mpl::next< iter_1 > ::type iter_2;
371typedef typename mpl::next< iter_2 > ::type iter_3;
372typedef typename mpl::next< iter_3 > ::type iter_4;
373typedef typename mpl::next< iter_4 > ::type iter_5;
374typedef typename mpl::next< iter_5 > ::type iter_6;
375typedef typename mpl::next< iter_6 > ::type iter_7;
376typedef typename mpl::next< iter_7 > ::type iter_8;
377typedef typename mpl::next< iter_8 > ::type iter_9;
378typedef typename mpl::next< iter_9 > ::type iter_10;
379typedef typename mpl::next< iter_10 > ::type iter_11;
380typedef typename mpl::next< iter_11 > ::type iter_12;
381typedef typename mpl::next< iter_12 > ::type iter_13;
382typedef typename mpl::next< iter_13 > ::type iter_14;
383typedef typename mpl::next< iter_14 > ::type iter_15;
384typedef typename mpl::next< iter_15 > ::type iter_16;
385typedef typename mpl::next< iter_16 > ::type iter_17;
386typedef typename mpl::next< iter_17 > ::type iter_18;
387typedef typename mpl::next< iter_18 > ::type iter_19;
388typedef typename mpl::next< iter_19 > ::type iter_20;
389typedef typename mpl::next< iter_20 > ::type iter_21;
390typedef typename mpl::next< iter_21 > ::type iter_22;
391typedef typename mpl::next< iter_22 > ::type iter_23;
392typedef typename mpl::next< iter_23 > ::type iter_24;
393typedef typename mpl::next< iter_24 > ::type iter_25;
394typedef typename mpl::next< iter_25 > ::type iter_26;
395typedef typename mpl::next< iter_26 > ::type iter_27;
396typedef typename mpl::next< iter_27 > ::type iter_28;
397typedef typename mpl::next< iter_28 > ::type iter_29;
398typedef typename mpl::next< iter_29 > ::type iter_30;
399typedef typename mpl::next< iter_30 > ::type iter_31;
400typedef typename mpl::next< iter_31 > ::type iter_32;
401typedef typename mpl::next< iter_32 > ::type iter_33;
402typedef typename mpl::next< iter_33 > ::type iter_34;
403typedef typename mpl::next< iter_34 > ::type iter_35;
404public:
405typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35)
406< typename mpl::deref< iter_0 > ::type
407, typename mpl::deref< iter_1 > ::type
408, typename mpl::deref< iter_2 > ::type
409, typename mpl::deref< iter_3 > ::type
410, typename mpl::deref< iter_4 > ::type
411, typename mpl::deref< iter_5 > ::type
412, typename mpl::deref< iter_6 > ::type
413, typename mpl::deref< iter_7 > ::type
414, typename mpl::deref< iter_8 > ::type
415, typename mpl::deref< iter_9 > ::type
416, typename mpl::deref< iter_10 > ::type
417, typename mpl::deref< iter_11 > ::type
418, typename mpl::deref< iter_12 > ::type
419, typename mpl::deref< iter_13 > ::type
420, typename mpl::deref< iter_14 > ::type
421, typename mpl::deref< iter_15 > ::type
422, typename mpl::deref< iter_16 > ::type
423, typename mpl::deref< iter_17 > ::type
424, typename mpl::deref< iter_18 > ::type
425, typename mpl::deref< iter_19 > ::type
426, typename mpl::deref< iter_20 > ::type
427, typename mpl::deref< iter_21 > ::type
428, typename mpl::deref< iter_22 > ::type
429, typename mpl::deref< iter_23 > ::type
430, typename mpl::deref< iter_24 > ::type
431, typename mpl::deref< iter_25 > ::type
432, typename mpl::deref< iter_26 > ::type
433, typename mpl::deref< iter_27 > ::type
434, typename mpl::deref< iter_28 > ::type
435, typename mpl::deref< iter_29 > ::type
436, typename mpl::deref< iter_30 > ::type
437, typename mpl::deref< iter_31 > ::type
438, typename mpl::deref< iter_32 > ::type
439, typename mpl::deref< iter_33 > ::type
440, typename mpl::deref< iter_34 > ::type
441, typename mpl::deref< iter_35 > ::type
442> ::type type;
443};
444};
445template< 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 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 >
446struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36)
447{
448typedef 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 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 BOOST_FT_ell) BOOST_FT_cv ;
449};
450template< >
451struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 37 >
452{
453template<typename S> struct synthesize_impl_i
454{
455private:
456typedef typename mpl::begin<S> ::type iter_0;
457typedef typename mpl::next< iter_0 > ::type iter_1;
458typedef typename mpl::next< iter_1 > ::type iter_2;
459typedef typename mpl::next< iter_2 > ::type iter_3;
460typedef typename mpl::next< iter_3 > ::type iter_4;
461typedef typename mpl::next< iter_4 > ::type iter_5;
462typedef typename mpl::next< iter_5 > ::type iter_6;
463typedef typename mpl::next< iter_6 > ::type iter_7;
464typedef typename mpl::next< iter_7 > ::type iter_8;
465typedef typename mpl::next< iter_8 > ::type iter_9;
466typedef typename mpl::next< iter_9 > ::type iter_10;
467typedef typename mpl::next< iter_10 > ::type iter_11;
468typedef typename mpl::next< iter_11 > ::type iter_12;
469typedef typename mpl::next< iter_12 > ::type iter_13;
470typedef typename mpl::next< iter_13 > ::type iter_14;
471typedef typename mpl::next< iter_14 > ::type iter_15;
472typedef typename mpl::next< iter_15 > ::type iter_16;
473typedef typename mpl::next< iter_16 > ::type iter_17;
474typedef typename mpl::next< iter_17 > ::type iter_18;
475typedef typename mpl::next< iter_18 > ::type iter_19;
476typedef typename mpl::next< iter_19 > ::type iter_20;
477typedef typename mpl::next< iter_20 > ::type iter_21;
478typedef typename mpl::next< iter_21 > ::type iter_22;
479typedef typename mpl::next< iter_22 > ::type iter_23;
480typedef typename mpl::next< iter_23 > ::type iter_24;
481typedef typename mpl::next< iter_24 > ::type iter_25;
482typedef typename mpl::next< iter_25 > ::type iter_26;
483typedef typename mpl::next< iter_26 > ::type iter_27;
484typedef typename mpl::next< iter_27 > ::type iter_28;
485typedef typename mpl::next< iter_28 > ::type iter_29;
486typedef typename mpl::next< iter_29 > ::type iter_30;
487typedef typename mpl::next< iter_30 > ::type iter_31;
488typedef typename mpl::next< iter_31 > ::type iter_32;
489typedef typename mpl::next< iter_32 > ::type iter_33;
490typedef typename mpl::next< iter_33 > ::type iter_34;
491typedef typename mpl::next< iter_34 > ::type iter_35;
492typedef typename mpl::next< iter_35 > ::type iter_36;
493public:
494typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36)
495< typename mpl::deref< iter_0 > ::type
496, typename mpl::deref< iter_1 > ::type
497, typename mpl::deref< iter_2 > ::type
498, typename mpl::deref< iter_3 > ::type
499, typename mpl::deref< iter_4 > ::type
500, typename mpl::deref< iter_5 > ::type
501, typename mpl::deref< iter_6 > ::type
502, typename mpl::deref< iter_7 > ::type
503, typename mpl::deref< iter_8 > ::type
504, typename mpl::deref< iter_9 > ::type
505, typename mpl::deref< iter_10 > ::type
506, typename mpl::deref< iter_11 > ::type
507, typename mpl::deref< iter_12 > ::type
508, typename mpl::deref< iter_13 > ::type
509, typename mpl::deref< iter_14 > ::type
510, typename mpl::deref< iter_15 > ::type
511, typename mpl::deref< iter_16 > ::type
512, typename mpl::deref< iter_17 > ::type
513, typename mpl::deref< iter_18 > ::type
514, typename mpl::deref< iter_19 > ::type
515, typename mpl::deref< iter_20 > ::type
516, typename mpl::deref< iter_21 > ::type
517, typename mpl::deref< iter_22 > ::type
518, typename mpl::deref< iter_23 > ::type
519, typename mpl::deref< iter_24 > ::type
520, typename mpl::deref< iter_25 > ::type
521, typename mpl::deref< iter_26 > ::type
522, typename mpl::deref< iter_27 > ::type
523, typename mpl::deref< iter_28 > ::type
524, typename mpl::deref< iter_29 > ::type
525, typename mpl::deref< iter_30 > ::type
526, typename mpl::deref< iter_31 > ::type
527, typename mpl::deref< iter_32 > ::type
528, typename mpl::deref< iter_33 > ::type
529, typename mpl::deref< iter_34 > ::type
530, typename mpl::deref< iter_35 > ::type
531, typename mpl::deref< iter_36 > ::type
532> ::type type;
533};
534};
535template< 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 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 >
536struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37)
537{
538typedef 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 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 BOOST_FT_ell) BOOST_FT_cv ;
539};
540template< >
541struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 38 >
542{
543template<typename S> struct synthesize_impl_i
544{
545private:
546typedef typename mpl::begin<S> ::type iter_0;
547typedef typename mpl::next< iter_0 > ::type iter_1;
548typedef typename mpl::next< iter_1 > ::type iter_2;
549typedef typename mpl::next< iter_2 > ::type iter_3;
550typedef typename mpl::next< iter_3 > ::type iter_4;
551typedef typename mpl::next< iter_4 > ::type iter_5;
552typedef typename mpl::next< iter_5 > ::type iter_6;
553typedef typename mpl::next< iter_6 > ::type iter_7;
554typedef typename mpl::next< iter_7 > ::type iter_8;
555typedef typename mpl::next< iter_8 > ::type iter_9;
556typedef typename mpl::next< iter_9 > ::type iter_10;
557typedef typename mpl::next< iter_10 > ::type iter_11;
558typedef typename mpl::next< iter_11 > ::type iter_12;
559typedef typename mpl::next< iter_12 > ::type iter_13;
560typedef typename mpl::next< iter_13 > ::type iter_14;
561typedef typename mpl::next< iter_14 > ::type iter_15;
562typedef typename mpl::next< iter_15 > ::type iter_16;
563typedef typename mpl::next< iter_16 > ::type iter_17;
564typedef typename mpl::next< iter_17 > ::type iter_18;
565typedef typename mpl::next< iter_18 > ::type iter_19;
566typedef typename mpl::next< iter_19 > ::type iter_20;
567typedef typename mpl::next< iter_20 > ::type iter_21;
568typedef typename mpl::next< iter_21 > ::type iter_22;
569typedef typename mpl::next< iter_22 > ::type iter_23;
570typedef typename mpl::next< iter_23 > ::type iter_24;
571typedef typename mpl::next< iter_24 > ::type iter_25;
572typedef typename mpl::next< iter_25 > ::type iter_26;
573typedef typename mpl::next< iter_26 > ::type iter_27;
574typedef typename mpl::next< iter_27 > ::type iter_28;
575typedef typename mpl::next< iter_28 > ::type iter_29;
576typedef typename mpl::next< iter_29 > ::type iter_30;
577typedef typename mpl::next< iter_30 > ::type iter_31;
578typedef typename mpl::next< iter_31 > ::type iter_32;
579typedef typename mpl::next< iter_32 > ::type iter_33;
580typedef typename mpl::next< iter_33 > ::type iter_34;
581typedef typename mpl::next< iter_34 > ::type iter_35;
582typedef typename mpl::next< iter_35 > ::type iter_36;
583typedef typename mpl::next< iter_36 > ::type iter_37;
584public:
585typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37)
586< typename mpl::deref< iter_0 > ::type
587, typename mpl::deref< iter_1 > ::type
588, typename mpl::deref< iter_2 > ::type
589, typename mpl::deref< iter_3 > ::type
590, typename mpl::deref< iter_4 > ::type
591, typename mpl::deref< iter_5 > ::type
592, typename mpl::deref< iter_6 > ::type
593, typename mpl::deref< iter_7 > ::type
594, typename mpl::deref< iter_8 > ::type
595, typename mpl::deref< iter_9 > ::type
596, typename mpl::deref< iter_10 > ::type
597, typename mpl::deref< iter_11 > ::type
598, typename mpl::deref< iter_12 > ::type
599, typename mpl::deref< iter_13 > ::type
600, typename mpl::deref< iter_14 > ::type
601, typename mpl::deref< iter_15 > ::type
602, typename mpl::deref< iter_16 > ::type
603, typename mpl::deref< iter_17 > ::type
604, typename mpl::deref< iter_18 > ::type
605, typename mpl::deref< iter_19 > ::type
606, typename mpl::deref< iter_20 > ::type
607, typename mpl::deref< iter_21 > ::type
608, typename mpl::deref< iter_22 > ::type
609, typename mpl::deref< iter_23 > ::type
610, typename mpl::deref< iter_24 > ::type
611, typename mpl::deref< iter_25 > ::type
612, typename mpl::deref< iter_26 > ::type
613, typename mpl::deref< iter_27 > ::type
614, typename mpl::deref< iter_28 > ::type
615, typename mpl::deref< iter_29 > ::type
616, typename mpl::deref< iter_30 > ::type
617, typename mpl::deref< iter_31 > ::type
618, typename mpl::deref< iter_32 > ::type
619, typename mpl::deref< iter_33 > ::type
620, typename mpl::deref< iter_34 > ::type
621, typename mpl::deref< iter_35 > ::type
622, typename mpl::deref< iter_36 > ::type
623, typename mpl::deref< iter_37 > ::type
624> ::type type;
625};
626};
627template< 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 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 >
628struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38)
629{
630typedef 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 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 BOOST_FT_ell) BOOST_FT_cv ;
631};
632template< >
633struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 39 >
634{
635template<typename S> struct synthesize_impl_i
636{
637private:
638typedef typename mpl::begin<S> ::type iter_0;
639typedef typename mpl::next< iter_0 > ::type iter_1;
640typedef typename mpl::next< iter_1 > ::type iter_2;
641typedef typename mpl::next< iter_2 > ::type iter_3;
642typedef typename mpl::next< iter_3 > ::type iter_4;
643typedef typename mpl::next< iter_4 > ::type iter_5;
644typedef typename mpl::next< iter_5 > ::type iter_6;
645typedef typename mpl::next< iter_6 > ::type iter_7;
646typedef typename mpl::next< iter_7 > ::type iter_8;
647typedef typename mpl::next< iter_8 > ::type iter_9;
648typedef typename mpl::next< iter_9 > ::type iter_10;
649typedef typename mpl::next< iter_10 > ::type iter_11;
650typedef typename mpl::next< iter_11 > ::type iter_12;
651typedef typename mpl::next< iter_12 > ::type iter_13;
652typedef typename mpl::next< iter_13 > ::type iter_14;
653typedef typename mpl::next< iter_14 > ::type iter_15;
654typedef typename mpl::next< iter_15 > ::type iter_16;
655typedef typename mpl::next< iter_16 > ::type iter_17;
656typedef typename mpl::next< iter_17 > ::type iter_18;
657typedef typename mpl::next< iter_18 > ::type iter_19;
658typedef typename mpl::next< iter_19 > ::type iter_20;
659typedef typename mpl::next< iter_20 > ::type iter_21;
660typedef typename mpl::next< iter_21 > ::type iter_22;
661typedef typename mpl::next< iter_22 > ::type iter_23;
662typedef typename mpl::next< iter_23 > ::type iter_24;
663typedef typename mpl::next< iter_24 > ::type iter_25;
664typedef typename mpl::next< iter_25 > ::type iter_26;
665typedef typename mpl::next< iter_26 > ::type iter_27;
666typedef typename mpl::next< iter_27 > ::type iter_28;
667typedef typename mpl::next< iter_28 > ::type iter_29;
668typedef typename mpl::next< iter_29 > ::type iter_30;
669typedef typename mpl::next< iter_30 > ::type iter_31;
670typedef typename mpl::next< iter_31 > ::type iter_32;
671typedef typename mpl::next< iter_32 > ::type iter_33;
672typedef typename mpl::next< iter_33 > ::type iter_34;
673typedef typename mpl::next< iter_34 > ::type iter_35;
674typedef typename mpl::next< iter_35 > ::type iter_36;
675typedef typename mpl::next< iter_36 > ::type iter_37;
676typedef typename mpl::next< iter_37 > ::type iter_38;
677public:
678typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38)
679< typename mpl::deref< iter_0 > ::type
680, typename mpl::deref< iter_1 > ::type
681, typename mpl::deref< iter_2 > ::type
682, typename mpl::deref< iter_3 > ::type
683, typename mpl::deref< iter_4 > ::type
684, typename mpl::deref< iter_5 > ::type
685, typename mpl::deref< iter_6 > ::type
686, typename mpl::deref< iter_7 > ::type
687, typename mpl::deref< iter_8 > ::type
688, typename mpl::deref< iter_9 > ::type
689, typename mpl::deref< iter_10 > ::type
690, typename mpl::deref< iter_11 > ::type
691, typename mpl::deref< iter_12 > ::type
692, typename mpl::deref< iter_13 > ::type
693, typename mpl::deref< iter_14 > ::type
694, typename mpl::deref< iter_15 > ::type
695, typename mpl::deref< iter_16 > ::type
696, typename mpl::deref< iter_17 > ::type
697, typename mpl::deref< iter_18 > ::type
698, typename mpl::deref< iter_19 > ::type
699, typename mpl::deref< iter_20 > ::type
700, typename mpl::deref< iter_21 > ::type
701, typename mpl::deref< iter_22 > ::type
702, typename mpl::deref< iter_23 > ::type
703, typename mpl::deref< iter_24 > ::type
704, typename mpl::deref< iter_25 > ::type
705, typename mpl::deref< iter_26 > ::type
706, typename mpl::deref< iter_27 > ::type
707, typename mpl::deref< iter_28 > ::type
708, typename mpl::deref< iter_29 > ::type
709, typename mpl::deref< iter_30 > ::type
710, typename mpl::deref< iter_31 > ::type
711, typename mpl::deref< iter_32 > ::type
712, typename mpl::deref< iter_33 > ::type
713, typename mpl::deref< iter_34 > ::type
714, typename mpl::deref< iter_35 > ::type
715, typename mpl::deref< iter_36 > ::type
716, typename mpl::deref< iter_37 > ::type
717, typename mpl::deref< iter_38 > ::type
718> ::type type;
719};
720};
721template< 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 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 >
722struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39)
723{
724typedef 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 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 BOOST_FT_ell) BOOST_FT_cv ;
725};
726template< >
727struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 40 >
728{
729template<typename S> struct synthesize_impl_i
730{
731private:
732typedef typename mpl::begin<S> ::type iter_0;
733typedef typename mpl::next< iter_0 > ::type iter_1;
734typedef typename mpl::next< iter_1 > ::type iter_2;
735typedef typename mpl::next< iter_2 > ::type iter_3;
736typedef typename mpl::next< iter_3 > ::type iter_4;
737typedef typename mpl::next< iter_4 > ::type iter_5;
738typedef typename mpl::next< iter_5 > ::type iter_6;
739typedef typename mpl::next< iter_6 > ::type iter_7;
740typedef typename mpl::next< iter_7 > ::type iter_8;
741typedef typename mpl::next< iter_8 > ::type iter_9;
742typedef typename mpl::next< iter_9 > ::type iter_10;
743typedef typename mpl::next< iter_10 > ::type iter_11;
744typedef typename mpl::next< iter_11 > ::type iter_12;
745typedef typename mpl::next< iter_12 > ::type iter_13;
746typedef typename mpl::next< iter_13 > ::type iter_14;
747typedef typename mpl::next< iter_14 > ::type iter_15;
748typedef typename mpl::next< iter_15 > ::type iter_16;
749typedef typename mpl::next< iter_16 > ::type iter_17;
750typedef typename mpl::next< iter_17 > ::type iter_18;
751typedef typename mpl::next< iter_18 > ::type iter_19;
752typedef typename mpl::next< iter_19 > ::type iter_20;
753typedef typename mpl::next< iter_20 > ::type iter_21;
754typedef typename mpl::next< iter_21 > ::type iter_22;
755typedef typename mpl::next< iter_22 > ::type iter_23;
756typedef typename mpl::next< iter_23 > ::type iter_24;
757typedef typename mpl::next< iter_24 > ::type iter_25;
758typedef typename mpl::next< iter_25 > ::type iter_26;
759typedef typename mpl::next< iter_26 > ::type iter_27;
760typedef typename mpl::next< iter_27 > ::type iter_28;
761typedef typename mpl::next< iter_28 > ::type iter_29;
762typedef typename mpl::next< iter_29 > ::type iter_30;
763typedef typename mpl::next< iter_30 > ::type iter_31;
764typedef typename mpl::next< iter_31 > ::type iter_32;
765typedef typename mpl::next< iter_32 > ::type iter_33;
766typedef typename mpl::next< iter_33 > ::type iter_34;
767typedef typename mpl::next< iter_34 > ::type iter_35;
768typedef typename mpl::next< iter_35 > ::type iter_36;
769typedef typename mpl::next< iter_36 > ::type iter_37;
770typedef typename mpl::next< iter_37 > ::type iter_38;
771typedef typename mpl::next< iter_38 > ::type iter_39;
772public:
773typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39)
774< typename mpl::deref< iter_0 > ::type
775, typename mpl::deref< iter_1 > ::type
776, typename mpl::deref< iter_2 > ::type
777, typename mpl::deref< iter_3 > ::type
778, typename mpl::deref< iter_4 > ::type
779, typename mpl::deref< iter_5 > ::type
780, typename mpl::deref< iter_6 > ::type
781, typename mpl::deref< iter_7 > ::type
782, typename mpl::deref< iter_8 > ::type
783, typename mpl::deref< iter_9 > ::type
784, typename mpl::deref< iter_10 > ::type
785, typename mpl::deref< iter_11 > ::type
786, typename mpl::deref< iter_12 > ::type
787, typename mpl::deref< iter_13 > ::type
788, typename mpl::deref< iter_14 > ::type
789, typename mpl::deref< iter_15 > ::type
790, typename mpl::deref< iter_16 > ::type
791, typename mpl::deref< iter_17 > ::type
792, typename mpl::deref< iter_18 > ::type
793, typename mpl::deref< iter_19 > ::type
794, typename mpl::deref< iter_20 > ::type
795, typename mpl::deref< iter_21 > ::type
796, typename mpl::deref< iter_22 > ::type
797, typename mpl::deref< iter_23 > ::type
798, typename mpl::deref< iter_24 > ::type
799, typename mpl::deref< iter_25 > ::type
800, typename mpl::deref< iter_26 > ::type
801, typename mpl::deref< iter_27 > ::type
802, typename mpl::deref< iter_28 > ::type
803, typename mpl::deref< iter_29 > ::type
804, typename mpl::deref< iter_30 > ::type
805, typename mpl::deref< iter_31 > ::type
806, typename mpl::deref< iter_32 > ::type
807, typename mpl::deref< iter_33 > ::type
808, typename mpl::deref< iter_34 > ::type
809, typename mpl::deref< iter_35 > ::type
810, typename mpl::deref< iter_36 > ::type
811, typename mpl::deref< iter_37 > ::type
812, typename mpl::deref< iter_38 > ::type
813, typename mpl::deref< iter_39 > ::type
814> ::type type;
815};
816};
817template< 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 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 >
818struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40)
819{
820typedef 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 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 BOOST_FT_ell) BOOST_FT_cv ;
821};
822template< >
823struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 41 >
824{
825template<typename S> struct synthesize_impl_i
826{
827private:
828typedef typename mpl::begin<S> ::type iter_0;
829typedef typename mpl::next< iter_0 > ::type iter_1;
830typedef typename mpl::next< iter_1 > ::type iter_2;
831typedef typename mpl::next< iter_2 > ::type iter_3;
832typedef typename mpl::next< iter_3 > ::type iter_4;
833typedef typename mpl::next< iter_4 > ::type iter_5;
834typedef typename mpl::next< iter_5 > ::type iter_6;
835typedef typename mpl::next< iter_6 > ::type iter_7;
836typedef typename mpl::next< iter_7 > ::type iter_8;
837typedef typename mpl::next< iter_8 > ::type iter_9;
838typedef typename mpl::next< iter_9 > ::type iter_10;
839typedef typename mpl::next< iter_10 > ::type iter_11;
840typedef typename mpl::next< iter_11 > ::type iter_12;
841typedef typename mpl::next< iter_12 > ::type iter_13;
842typedef typename mpl::next< iter_13 > ::type iter_14;
843typedef typename mpl::next< iter_14 > ::type iter_15;
844typedef typename mpl::next< iter_15 > ::type iter_16;
845typedef typename mpl::next< iter_16 > ::type iter_17;
846typedef typename mpl::next< iter_17 > ::type iter_18;
847typedef typename mpl::next< iter_18 > ::type iter_19;
848typedef typename mpl::next< iter_19 > ::type iter_20;
849typedef typename mpl::next< iter_20 > ::type iter_21;
850typedef typename mpl::next< iter_21 > ::type iter_22;
851typedef typename mpl::next< iter_22 > ::type iter_23;
852typedef typename mpl::next< iter_23 > ::type iter_24;
853typedef typename mpl::next< iter_24 > ::type iter_25;
854typedef typename mpl::next< iter_25 > ::type iter_26;
855typedef typename mpl::next< iter_26 > ::type iter_27;
856typedef typename mpl::next< iter_27 > ::type iter_28;
857typedef typename mpl::next< iter_28 > ::type iter_29;
858typedef typename mpl::next< iter_29 > ::type iter_30;
859typedef typename mpl::next< iter_30 > ::type iter_31;
860typedef typename mpl::next< iter_31 > ::type iter_32;
861typedef typename mpl::next< iter_32 > ::type iter_33;
862typedef typename mpl::next< iter_33 > ::type iter_34;
863typedef typename mpl::next< iter_34 > ::type iter_35;
864typedef typename mpl::next< iter_35 > ::type iter_36;
865typedef typename mpl::next< iter_36 > ::type iter_37;
866typedef typename mpl::next< iter_37 > ::type iter_38;
867typedef typename mpl::next< iter_38 > ::type iter_39;
868typedef typename mpl::next< iter_39 > ::type iter_40;
869public:
870typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40)
871< typename mpl::deref< iter_0 > ::type
872, typename mpl::deref< iter_1 > ::type
873, typename mpl::deref< iter_2 > ::type
874, typename mpl::deref< iter_3 > ::type
875, typename mpl::deref< iter_4 > ::type
876, typename mpl::deref< iter_5 > ::type
877, typename mpl::deref< iter_6 > ::type
878, typename mpl::deref< iter_7 > ::type
879, typename mpl::deref< iter_8 > ::type
880, typename mpl::deref< iter_9 > ::type
881, typename mpl::deref< iter_10 > ::type
882, typename mpl::deref< iter_11 > ::type
883, typename mpl::deref< iter_12 > ::type
884, typename mpl::deref< iter_13 > ::type
885, typename mpl::deref< iter_14 > ::type
886, typename mpl::deref< iter_15 > ::type
887, typename mpl::deref< iter_16 > ::type
888, typename mpl::deref< iter_17 > ::type
889, typename mpl::deref< iter_18 > ::type
890, typename mpl::deref< iter_19 > ::type
891, typename mpl::deref< iter_20 > ::type
892, typename mpl::deref< iter_21 > ::type
893, typename mpl::deref< iter_22 > ::type
894, typename mpl::deref< iter_23 > ::type
895, typename mpl::deref< iter_24 > ::type
896, typename mpl::deref< iter_25 > ::type
897, typename mpl::deref< iter_26 > ::type
898, typename mpl::deref< iter_27 > ::type
899, typename mpl::deref< iter_28 > ::type
900, typename mpl::deref< iter_29 > ::type
901, typename mpl::deref< iter_30 > ::type
902, typename mpl::deref< iter_31 > ::type
903, typename mpl::deref< iter_32 > ::type
904, typename mpl::deref< iter_33 > ::type
905, typename mpl::deref< iter_34 > ::type
906, typename mpl::deref< iter_35 > ::type
907, typename mpl::deref< iter_36 > ::type
908, typename mpl::deref< iter_37 > ::type
909, typename mpl::deref< iter_38 > ::type
910, typename mpl::deref< iter_39 > ::type
911, typename mpl::deref< iter_40 > ::type
912> ::type type;
913};
914};
915# undef BOOST_FT_make_type
916# undef BOOST_FT_make_type_impl
917