| |
| // 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 "ndnboost/mpl/unpack_args.hpp" header |
| // -- DO NOT modify by hand! |
| |
| namespace ndnboost { namespace mpl { |
| |
| namespace aux { |
| |
| template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl |
| { |
| template< typename F, typename Args > struct apply; |
| }; |
| |
| template<> struct unpack_args_impl<0> |
| { |
| template< typename F, typename Args > struct apply |
| : apply0< |
| F |
| > |
| { |
| }; |
| }; |
| |
| template<> struct unpack_args_impl<1> |
| { |
| template< typename F, typename Args > struct apply |
| : apply1< |
| F |
| , typename at_c< Args,0 >::type |
| > |
| { |
| }; |
| }; |
| |
| template<> struct unpack_args_impl<2> |
| { |
| template< typename F, typename Args > struct apply |
| : apply2< |
| F |
| , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type |
| > |
| { |
| }; |
| }; |
| |
| template<> struct unpack_args_impl<3> |
| { |
| template< typename F, typename Args > struct apply |
| : apply3< |
| F |
| , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type |
| , typename at_c< Args,2 >::type |
| > |
| { |
| }; |
| }; |
| |
| template<> struct unpack_args_impl<4> |
| { |
| template< typename F, typename Args > struct apply |
| : 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<> struct unpack_args_impl<5> |
| { |
| template< typename F, typename Args > struct apply |
| : 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 |
| |
| : aux::unpack_args_impl< size<Args>::value > |
| ::template apply< F,Args > |
| |
| { |
| }; |
| }; |
| |
| BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) |
| |
| }} |
| |