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