324 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			324 lines
		
	
	
		
			9.6 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 "boost/mpl/set.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 set;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<
							 | 
						||
| 
								 | 
							
								     
							 | 
						||
| 
								 | 
							
								    >
							 | 
						||
| 
								 | 
							
								struct set<
							 | 
						||
| 
								 | 
							
								          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set0<  >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef set0<  >::type type;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<
							 | 
						||
| 
								 | 
							
								      typename T0
							 | 
						||
| 
								 | 
							
								    >
							 | 
						||
| 
								 | 
							
								struct set<
							 | 
						||
| 
								 | 
							
								          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set1<T0>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set1<T0>::type type;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<
							 | 
						||
| 
								 | 
							
								      typename T0, typename T1
							 | 
						||
| 
								 | 
							
								    >
							 | 
						||
| 
								 | 
							
								struct set<
							 | 
						||
| 
								 | 
							
								          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set2< T0,T1 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set2< T0,T1 >::type type;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<
							 | 
						||
| 
								 | 
							
								      typename T0, typename T1, typename T2
							 | 
						||
| 
								 | 
							
								    >
							 | 
						||
| 
								 | 
							
								struct set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set3< T0,T1,T2 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set3< T0,T1,T2 >::type type;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<
							 | 
						||
| 
								 | 
							
								      typename T0, typename T1, typename T2, typename T3
							 | 
						||
| 
								 | 
							
								    >
							 | 
						||
| 
								 | 
							
								struct set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set4< T0,T1,T2,T3 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set4< T0,T1,T2,T3 >::type type;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<
							 | 
						||
| 
								 | 
							
								      typename T0, typename T1, typename T2, typename T3, typename T4
							 | 
						||
| 
								 | 
							
								    >
							 | 
						||
| 
								 | 
							
								struct set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set5< T0,T1,T2,T3,T4 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set5< T0,T1,T2,T3,T4 >::type type;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<
							 | 
						||
| 
								 | 
							
								      typename T0, typename T1, typename T2, typename T3, typename T4
							 | 
						||
| 
								 | 
							
								    , typename T5
							 | 
						||
| 
								 | 
							
								    >
							 | 
						||
| 
								 | 
							
								struct set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set6< T0,T1,T2,T3,T4,T5 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<
							 | 
						||
| 
								 | 
							
								      typename T0, typename T1, typename T2, typename T3, typename T4
							 | 
						||
| 
								 | 
							
								    , typename T5, typename T6
							 | 
						||
| 
								 | 
							
								    >
							 | 
						||
| 
								 | 
							
								struct set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set7< T0,T1,T2,T3,T4,T5,T6 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set7< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set8< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set9< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set10< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set11< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set12< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set13< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
							 | 
						||
| 
								 | 
							
								        , na, na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set14< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
							 | 
						||
| 
								 | 
							
								        , na, na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set15<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set15< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
							 | 
						||
| 
								 | 
							
								        , T15, na, na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set16<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
							 | 
						||
| 
								 | 
							
								        , T15
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set16< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
							 | 
						||
| 
								 | 
							
								        , T15, T16, na, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set17<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
							 | 
						||
| 
								 | 
							
								        , T15, T16
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set17< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
							 | 
						||
| 
								 | 
							
								        , T15, T16, T17, na, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set18<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
							 | 
						||
| 
								 | 
							
								        , T15, T16, T17
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set18< 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 set<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
							 | 
						||
| 
								 | 
							
								        , T15, T16, T17, T18, na
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								    : set19<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
							 | 
						||
| 
								 | 
							
								        , T15, T16, T17, T18
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set19< 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 set
							 | 
						||
| 
								 | 
							
								    : set20<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
							 | 
						||
| 
								 | 
							
								        , T15, T16, T17, T18, T19
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}}
							 | 
						||
| 
								 | 
							
								
							 |