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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 >
491 struct is_vector_arg<
na>
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
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
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
551 T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19