2 // Copyright Aleksey Gurtovoy 2000-2004
4 // Distributed under the Boost Software License, Version 1.0.
5 // (See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
9 // Preprocessed version of "boost/mpl/list.hpp" header
10 // -- DO NOT modify by hand!
12 namespace boost { namespace mpl {
23 struct list_chooser<0>
26 typename T0, typename T1, typename T2, typename T3, typename T4
27 , typename T5, typename T6, typename T7, typename T8, typename T9
28 , typename T10, typename T11, typename T12, typename T13, typename T14
29 , typename T15, typename T16, typename T17, typename T18, typename T19
45 struct list_chooser<1>
48 typename T0, typename T1, typename T2, typename T3, typename T4
49 , typename T5, typename T6, typename T7, typename T8, typename T9
50 , typename T10, typename T11, typename T12, typename T13, typename T14
51 , typename T15, typename T16, typename T17, typename T18, typename T19
55 typedef typename list1<
67 struct list_chooser<2>
70 typename T0, typename T1, typename T2, typename T3, typename T4
71 , typename T5, typename T6, typename T7, typename T8, typename T9
72 , typename T10, typename T11, typename T12, typename T13, typename T14
73 , typename T15, typename T16, typename T17, typename T18, typename T19
77 typedef typename list2<
89 struct list_chooser<3>
92 typename T0, typename T1, typename T2, typename T3, typename T4
93 , typename T5, typename T6, typename T7, typename T8, typename T9
94 , typename T10, typename T11, typename T12, typename T13, typename T14
95 , typename T15, typename T16, typename T17, typename T18, typename T19
99 typedef typename list3<
111 struct list_chooser<4>
114 typename T0, typename T1, typename T2, typename T3, typename T4
115 , typename T5, typename T6, typename T7, typename T8, typename T9
116 , typename T10, typename T11, typename T12, typename T13, typename T14
117 , typename T15, typename T16, typename T17, typename T18, typename T19
121 typedef typename list4<
133 struct list_chooser<5>
136 typename T0, typename T1, typename T2, typename T3, typename T4
137 , typename T5, typename T6, typename T7, typename T8, typename T9
138 , typename T10, typename T11, typename T12, typename T13, typename T14
139 , typename T15, typename T16, typename T17, typename T18, typename T19
143 typedef typename list5<
155 struct list_chooser<6>
158 typename T0, typename T1, typename T2, typename T3, typename T4
159 , typename T5, typename T6, typename T7, typename T8, typename T9
160 , typename T10, typename T11, typename T12, typename T13, typename T14
161 , typename T15, typename T16, typename T17, typename T18, typename T19
165 typedef typename list6<
166 T0, T1, T2, T3, T4, T5
177 struct list_chooser<7>
180 typename T0, typename T1, typename T2, typename T3, typename T4
181 , typename T5, typename T6, typename T7, typename T8, typename T9
182 , typename T10, typename T11, typename T12, typename T13, typename T14
183 , typename T15, typename T16, typename T17, typename T18, typename T19
187 typedef typename list7<
188 T0, T1, T2, T3, T4, T5, T6
199 struct list_chooser<8>
202 typename T0, typename T1, typename T2, typename T3, typename T4
203 , typename T5, typename T6, typename T7, typename T8, typename T9
204 , typename T10, typename T11, typename T12, typename T13, typename T14
205 , typename T15, typename T16, typename T17, typename T18, typename T19
209 typedef typename list8<
210 T0, T1, T2, T3, T4, T5, T6, T7
221 struct list_chooser<9>
224 typename T0, typename T1, typename T2, typename T3, typename T4
225 , typename T5, typename T6, typename T7, typename T8, typename T9
226 , typename T10, typename T11, typename T12, typename T13, typename T14
227 , typename T15, typename T16, typename T17, typename T18, typename T19
231 typedef typename list9<
232 T0, T1, T2, T3, T4, T5, T6, T7, T8
243 struct list_chooser<10>
246 typename T0, typename T1, typename T2, typename T3, typename T4
247 , typename T5, typename T6, typename T7, typename T8, typename T9
248 , typename T10, typename T11, typename T12, typename T13, typename T14
249 , typename T15, typename T16, typename T17, typename T18, typename T19
253 typedef typename list10<
254 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
265 struct list_chooser<11>
268 typename T0, typename T1, typename T2, typename T3, typename T4
269 , typename T5, typename T6, typename T7, typename T8, typename T9
270 , typename T10, typename T11, typename T12, typename T13, typename T14
271 , typename T15, typename T16, typename T17, typename T18, typename T19
275 typedef typename list11<
276 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
287 struct list_chooser<12>
290 typename T0, typename T1, typename T2, typename T3, typename T4
291 , typename T5, typename T6, typename T7, typename T8, typename T9
292 , typename T10, typename T11, typename T12, typename T13, typename T14
293 , typename T15, typename T16, typename T17, typename T18, typename T19
297 typedef typename list12<
298 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
309 struct list_chooser<13>
312 typename T0, typename T1, typename T2, typename T3, typename T4
313 , typename T5, typename T6, typename T7, typename T8, typename T9
314 , typename T10, typename T11, typename T12, typename T13, typename T14
315 , typename T15, typename T16, typename T17, typename T18, typename T19
319 typedef typename list13<
320 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
331 struct list_chooser<14>
334 typename T0, typename T1, typename T2, typename T3, typename T4
335 , typename T5, typename T6, typename T7, typename T8, typename T9
336 , typename T10, typename T11, typename T12, typename T13, typename T14
337 , typename T15, typename T16, typename T17, typename T18, typename T19
341 typedef typename list14<
342 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
353 struct list_chooser<15>
356 typename T0, typename T1, typename T2, typename T3, typename T4
357 , typename T5, typename T6, typename T7, typename T8, typename T9
358 , typename T10, typename T11, typename T12, typename T13, typename T14
359 , typename T15, typename T16, typename T17, typename T18, typename T19
363 typedef typename list15<
364 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
375 struct list_chooser<16>
378 typename T0, typename T1, typename T2, typename T3, typename T4
379 , typename T5, typename T6, typename T7, typename T8, typename T9
380 , typename T10, typename T11, typename T12, typename T13, typename T14
381 , typename T15, typename T16, typename T17, typename T18, typename T19
385 typedef typename list16<
386 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
397 struct list_chooser<17>
400 typename T0, typename T1, typename T2, typename T3, typename T4
401 , typename T5, typename T6, typename T7, typename T8, typename T9
402 , typename T10, typename T11, typename T12, typename T13, typename T14
403 , typename T15, typename T16, typename T17, typename T18, typename T19
407 typedef typename list17<
408 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
419 struct list_chooser<18>
422 typename T0, typename T1, typename T2, typename T3, typename T4
423 , typename T5, typename T6, typename T7, typename T8, typename T9
424 , typename T10, typename T11, typename T12, typename T13, typename T14
425 , typename T15, typename T16, typename T17, typename T18, typename T19
429 typedef typename list18<
430 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
441 struct list_chooser<19>
444 typename T0, typename T1, typename T2, typename T3, typename T4
445 , typename T5, typename T6, typename T7, typename T8, typename T9
446 , typename T10, typename T11, typename T12, typename T13, typename T14
447 , typename T15, typename T16, typename T17, typename T18, typename T19
451 typedef typename list19<
452 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
463 struct list_chooser<20>
466 typename T0, typename T1, typename T2, typename T3, typename T4
467 , typename T5, typename T6, typename T7, typename T8, typename T9
468 , typename T10, typename T11, typename T12, typename T13, typename T14
469 , typename T15, typename T16, typename T17, typename T18, typename T19
473 typedef typename list20<
474 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
484 template< typename T >
487 BOOST_STATIC_CONSTANT(bool, value = true);
491 struct is_list_arg<na>
493 BOOST_STATIC_CONSTANT(bool, value = false);
497 typename T1, typename T2, typename T3, typename T4, typename T5
498 , typename T6, typename T7, typename T8, typename T9, typename T10
499 , typename T11, typename T12, typename T13, typename T14, typename T15
500 , typename T16, typename T17, typename T18, typename T19, typename T20
502 struct list_count_args
504 BOOST_STATIC_CONSTANT(int, value =
505 is_list_arg<T1>::value + is_list_arg<T2>::value
506 + is_list_arg<T3>::value + is_list_arg<T4>::value
507 + is_list_arg<T5>::value + is_list_arg<T6>::value
508 + is_list_arg<T7>::value + is_list_arg<T8>::value
509 + is_list_arg<T9>::value + is_list_arg<T10>::value
510 + is_list_arg<T11>::value + is_list_arg<T12>::value
511 + is_list_arg<T13>::value + is_list_arg<T14>::value
512 + is_list_arg<T15>::value + is_list_arg<T16>::value
513 + is_list_arg<T17>::value + is_list_arg<T18>::value
514 + is_list_arg<T19>::value + is_list_arg<T20>::value
520 typename T0, typename T1, typename T2, typename T3, typename T4
521 , typename T5, typename T6, typename T7, typename T8, typename T9
522 , typename T10, typename T11, typename T12, typename T13, typename T14
523 , typename T15, typename T16, typename T17, typename T18, typename T19
527 typedef aux::list_count_args<
528 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
531 typedef typename aux::list_chooser< arg_num_::value >
532 ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
538 typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
539 , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
540 , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
541 , typename T12 = na, typename T13 = na, typename T14 = na
542 , typename T15 = na, typename T16 = na, typename T17 = na
543 , typename T18 = na, typename T19 = na
547 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
550 typedef typename aux::list_impl<
551 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19