williamr@4: williamr@4: // Copyright Aleksey Gurtovoy 2000-2004 williamr@4: // williamr@4: // Distributed under the Boost Software License, Version 1.0. williamr@4: // (See accompanying file LICENSE_1_0.txt or copy at williamr@4: // http://www.boost.org/LICENSE_1_0.txt) williamr@4: // williamr@4: williamr@4: // Preprocessed version of "boost/mpl/apply.hpp" header williamr@4: // -- DO NOT modify by hand! williamr@4: williamr@4: namespace boost { namespace mpl { williamr@4: williamr@4: template< williamr@4: typename F williamr@4: > williamr@4: struct apply0 williamr@4: williamr@4: : apply_wrap0< williamr@4: typename lambda::type williamr@4: williamr@4: > williamr@4: { williamr@4: }; williamr@4: williamr@4: template< williamr@4: typename F williamr@4: > williamr@4: struct apply< F,na,na,na,na,na > williamr@4: : apply0 williamr@4: { williamr@4: }; williamr@4: williamr@4: template< williamr@4: typename F, typename T1 williamr@4: > williamr@4: struct apply1 williamr@4: williamr@4: : apply_wrap1< williamr@4: typename lambda::type williamr@4: , T1 williamr@4: > williamr@4: { williamr@4: }; williamr@4: williamr@4: template< williamr@4: typename F, typename T1 williamr@4: > williamr@4: struct apply< F,T1,na,na,na,na > williamr@4: : apply1< F,T1 > williamr@4: { williamr@4: }; williamr@4: williamr@4: template< williamr@4: typename F, typename T1, typename T2 williamr@4: > williamr@4: struct apply2 williamr@4: williamr@4: : apply_wrap2< williamr@4: typename lambda::type williamr@4: , T1, T2 williamr@4: > williamr@4: { williamr@4: }; williamr@4: williamr@4: template< williamr@4: typename F, typename T1, typename T2 williamr@4: > williamr@4: struct apply< F,T1,T2,na,na,na > williamr@4: : apply2< F,T1,T2 > williamr@4: { williamr@4: }; williamr@4: williamr@4: template< williamr@4: typename F, typename T1, typename T2, typename T3 williamr@4: > williamr@4: struct apply3 williamr@4: williamr@4: : apply_wrap3< williamr@4: typename lambda::type williamr@4: , T1, T2, T3 williamr@4: > williamr@4: { williamr@4: }; williamr@4: williamr@4: template< williamr@4: typename F, typename T1, typename T2, typename T3 williamr@4: > williamr@4: struct apply< F,T1,T2,T3,na,na > williamr@4: : apply3< F,T1,T2,T3 > williamr@4: { williamr@4: }; williamr@4: williamr@4: template< williamr@4: typename F, typename T1, typename T2, typename T3, typename T4 williamr@4: > williamr@4: struct apply4 williamr@4: williamr@4: : apply_wrap4< williamr@4: typename lambda::type williamr@4: , T1, T2, T3, T4 williamr@4: > williamr@4: { williamr@4: }; williamr@4: williamr@4: template< williamr@4: typename F, typename T1, typename T2, typename T3, typename T4 williamr@4: > williamr@4: struct apply< F,T1,T2,T3,T4,na > williamr@4: : apply4< F,T1,T2,T3,T4 > williamr@4: { williamr@4: }; williamr@4: williamr@4: template< williamr@4: typename F, typename T1, typename T2, typename T3, typename T4 williamr@4: , typename T5 williamr@4: > williamr@4: struct apply5 williamr@4: williamr@4: : apply_wrap5< williamr@4: typename lambda::type williamr@4: , T1, T2, T3, T4, T5 williamr@4: > williamr@4: { williamr@4: }; williamr@4: williamr@4: /// primary template (not a specialization!) williamr@4: williamr@4: template< williamr@4: typename F, typename T1, typename T2, typename T3, typename T4 williamr@4: , typename T5 williamr@4: > williamr@4: struct apply williamr@4: : apply5< F,T1,T2,T3,T4,T5 > williamr@4: { williamr@4: }; williamr@4: williamr@4: }} williamr@4: