-\r
-// Copyright Aleksey Gurtovoy 2000-2004\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. \r
-// (See accompanying file LICENSE_1_0.txt or copy at \r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-\r
-// *Preprocessed* version of the main "vector.hpp" header\r
-// -- DO NOT modify by hand!\r
-\r
-namespace boost { namespace mpl {\r
-\r
-template<\r
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na\r
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na\r
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na\r
- , typename T12 = na, typename T13 = na, typename T14 = na\r
- , typename T15 = na, typename T16 = na, typename T17 = na\r
- , typename T18 = na, typename T19 = na\r
- >\r
-struct vector;\r
-\r
-template<\r
- \r
- >\r
-struct vector<\r
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector0< >\r
-{\r
- typedef vector0< >::type type;\r
-};\r
-\r
-template<\r
- typename T0\r
- >\r
-struct vector<\r
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector1<T0>\r
-{\r
- typedef typename vector1<T0>::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1\r
- >\r
-struct vector<\r
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector2< T0,T1 >\r
-{\r
- typedef typename vector2< T0,T1 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2\r
- >\r
-struct vector<\r
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector3< T0,T1,T2 >\r
-{\r
- typedef typename vector3< T0,T1,T2 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector4< T0,T1,T2,T3 >\r
-{\r
- typedef typename vector4< T0,T1,T2,T3 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector5< T0,T1,T2,T3,T4 >\r
-{\r
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector6< T0,T1,T2,T3,T4,T5 >\r
-{\r
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector7< T0,T1,T2,T3,T4,T5,T6 >\r
-{\r
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >\r
-{\r
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >\r
-{\r
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8, typename T9\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >\r
-{\r
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8, typename T9\r
- , typename T10\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na\r
- , na, na, na\r
- >\r
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >\r
-{\r
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8, typename T9\r
- , typename T10, typename T11\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na\r
- , na, na, na, na\r
- >\r
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >\r
-{\r
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8, typename T9\r
- , typename T10, typename T11, typename T12\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na\r
- , na, na, na, na\r
- >\r
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >\r
-{\r
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8, typename T9\r
- , typename T10, typename T11, typename T12, typename T13\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na\r
- , na, na, na, na\r
- >\r
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >\r
-{\r
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8, typename T9\r
- , typename T10, typename T11, typename T12, typename T13, typename T14\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na\r
- , na, na, na, na\r
- >\r
- : vector15<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
- >\r
-{\r
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8, typename T9\r
- , typename T10, typename T11, typename T12, typename T13, typename T14\r
- , typename T15\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
- , T15, na, na, na, na\r
- >\r
- : vector16<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
- , T15\r
- >\r
-{\r
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8, typename T9\r
- , typename T10, typename T11, typename T12, typename T13, typename T14\r
- , typename T15, typename T16\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
- , T15, T16, na, na, na\r
- >\r
- : vector17<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
- , T15, T16\r
- >\r
-{\r
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8, typename T9\r
- , typename T10, typename T11, typename T12, typename T13, typename T14\r
- , typename T15, typename T16, typename T17\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
- , T15, T16, T17, na, na\r
- >\r
- : vector18<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
- , T15, T16, T17\r
- >\r
-{\r
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;\r
-};\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8, typename T9\r
- , typename T10, typename T11, typename T12, typename T13, typename T14\r
- , typename T15, typename T16, typename T17, typename T18\r
- >\r
-struct vector<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
- , T15, T16, T17, T18, na\r
- >\r
- : vector19<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
- , T15, T16, T17, T18\r
- >\r
-{\r
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;\r
-};\r
-\r
-/// primary template (not a specialization!)\r
-\r
-template<\r
- typename T0, typename T1, typename T2, typename T3, typename T4\r
- , typename T5, typename T6, typename T7, typename T8, typename T9\r
- , typename T10, typename T11, typename T12, typename T13, typename T14\r
- , typename T15, typename T16, typename T17, typename T18, typename T19\r
- >\r
-struct vector\r
- : vector20<\r
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14\r
- , T15, T16, T17, T18, T19\r
- >\r
-{\r
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;\r
-};\r
-\r
-}}\r
-\r
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// *Preprocessed* version of the main "vector.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
+ , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
+ , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
+ , typename T12 = na, typename T13 = na, typename T14 = na
+ , typename T15 = na, typename T16 = na, typename T17 = na
+ , typename T18 = na, typename T19 = na
+ >
+struct vector;
+
+template<
+
+ >
+struct vector<
+ na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector0< >
+{
+ typedef vector0< >::type type;
+};
+
+template<
+ typename T0
+ >
+struct vector<
+ T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector1<T0>
+{
+ typedef typename vector1<T0>::type type;
+};
+
+template<
+ typename T0, typename T1
+ >
+struct vector<
+ T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector2< T0,T1 >
+{
+ typedef typename vector2< T0,T1 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2
+ >
+struct vector<
+ T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector3< T0,T1,T2 >
+{
+ typedef typename vector3< T0,T1,T2 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3
+ >
+struct vector<
+ T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector4< T0,T1,T2,T3 >
+{
+ typedef typename vector4< T0,T1,T2,T3 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ >
+struct vector<
+ T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector5< T0,T1,T2,T3,T4 >
+{
+ typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector6< T0,T1,T2,T3,T4,T5 >
+{
+ typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector7< T0,T1,T2,T3,T4,T5,T6 >
+{
+ typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
+{
+ typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
+{
+ typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
+{
+ typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
+ , na, na, na
+ >
+ : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
+{
+ typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
+ , na, na, na, na
+ >
+ : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
+{
+ typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
+ , na, na, na, na
+ >
+ : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
+{
+ typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
+ , na, na, na, na
+ >
+ : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
+{
+ typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
+ , na, na, na, na
+ >
+ : vector15<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
+ >
+{
+ typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
+ , T15, na, na, na, na
+ >
+ : vector16<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
+ , T15
+ >
+{
+ typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
+ , T15, T16, na, na, na
+ >
+ : vector17<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
+ , T15, T16
+ >
+{
+ typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
+ , T15, T16, T17, na, na
+ >
+ : vector18<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
+ , T15, T16, T17
+ >
+{
+ typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18
+ >
+struct vector<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
+ , T15, T16, T17, T18, na
+ >
+ : vector19<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
+ , T15, T16, T17, T18
+ >
+{
+ typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
+};
+
+/// primary template (not a specialization!)
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ >
+struct vector
+ : vector20<
+ T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
+ , T15, T16, T17, T18, T19
+ >
+{
+ typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
+};
+
+}}
+