98 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			98 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Copyright Aleksey Gurtovoy 2002-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 "unpack_args.hpp" header
							 | 
						||
| 
								 | 
							
								// -- DO NOT modify by hand!
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace boost { namespace mpl {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace aux {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template< int size, typename F, typename Args >
							 | 
						||
| 
								 | 
							
								struct unpack_args_impl;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template< typename F, typename Args >
							 | 
						||
| 
								 | 
							
								struct unpack_args_impl< 0,F,Args >
							 | 
						||
| 
								 | 
							
								    : apply0<
							 | 
						||
| 
								 | 
							
								          F
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template< typename F, typename Args >
							 | 
						||
| 
								 | 
							
								struct unpack_args_impl< 1,F,Args >
							 | 
						||
| 
								 | 
							
								    : apply1<
							 | 
						||
| 
								 | 
							
								          F
							 | 
						||
| 
								 | 
							
								        , typename at_c< Args,0 >::type
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template< typename F, typename Args >
							 | 
						||
| 
								 | 
							
								struct unpack_args_impl< 2,F,Args >
							 | 
						||
| 
								 | 
							
								    : apply2<
							 | 
						||
| 
								 | 
							
								          F
							 | 
						||
| 
								 | 
							
								        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template< typename F, typename Args >
							 | 
						||
| 
								 | 
							
								struct unpack_args_impl< 3,F,Args >
							 | 
						||
| 
								 | 
							
								    : apply3<
							 | 
						||
| 
								 | 
							
								          F
							 | 
						||
| 
								 | 
							
								        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
							 | 
						||
| 
								 | 
							
								        , typename at_c< Args,2 >::type
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template< typename F, typename Args >
							 | 
						||
| 
								 | 
							
								struct unpack_args_impl< 4,F,Args >
							 | 
						||
| 
								 | 
							
								    : apply4<
							 | 
						||
| 
								 | 
							
								          F
							 | 
						||
| 
								 | 
							
								        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
							 | 
						||
| 
								 | 
							
								        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template< typename F, typename Args >
							 | 
						||
| 
								 | 
							
								struct unpack_args_impl< 5,F,Args >
							 | 
						||
| 
								 | 
							
								    : apply5<
							 | 
						||
| 
								 | 
							
								          F
							 | 
						||
| 
								 | 
							
								        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
							 | 
						||
| 
								 | 
							
								        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
							 | 
						||
| 
								 | 
							
								        , typename at_c< Args,4 >::type
							 | 
						||
| 
								 | 
							
								        >
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<
							 | 
						||
| 
								 | 
							
								      typename F
							 | 
						||
| 
								 | 
							
								    >
							 | 
						||
| 
								 | 
							
								struct unpack_args
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    template< typename Args > struct apply
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef typename aux::unpack_args_impl<
							 | 
						||
| 
								 | 
							
								              size<Args>::value
							 | 
						||
| 
								 | 
							
								            , F
							 | 
						||
| 
								 | 
							
								            , Args
							 | 
						||
| 
								 | 
							
								            >::type type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}}
							 | 
						||
| 
								 | 
							
								
							 |