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/vector.hpp" header
10 // -- DO NOT modify by hand!
12 namespace boost
{ namespace mpl
{
16 struct vector_chooser
;
23 struct vector_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 vector_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 vector1
<
67 struct vector_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 vector2
<
89 struct vector_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 vector3
<
111 struct vector_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 vector4
<
133 struct vector_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 vector5
<
155 struct vector_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 vector6
<
166 T0
, T1
, T2
, T3
, T4
, T5
177 struct vector_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 vector7
<
188 T0
, T1
, T2
, T3
, T4
, T5
, T6
199 struct vector_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 vector8
<
210 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
221 struct vector_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 vector9
<
232 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
243 struct vector_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 vector10
<
254 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
265 struct vector_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 vector11
<
276 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
287 struct vector_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 vector12
<
298 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
309 struct vector_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 vector13
<
320 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
331 struct vector_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 vector14
<
342 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
353 struct vector_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 vector15
<
364 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
375 struct vector_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 vector16
<
386 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
397 struct vector_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 vector17
<
408 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
, T16
419 struct vector_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 vector18
<
430 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
, T16
, T17
441 struct vector_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 vector19
<
452 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
, T16
, T17
, T18
463 struct vector_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 vector20
<
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_vector_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 vector_count_args
504 BOOST_STATIC_CONSTANT(int, value
=
505 is_vector_arg
<T1
>::value
+ is_vector_arg
<T2
>::value
506 + is_vector_arg
<T3
>::value
+ is_vector_arg
<T4
>::value
507 + is_vector_arg
<T5
>::value
+ is_vector_arg
<T6
>::value
508 + is_vector_arg
<T7
>::value
+ is_vector_arg
<T8
>::value
509 + is_vector_arg
<T9
>::value
+ is_vector_arg
<T10
>::value
510 + is_vector_arg
<T11
>::value
+ is_vector_arg
<T12
>::value
511 + is_vector_arg
<T13
>::value
+ is_vector_arg
<T14
>::value
512 + is_vector_arg
<T15
>::value
+ is_vector_arg
<T16
>::value
513 + is_vector_arg
<T17
>::value
+ is_vector_arg
<T18
>::value
514 + is_vector_arg
<T19
>::value
+ is_vector_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::vector_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::vector_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::vector_impl
<
551 T0
, T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
, T16
, T17
, T18
, T19