| |
| // 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 "ndnboost/mpl/apply.hpp" header |
| // -- DO NOT modify by hand! |
| |
| namespace ndnboost { namespace mpl { |
| |
| template< |
| typename F |
| > |
| struct apply0 |
| |
| { |
| typedef typename apply_wrap0< |
| typename lambda<F>::type |
| |
| >::type type; |
| |
| BOOST_MPL_AUX_LAMBDA_SUPPORT( |
| 1 |
| , apply0 |
| , (F ) |
| ) |
| }; |
| |
| /// workaround for ETI bug |
| template<> |
| struct apply0<int> |
| { |
| typedef int type; |
| }; |
| |
| template< |
| typename F, typename T1 |
| > |
| struct apply1 |
| |
| { |
| typedef typename apply_wrap1< |
| typename lambda<F>::type |
| , T1 |
| >::type type; |
| |
| BOOST_MPL_AUX_LAMBDA_SUPPORT( |
| 2 |
| , apply1 |
| , (F, T1) |
| ) |
| }; |
| |
| /// workaround for ETI bug |
| template<> |
| struct apply1< int,int > |
| { |
| typedef int type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2 |
| > |
| struct apply2 |
| |
| { |
| typedef typename apply_wrap2< |
| typename lambda<F>::type |
| , T1, T2 |
| >::type type; |
| |
| BOOST_MPL_AUX_LAMBDA_SUPPORT( |
| 3 |
| , apply2 |
| , (F, T1, T2) |
| ) |
| }; |
| |
| /// workaround for ETI bug |
| template<> |
| struct apply2< int,int,int > |
| { |
| typedef int type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3 |
| > |
| struct apply3 |
| |
| { |
| typedef typename apply_wrap3< |
| typename lambda<F>::type |
| , T1, T2, T3 |
| >::type type; |
| |
| BOOST_MPL_AUX_LAMBDA_SUPPORT( |
| 4 |
| , apply3 |
| , (F, T1, T2, T3) |
| ) |
| }; |
| |
| /// workaround for ETI bug |
| template<> |
| struct apply3< int,int,int,int > |
| { |
| typedef int type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3, typename T4 |
| > |
| struct apply4 |
| |
| { |
| typedef typename apply_wrap4< |
| typename lambda<F>::type |
| , T1, T2, T3, T4 |
| >::type type; |
| |
| BOOST_MPL_AUX_LAMBDA_SUPPORT( |
| 5 |
| , apply4 |
| , (F, T1, T2, T3, T4) |
| ) |
| }; |
| |
| /// workaround for ETI bug |
| template<> |
| struct apply4< int,int,int,int,int > |
| { |
| typedef int type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3, typename T4 |
| , typename T5 |
| > |
| struct apply5 |
| |
| { |
| typedef typename apply_wrap5< |
| typename lambda<F>::type |
| , T1, T2, T3, T4, T5 |
| >::type type; |
| |
| BOOST_MPL_AUX_LAMBDA_SUPPORT( |
| 6 |
| , apply5 |
| , (F, T1, T2, T3, T4, T5) |
| ) |
| }; |
| |
| /// workaround for ETI bug |
| template<> |
| struct apply5< int,int,int,int,int,int > |
| { |
| typedef int type; |
| }; |
| |
| }} |
| |