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