329 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			329 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 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;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}}
							 | 
						||
| 
								 | 
							
								
							 |