-\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 "list_c.hpp" header\r
-// -- DO NOT modify by hand!\r
-\r
-namespace boost { namespace mpl {\r
-\r
-template<\r
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX\r
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX\r
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX\r
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX\r
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX\r
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX\r
- , long C18 = LONG_MAX, long C19 = LONG_MAX\r
- >\r
-struct list_c;\r
-\r
-template<\r
- typename T\r
- >\r
-struct list_c<\r
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list0_c<T>\r
-{\r
- typedef typename list0_c<T>::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0\r
- >\r
-struct list_c<\r
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list1_c< T,C0 >\r
-{\r
- typedef typename list1_c< T,C0 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1\r
- >\r
-struct list_c<\r
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list2_c< T,C0,C1 >\r
-{\r
- typedef typename list2_c< T,C0,C1 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list3_c< T,C0,C1,C2 >\r
-{\r
- typedef typename list3_c< T,C0,C1,C2 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list4_c< T,C0,C1,C2,C3 >\r
-{\r
- typedef typename list4_c< T,C0,C1,C2,C3 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list5_c< T,C0,C1,C2,C3,C4 >\r
-{\r
- typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list6_c< T,C0,C1,C2,C3,C4,C5 >\r
-{\r
- typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >\r
-{\r
- typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX\r
- >\r
- : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >\r
-{\r
- typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX\r
- >\r
- : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >\r
-{\r
- typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8, long C9\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- , LONG_MAX\r
- >\r
- : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >\r
-{\r
- typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8, long C9, long C10\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >\r
-{\r
- typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8, long C9, long C10, long C11\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >\r
-{\r
- typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >\r
-{\r
- typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
- , long C13\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list14_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13\r
- >\r
-{\r
- typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
- , long C13, long C14\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list15_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
- >\r
-{\r
- typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
- , long C13, long C14, long C15\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list16_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
- , C15\r
- >\r
-{\r
- typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
- , long C13, long C14, long C15, long C16\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX\r
- >\r
- : list17_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
- , C15, C16\r
- >\r
-{\r
- typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
- , long C13, long C14, long C15, long C16, long C17\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
- , C15, C16, C17, LONG_MAX, LONG_MAX\r
- >\r
- : list18_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
- , C15, C16, C17\r
- >\r
-{\r
- typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;\r
-};\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
- , long C13, long C14, long C15, long C16, long C17, long C18\r
- >\r
-struct list_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
- , C15, C16, C17, C18, LONG_MAX\r
- >\r
- : list19_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
- , C15, C16, C17, C18\r
- >\r
-{\r
- typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;\r
-};\r
-\r
-/// primary template (not a specialization!)\r
-\r
-template<\r
- typename T, long C0, long C1, long C2, long C3, long C4, long C5\r
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12\r
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19\r
- >\r
-struct list_c\r
- : list20_c<\r
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14\r
- , C15, C16, C17, C18, C19\r
- >\r
-{\r
- typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::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 "list_c.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
+ , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
+ , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
+ , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
+ , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
+ , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
+ , long C18 = LONG_MAX, long C19 = LONG_MAX
+ >
+struct list_c;
+
+template<
+ typename T
+ >
+struct list_c<
+ T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list0_c<T>
+{
+ typedef typename list0_c<T>::type type;
+};
+
+template<
+ typename T, long C0
+ >
+struct list_c<
+ T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list1_c< T,C0 >
+{
+ typedef typename list1_c< T,C0 >::type type;
+};
+
+template<
+ typename T, long C0, long C1
+ >
+struct list_c<
+ T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list2_c< T,C0,C1 >
+{
+ typedef typename list2_c< T,C0,C1 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2
+ >
+struct list_c<
+ T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list3_c< T,C0,C1,C2 >
+{
+ typedef typename list3_c< T,C0,C1,C2 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3
+ >
+struct list_c<
+ T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list4_c< T,C0,C1,C2,C3 >
+{
+ typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list5_c< T,C0,C1,C2,C3,C4 >
+{
+ typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list6_c< T,C0,C1,C2,C3,C4,C5 >
+{
+ typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
+{
+ typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX
+ >
+ : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
+{
+ typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX
+ >
+ : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
+{
+ typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8, long C9
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ , LONG_MAX
+ >
+ : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
+{
+ typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8, long C9, long C10
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
+{
+ typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8, long C9, long C10, long C11
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
+{
+ typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8, long C9, long C10, long C11, long C12
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
+{
+ typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8, long C9, long C10, long C11, long C12
+ , long C13
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list14_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
+ >
+{
+ typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8, long C9, long C10, long C11, long C12
+ , long C13, long C14
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
+ , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list15_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
+ >
+{
+ typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8, long C9, long C10, long C11, long C12
+ , long C13, long C14, long C15
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
+ , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list16_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
+ , C15
+ >
+{
+ typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8, long C9, long C10, long C11, long C12
+ , long C13, long C14, long C15, long C16
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
+ , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
+ >
+ : list17_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
+ , C15, C16
+ >
+{
+ typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8, long C9, long C10, long C11, long C12
+ , long C13, long C14, long C15, long C16, long C17
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
+ , C15, C16, C17, LONG_MAX, LONG_MAX
+ >
+ : list18_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
+ , C15, C16, C17
+ >
+{
+ typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
+};
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8, long C9, long C10, long C11, long C12
+ , long C13, long C14, long C15, long C16, long C17, long C18
+ >
+struct list_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
+ , C15, C16, C17, C18, LONG_MAX
+ >
+ : list19_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
+ , C15, C16, C17, C18
+ >
+{
+ typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
+};
+
+/// primary template (not a specialization!)
+
+template<
+ typename T, long C0, long C1, long C2, long C3, long C4, long C5
+ , long C6, long C7, long C8, long C9, long C10, long C11, long C12
+ , long C13, long C14, long C15, long C16, long C17, long C18, long C19
+ >
+struct list_c
+ : list20_c<
+ T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
+ , C15, C16, C17, C18, C19
+ >
+{
+ typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
+};
+
+}}
+