PageRenderTime 83ms CodeModel.GetById 15ms app.highlight 62ms RepoModel.GetById 1ms app.codeStats 1ms

/Src/Dependencies/Boost/boost/function_types/detail/synthesize_impl/arity20_1.hpp

http://hadesmem.googlecode.com/
C++ Header | 527 lines | 505 code | 6 blank | 16 comment | 0 complexity | e45266fcceb82a36e324f13c20ffacfa MD5 | raw file
  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