557 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			557 lines
		
	
	
		
			15 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/map.hpp" header
							 | 
						||
| 
								 | 
							
								// -- DO NOT modify by hand!
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace boost { namespace mpl {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								template< int N >
							 | 
						||
| 
								 | 
							
								struct map_chooser;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<0>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef map0<
							 | 
						||
| 
								 | 
							
								             
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<1>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map1<
							 | 
						||
| 
								 | 
							
								              T0
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<2>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map2<
							 | 
						||
| 
								 | 
							
								              T0, T1
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<3>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map3<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<4>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map4<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<5>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map5<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<6>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map6<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<7>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map7<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<8>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map8<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<9>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map9<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<10>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map10<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<11>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map11<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<12>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map12<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<13>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map13<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<14>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map14<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<15>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map15<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<16>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map16<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<17>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map17<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<18>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map18<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<19>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map19<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct map_chooser<20>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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 result_
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename map20<
							 | 
						||
| 
								 | 
							
								              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template< typename T >
							 | 
						||
| 
								 | 
							
								struct is_map_arg
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    BOOST_STATIC_CONSTANT(bool, value  = true);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<>
							 | 
						||
| 
								 | 
							
								struct is_map_arg<na>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    BOOST_STATIC_CONSTANT(bool, value  = false);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<
							 | 
						||
| 
								 | 
							
								      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, typename T20
							 | 
						||
| 
								 | 
							
								    >
							 | 
						||
| 
								 | 
							
								struct map_count_args
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    BOOST_STATIC_CONSTANT(int, value =
							 | 
						||
| 
								 | 
							
								          is_map_arg<T1>::value + is_map_arg<T2>::value 
							 | 
						||
| 
								 | 
							
								        + is_map_arg<T3>::value + is_map_arg<T4>::value 
							 | 
						||
| 
								 | 
							
								        + is_map_arg<T5>::value + is_map_arg<T6>::value 
							 | 
						||
| 
								 | 
							
								        + is_map_arg<T7>::value + is_map_arg<T8>::value 
							 | 
						||
| 
								 | 
							
								        + is_map_arg<T9>::value + is_map_arg<T10>::value 
							 | 
						||
| 
								 | 
							
								        + is_map_arg<T11>::value + is_map_arg<T12>::value 
							 | 
						||
| 
								 | 
							
								        + is_map_arg<T13>::value + is_map_arg<T14>::value 
							 | 
						||
| 
								 | 
							
								        + is_map_arg<T15>::value + is_map_arg<T16>::value 
							 | 
						||
| 
								 | 
							
								        + is_map_arg<T17>::value + is_map_arg<T18>::value 
							 | 
						||
| 
								 | 
							
								        + is_map_arg<T19>::value + is_map_arg<T20>::value
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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 map_impl
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef aux::map_count_args<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
							 | 
						||
| 
								 | 
							
								        > arg_num_;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    typedef typename aux::map_chooser< arg_num_::value >
							 | 
						||
| 
								 | 
							
								        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace aux
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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 map
							 | 
						||
| 
								 | 
							
								    : aux::map_impl<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
							 | 
						||
| 
								 | 
							
								        >::type
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    typedef typename aux::map_impl<
							 | 
						||
| 
								 | 
							
								          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
							 | 
						||
| 
								 | 
							
								        >::type type;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}}
							 | 
						||
| 
								 | 
							
								
							 |