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