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