diff options
Diffstat (limited to '3rdParty/Boost/src/boost/phoenix/core/detail/preprocessed/call_20.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/phoenix/core/detail/preprocessed/call_20.hpp | 691 |
1 files changed, 691 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/phoenix/core/detail/preprocessed/call_20.hpp b/3rdParty/Boost/src/boost/phoenix/core/detail/preprocessed/call_20.hpp new file mode 100644 index 0000000..0652b1b --- /dev/null +++ b/3rdParty/Boost/src/boost/phoenix/core/detail/preprocessed/call_20.hpp @@ -0,0 +1,691 @@ +/*============================================================================== + Copyright (c) 2005-2010 Joel de Guzman + Copyright (c) 2010 Thomas Heller + + 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) +==============================================================================*/ + + namespace detail + { + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 1> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; + typedef + typename boost::result_of< + Fun(A0, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 2> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; + typedef + typename boost::result_of< + Fun(A0 , A1, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 3> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 4> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 5> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 6> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 7> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 8> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 9> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 10> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 11> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 12> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 13> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 14> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 15> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 16> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 17> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 18> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 19> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) + , boost::phoenix::context(s, d) + ); + } + }; + + + + + + + + + template <typename Fun, typename Expr, typename State, typename Data> + struct call_impl<Fun, Expr, State, Data, 20> + : proto::transform_impl<Expr, State, Data> + { + typedef + typename boost::phoenix::result_of::context<State, Data>::type + context_type; + typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; + typedef + typename boost::result_of< + Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19, context_type) + >::type + result_type; + result_type operator()( + typename call_impl::expr_param e + , typename call_impl::state_param s + , typename call_impl::data_param d + ) const + { + return + Fun()( + proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) + , boost::phoenix::context(s, d) + ); + } + }; + } |