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_c.hpp" header
\r
10 // -- DO NOT modify by hand!
\r
12 namespace boost { namespace mpl {
\r
16 struct vector_c_chooser;
\r
23 struct vector_c_chooser<0>
\r
26 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
27 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
28 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
32 typedef typename vector0_c<
\r
44 struct vector_c_chooser<1>
\r
47 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
48 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
49 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
53 typedef typename vector1_c<
\r
65 struct vector_c_chooser<2>
\r
68 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
69 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
70 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
74 typedef typename vector2_c<
\r
86 struct vector_c_chooser<3>
\r
89 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
90 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
91 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
95 typedef typename vector3_c<
\r
96 T, T(C0), T(C1), T(C2)
\r
107 struct vector_c_chooser<4>
\r
110 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
111 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
112 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
116 typedef typename vector4_c<
\r
117 T, T(C0), T(C1), T(C2), T(C3)
\r
128 struct vector_c_chooser<5>
\r
131 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
132 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
133 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
137 typedef typename vector5_c<
\r
138 T, T(C0), T(C1), T(C2), T(C3), T(C4)
\r
149 struct vector_c_chooser<6>
\r
152 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
153 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
154 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
158 typedef typename vector6_c<
\r
159 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5)
\r
170 struct vector_c_chooser<7>
\r
173 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
174 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
175 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
179 typedef typename vector7_c<
\r
180 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6)
\r
191 struct vector_c_chooser<8>
\r
194 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
195 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
196 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
200 typedef typename vector8_c<
\r
201 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7)
\r
212 struct vector_c_chooser<9>
\r
215 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
216 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
217 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
221 typedef typename vector9_c<
\r
222 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8)
\r
233 struct vector_c_chooser<10>
\r
236 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
237 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
238 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
242 typedef typename vector10_c<
\r
243 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9)
\r
254 struct vector_c_chooser<11>
\r
257 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
258 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
259 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
263 typedef typename vector11_c<
\r
264 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10)
\r
275 struct vector_c_chooser<12>
\r
278 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
279 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
280 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
284 typedef typename vector12_c<
\r
285 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11)
\r
296 struct vector_c_chooser<13>
\r
299 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
300 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
301 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
305 typedef typename vector13_c<
\r
306 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12)
\r
317 struct vector_c_chooser<14>
\r
320 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
321 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
322 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
326 typedef typename vector14_c<
\r
327 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13)
\r
338 struct vector_c_chooser<15>
\r
341 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
342 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
343 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
347 typedef typename vector15_c<
\r
348 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14)
\r
359 struct vector_c_chooser<16>
\r
362 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
363 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
364 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
368 typedef typename vector16_c<
\r
369 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15)
\r
380 struct vector_c_chooser<17>
\r
383 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
384 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
385 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
389 typedef typename vector17_c<
\r
390 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16)
\r
401 struct vector_c_chooser<18>
\r
404 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
405 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
406 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
410 typedef typename vector18_c<
\r
411 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17)
\r
422 struct vector_c_chooser<19>
\r
425 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
426 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
427 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
431 typedef typename vector19_c<
\r
432 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18)
\r
443 struct vector_c_chooser<20>
\r
446 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
447 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
448 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
452 typedef typename vector20_c<
\r
453 T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19)
\r
464 struct is_vector_c_arg
\r
466 BOOST_STATIC_CONSTANT(bool, value = true);
\r
470 struct is_vector_c_arg<LONG_MAX>
\r
472 BOOST_STATIC_CONSTANT(bool, value = false);
\r
476 long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
\r
477 , long C9, long C10, long C11, long C12, long C13, long C14, long C15
\r
478 , long C16, long C17, long C18, long C19, long C20
\r
480 struct vector_c_count_args
\r
482 BOOST_STATIC_CONSTANT(int, value =
\r
483 is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value
\r
484 + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value
\r
485 + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value
\r
486 + is_vector_c_arg<C7>::value + is_vector_c_arg<C8>::value
\r
487 + is_vector_c_arg<C9>::value + is_vector_c_arg<C10>::value
\r
488 + is_vector_c_arg<C11>::value + is_vector_c_arg<C12>::value
\r
489 + is_vector_c_arg<C13>::value + is_vector_c_arg<C14>::value
\r
490 + is_vector_c_arg<C15>::value + is_vector_c_arg<C16>::value
\r
491 + is_vector_c_arg<C17>::value + is_vector_c_arg<C18>::value
\r
492 + is_vector_c_arg<C19>::value + is_vector_c_arg<C20>::value
\r
498 typename T, long C0, long C1, long C2, long C3, long C4, long C5
\r
499 , long C6, long C7, long C8, long C9, long C10, long C11, long C12
\r
500 , long C13, long C14, long C15, long C16, long C17, long C18, long C19
\r
502 struct vector_c_impl
\r
504 typedef aux::vector_c_count_args<
\r
505 C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
\r
508 typedef typename aux::vector_c_chooser< arg_num_::value >
\r
509 ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
\r
515 typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
\r
516 , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
\r
517 , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
\r
518 , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
\r
519 , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
\r
520 , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
\r
521 , long C18 = LONG_MAX, long C19 = LONG_MAX
\r
524 : aux::vector_c_impl<
\r
525 T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
\r
528 typedef typename aux::vector_c_impl<
\r
529 T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
\r