| |
| // Copyright Aleksey Gurtovoy 2000-2008 |
| // |
| // 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_wrap.hpp" header |
| // -- DO NOT modify by hand! |
| |
| namespace ndnboost { namespace mpl { |
| |
| template< |
| int N, typename F |
| > |
| struct apply_wrap_impl0; |
| |
| template< typename F, bool F_has_apply > |
| struct apply_wrap_impl0_bcb { |
| typedef typename F::template apply<na> type; |
| }; |
| |
| template< typename F > |
| struct apply_wrap_impl0_bcb< F,true > { |
| typedef typename F::apply type; |
| }; |
| |
| template< |
| typename F |
| > |
| struct apply_wrap_impl0< |
| 0 |
| , F |
| |
| > |
| { |
| typedef apply_wrap_impl0_bcb< F, aux::has_apply<F>::value >::type type; |
| }; |
| |
| template< |
| typename F |
| > |
| struct apply_wrap_impl0< |
| 1 |
| , F |
| |
| > |
| { |
| typedef typename F::template apply< |
| |
| na |
| > type; |
| }; |
| |
| template< |
| typename F |
| > |
| struct apply_wrap_impl0< |
| 2 |
| , F |
| |
| > |
| { |
| typedef typename F::template apply< |
| |
| na, na |
| |
| > type; |
| }; |
| |
| template< |
| typename F |
| > |
| struct apply_wrap_impl0< |
| 3 |
| , F |
| |
| > |
| { |
| typedef typename F::template apply< |
| |
| na, na, na |
| |
| > type; |
| }; |
| |
| template< |
| typename F |
| > |
| struct apply_wrap_impl0< |
| 4 |
| , F |
| |
| > |
| { |
| typedef typename F::template apply< |
| |
| na, na, na, na |
| |
| > type; |
| }; |
| |
| template< |
| typename F |
| > |
| struct apply_wrap_impl0< |
| 5 |
| , F |
| |
| > |
| { |
| typedef typename F::template apply< |
| |
| na, na, na, na, na |
| |
| > type; |
| }; |
| |
| template< |
| typename F |
| > |
| struct apply_wrap0 |
| : apply_wrap_impl0< |
| ::ndnboost::mpl::aux::arity< F,0 >::value |
| , F |
| |
| >::type |
| { |
| }; |
| |
| template< |
| int N, typename F, typename T1 |
| > |
| struct apply_wrap_impl1; |
| |
| template< |
| typename F, typename T1 |
| > |
| struct apply_wrap_impl1< |
| 1 |
| , F |
| , T1 |
| > |
| { |
| typedef typename F::template apply< |
| T1 |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1 |
| > |
| struct apply_wrap_impl1< |
| 2 |
| , F |
| , T1 |
| > |
| { |
| typedef typename F::template apply< |
| T1 |
| , na |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1 |
| > |
| struct apply_wrap_impl1< |
| 3 |
| , F |
| , T1 |
| > |
| { |
| typedef typename F::template apply< |
| T1 |
| , na, na |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1 |
| > |
| struct apply_wrap_impl1< |
| 4 |
| , F |
| , T1 |
| > |
| { |
| typedef typename F::template apply< |
| T1 |
| , na, na, na |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1 |
| > |
| struct apply_wrap_impl1< |
| 5 |
| , F |
| , T1 |
| > |
| { |
| typedef typename F::template apply< |
| T1 |
| , na, na, na, na |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1 |
| > |
| struct apply_wrap1 |
| : apply_wrap_impl1< |
| ::ndnboost::mpl::aux::arity< F,1 >::value |
| , F |
| , T1 |
| >::type |
| { |
| }; |
| |
| template< |
| int N, typename F, typename T1, typename T2 |
| > |
| struct apply_wrap_impl2; |
| |
| template< |
| typename F, typename T1, typename T2 |
| > |
| struct apply_wrap_impl2< |
| 2 |
| , F |
| , T1, T2 |
| > |
| { |
| typedef typename F::template apply< |
| T1, T2 |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2 |
| > |
| struct apply_wrap_impl2< |
| 3 |
| , F |
| , T1, T2 |
| > |
| { |
| typedef typename F::template apply< |
| T1, T2 |
| |
| , na |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2 |
| > |
| struct apply_wrap_impl2< |
| 4 |
| , F |
| , T1, T2 |
| > |
| { |
| typedef typename F::template apply< |
| T1, T2 |
| |
| , na, na |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2 |
| > |
| struct apply_wrap_impl2< |
| 5 |
| , F |
| , T1, T2 |
| > |
| { |
| typedef typename F::template apply< |
| T1, T2 |
| |
| , na, na, na |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2 |
| > |
| struct apply_wrap2 |
| : apply_wrap_impl2< |
| ::ndnboost::mpl::aux::arity< F,2 >::value |
| , F |
| , T1, T2 |
| >::type |
| { |
| }; |
| |
| template< |
| int N, typename F, typename T1, typename T2, typename T3 |
| > |
| struct apply_wrap_impl3; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3 |
| > |
| struct apply_wrap_impl3< |
| 3 |
| , F |
| , T1, T2, T3 |
| > |
| { |
| typedef typename F::template apply< |
| T1, T2, T3 |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3 |
| > |
| struct apply_wrap_impl3< |
| 4 |
| , F |
| , T1, T2, T3 |
| > |
| { |
| typedef typename F::template apply< |
| T1, T2, T3 |
| |
| , na |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3 |
| > |
| struct apply_wrap_impl3< |
| 5 |
| , F |
| , T1, T2, T3 |
| > |
| { |
| typedef typename F::template apply< |
| T1, T2, T3 |
| |
| , na, na |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3 |
| > |
| struct apply_wrap3 |
| : apply_wrap_impl3< |
| ::ndnboost::mpl::aux::arity< F,3 >::value |
| , F |
| , T1, T2, T3 |
| >::type |
| { |
| }; |
| |
| template< |
| int N, typename F, typename T1, typename T2, typename T3, typename T4 |
| > |
| struct apply_wrap_impl4; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3, typename T4 |
| > |
| struct apply_wrap_impl4< |
| 4 |
| , F |
| , T1, T2, T3, T4 |
| > |
| { |
| typedef typename F::template apply< |
| T1, T2, T3, T4 |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3, typename T4 |
| > |
| struct apply_wrap_impl4< |
| 5 |
| , F |
| , T1, T2, T3, T4 |
| > |
| { |
| typedef typename F::template apply< |
| T1, T2, T3, T4 |
| |
| , na |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3, typename T4 |
| > |
| struct apply_wrap4 |
| : apply_wrap_impl4< |
| ::ndnboost::mpl::aux::arity< F,4 >::value |
| , F |
| , T1, T2, T3, T4 |
| >::type |
| { |
| }; |
| |
| template< |
| int N, typename F, typename T1, typename T2, typename T3, typename T4 |
| , typename T5 |
| > |
| struct apply_wrap_impl5; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3, typename T4 |
| , typename T5 |
| > |
| struct apply_wrap_impl5< |
| 5 |
| , F |
| , T1, T2, T3, T4, T5 |
| > |
| { |
| typedef typename F::template apply< |
| T1, T2, T3, T4, T5 |
| |
| > type; |
| }; |
| |
| template< |
| typename F, typename T1, typename T2, typename T3, typename T4 |
| , typename T5 |
| > |
| struct apply_wrap5 |
| : apply_wrap_impl5< |
| ::ndnboost::mpl::aux::arity< F,5 >::value |
| , F |
| , T1, T2, T3, T4, T5 |
| >::type |
| { |
| }; |
| |
| }} |
| |