diff --git a/doc/html/phoenix/starter_kit.html b/doc/html/phoenix/starter_kit.html
index b193600..2a619d1 100644
--- a/doc/html/phoenix/starter_kit.html
+++ b/doc/html/phoenix/starter_kit.html
@@ -59,7 +59,7 @@
into high gear quickly.
diff --git a/doc/html/phoenix/starter_kit/lazy_functions.html b/doc/html/phoenix/starter_kit/lazy_functions.html
index c7defc5..edd24dc 100644
--- a/doc/html/phoenix/starter_kit/lazy_functions.html
+++ b/doc/html/phoenix/starter_kit/lazy_functions.html
@@ -52,7 +52,7 @@
function<is_odd_impl> is_odd;
@@ -82,7 +82,7 @@
(See function.cpp)
diff --git a/doc/html/phoenix/starter_kit/lazy_operators.html b/doc/html/phoenix/starter_kit/lazy_operators.html
index ee3e8c8..70cf94c 100644
--- a/doc/html/phoenix/starter_kit/lazy_operators.html
+++ b/doc/html/phoenix/starter_kit/lazy_operators.html
@@ -76,7 +76,7 @@
diff --git a/doc/html/phoenix/starter_kit/values.html b/doc/html/phoenix/starter_kit/values.html
index 3c9f3c9..125f45b 100644
--- a/doc/html/phoenix/starter_kit/values.html
+++ b/doc/html/phoenix/starter_kit/values.html
@@ -39,7 +39,7 @@
World".
@@ -71,7 +71,7 @@
anything and defers the evaluation for later.
diff --git a/doc/inside/actions.qbk b/doc/inside/actions.qbk
index c00017c..ee60a3b 100644
--- a/doc/inside/actions.qbk
+++ b/doc/inside/actions.qbk
@@ -56,8 +56,8 @@ Lets have an (simplified) example on how to write an evaluation action for
{
typedef int result_type;
- template
- result_type operator()(Context const & ctx, Lhs const& lhs, Rhs const &rhs)
+ template
+ result_type operator()(Lhs const& lhs, Rhs const &rhs, Context & ctx)
{
return eval(lhs, ctx) + eval(rhs, ctx);
}
diff --git a/include/boost/phoenix/core/call.hpp b/include/boost/phoenix/core/call.hpp
index 865688d..3667547 100644
--- a/include/boost/phoenix/core/call.hpp
+++ b/include/boost/phoenix/core/call.hpp
@@ -18,7 +18,13 @@ namespace boost { namespace phoenix
{
namespace detail
{
- template ::value>
+ template <
+ typename Fun
+ , typename Expr
+ , typename State
+ , typename Data
+ , long Arity = proto::arity_of::value
+ >
struct call_impl;
template
@@ -31,7 +37,7 @@ namespace boost { namespace phoenix
typedef
typename boost::result_of<
- Fun(context_type, Expr)
+ Fun(Expr, context_type)
>::type
result_type;
@@ -41,7 +47,7 @@ namespace boost { namespace phoenix
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d), e);
+ return Fun()(e, boost::phoenix::context(s, d));
}
};
}
diff --git a/include/boost/phoenix/core/detail/call.hpp b/include/boost/phoenix/core/detail/call.hpp
index 0917c1c..1c264a7 100644
--- a/include/boost/phoenix/core/detail/call.hpp
+++ b/include/boost/phoenix/core/detail/call.hpp
@@ -37,7 +37,7 @@
BOOST_PP_CAT(A, N); \
/**/
#define M1(Z, N ,D) \
- BOOST_PP_COMMA() proto::child_c(e)
+ BOOST_PP_COMMA_IF(N) proto::child_c(e)
/**/
@@ -72,7 +72,7 @@
typedef
typename boost::result_of<
- Fun(context_type, BOOST_PHOENIX_A)
+ Fun(BOOST_PHOENIX_A, context_type)
>::type
result_type;
@@ -82,8 +82,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M1, _));
+ return
+ Fun()(
+ BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M1, _)
+ , boost::phoenix::context(s, d)
+ );
}
};
diff --git a/include/boost/phoenix/core/detail/preprocessed/call_10.hpp b/include/boost/phoenix/core/detail/preprocessed/call_10.hpp
index 08b547a..27355b7 100644
--- a/include/boost/phoenix/core/detail/preprocessed/call_10.hpp
+++ b/include/boost/phoenix/core/detail/preprocessed/call_10.hpp
@@ -26,7 +26,7 @@
typedef typename proto::result_of::child_c::type A0;
typedef
typename boost::result_of<
- Fun(context_type, A0)
+ Fun(A0, context_type)
>::type
result_type;
result_type operator()(
@@ -35,8 +35,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , proto::child_c<0>(e));
+ return
+ Fun()(
+ proto::child_c<0>(e)
+ , boost::phoenix::context(s, d)
+ );
}
};
@@ -57,7 +60,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1)
+ Fun(A0 , A1, context_type)
>::type
result_type;
result_type operator()(
@@ -66,8 +69,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , proto::child_c<0>(e) , proto::child_c<1>(e));
+ return
+ Fun()(
+ proto::child_c<0>(e) , proto::child_c<1>(e)
+ , boost::phoenix::context(s, d)
+ );
}
};
@@ -88,7 +94,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2)
+ Fun(A0 , A1 , A2, context_type)
>::type
result_type;
result_type operator()(
@@ -97,8 +103,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , proto::child_c<0>(e) , proto::child_c<1>(e) , proto::child_c<2>(e));
+ return
+ Fun()(
+ proto::child_c<0>(e) , proto::child_c<1>(e) , proto::child_c<2>(e)
+ , boost::phoenix::context(s, d)
+ );
}
};
@@ -119,7 +128,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3)
+ Fun(A0 , A1 , A2 , A3, context_type)
>::type
result_type;
result_type operator()(
@@ -128,8 +137,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , proto::child_c<0>(e) , proto::child_c<1>(e) , proto::child_c<2>(e) , proto::child_c<3>(e));
+ 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)
+ );
}
};
@@ -150,7 +162,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4)
+ Fun(A0 , A1 , A2 , A3 , A4, context_type)
>::type
result_type;
result_type operator()(
@@ -159,8 +171,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -181,7 +196,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5, context_type)
>::type
result_type;
result_type operator()(
@@ -190,8 +205,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -212,7 +230,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6, context_type)
>::type
result_type;
result_type operator()(
@@ -221,8 +239,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -243,7 +264,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, context_type)
>::type
result_type;
result_type operator()(
@@ -252,8 +273,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -274,7 +298,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, context_type)
>::type
result_type;
result_type operator()(
@@ -283,8 +307,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -305,7 +332,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8; typedef typename proto::result_of::child_c::type A9;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, context_type)
>::type
result_type;
result_type operator()(
@@ -314,8 +341,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
}
diff --git a/include/boost/phoenix/core/detail/preprocessed/call_20.hpp b/include/boost/phoenix/core/detail/preprocessed/call_20.hpp
index 80f1a2e..c8ecf30 100644
--- a/include/boost/phoenix/core/detail/preprocessed/call_20.hpp
+++ b/include/boost/phoenix/core/detail/preprocessed/call_20.hpp
@@ -26,7 +26,7 @@
typedef typename proto::result_of::child_c::type A0;
typedef
typename boost::result_of<
- Fun(context_type, A0)
+ Fun(A0, context_type)
>::type
result_type;
result_type operator()(
@@ -35,8 +35,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , proto::child_c<0>(e));
+ return
+ Fun()(
+ proto::child_c<0>(e)
+ , boost::phoenix::context(s, d)
+ );
}
};
@@ -57,7 +60,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1)
+ Fun(A0 , A1, context_type)
>::type
result_type;
result_type operator()(
@@ -66,8 +69,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , proto::child_c<0>(e) , proto::child_c<1>(e));
+ return
+ Fun()(
+ proto::child_c<0>(e) , proto::child_c<1>(e)
+ , boost::phoenix::context(s, d)
+ );
}
};
@@ -88,7 +94,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2)
+ Fun(A0 , A1 , A2, context_type)
>::type
result_type;
result_type operator()(
@@ -97,8 +103,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , proto::child_c<0>(e) , proto::child_c<1>(e) , proto::child_c<2>(e));
+ return
+ Fun()(
+ proto::child_c<0>(e) , proto::child_c<1>(e) , proto::child_c<2>(e)
+ , boost::phoenix::context(s, d)
+ );
}
};
@@ -119,7 +128,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3)
+ Fun(A0 , A1 , A2 , A3, context_type)
>::type
result_type;
result_type operator()(
@@ -128,8 +137,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , proto::child_c<0>(e) , proto::child_c<1>(e) , proto::child_c<2>(e) , proto::child_c<3>(e));
+ 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)
+ );
}
};
@@ -150,7 +162,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4)
+ Fun(A0 , A1 , A2 , A3 , A4, context_type)
>::type
result_type;
result_type operator()(
@@ -159,8 +171,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -181,7 +196,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5, context_type)
>::type
result_type;
result_type operator()(
@@ -190,8 +205,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -212,7 +230,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6, context_type)
>::type
result_type;
result_type operator()(
@@ -221,8 +239,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -243,7 +264,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, context_type)
>::type
result_type;
result_type operator()(
@@ -252,8 +273,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -274,7 +298,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, context_type)
>::type
result_type;
result_type operator()(
@@ -283,8 +307,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -305,7 +332,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8; typedef typename proto::result_of::child_c::type A9;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, context_type)
>::type
result_type;
result_type operator()(
@@ -314,8 +341,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -336,7 +366,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8; typedef typename proto::result_of::child_c::type A9; typedef typename proto::result_of::child_c::type A10;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10, context_type)
>::type
result_type;
result_type operator()(
@@ -345,8 +375,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -367,7 +400,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8; typedef typename proto::result_of::child_c::type A9; typedef typename proto::result_of::child_c::type A10; typedef typename proto::result_of::child_c::type A11;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11, context_type)
>::type
result_type;
result_type operator()(
@@ -376,8 +409,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -398,7 +434,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8; typedef typename proto::result_of::child_c::type A9; typedef typename proto::result_of::child_c::type A10; typedef typename proto::result_of::child_c::type A11; typedef typename proto::result_of::child_c::type A12;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12, context_type)
>::type
result_type;
result_type operator()(
@@ -407,8 +443,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -429,7 +468,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8; typedef typename proto::result_of::child_c::type A9; typedef typename proto::result_of::child_c::type A10; typedef typename proto::result_of::child_c::type A11; typedef typename proto::result_of::child_c::type A12; typedef typename proto::result_of::child_c::type A13;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13, context_type)
>::type
result_type;
result_type operator()(
@@ -438,8 +477,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -460,7 +502,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8; typedef typename proto::result_of::child_c::type A9; typedef typename proto::result_of::child_c::type A10; typedef typename proto::result_of::child_c::type A11; typedef typename proto::result_of::child_c::type A12; typedef typename proto::result_of::child_c::type A13; typedef typename proto::result_of::child_c::type A14;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14)
+ Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14, context_type)
>::type
result_type;
result_type operator()(
@@ -469,8 +511,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -491,7 +536,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8; typedef typename proto::result_of::child_c::type A9; typedef typename proto::result_of::child_c::type A10; typedef typename proto::result_of::child_c::type A11; typedef typename proto::result_of::child_c::type A12; typedef typename proto::result_of::child_c::type A13; typedef typename proto::result_of::child_c::type A14; typedef typename proto::result_of::child_c::type A15;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15)
+ 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()(
@@ -500,8 +545,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -522,7 +570,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8; typedef typename proto::result_of::child_c::type A9; typedef typename proto::result_of::child_c::type A10; typedef typename proto::result_of::child_c::type A11; typedef typename proto::result_of::child_c::type A12; typedef typename proto::result_of::child_c::type A13; typedef typename proto::result_of::child_c::type A14; typedef typename proto::result_of::child_c::type A15; typedef typename proto::result_of::child_c::type A16;
typedef
typename boost::result_of<
- Fun(context_type, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16)
+ 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()(
@@ -531,8 +579,11 @@
, typename call_impl::data_param d
) const
{
- return Fun()(boost::phoenix::context(s, d)
- , 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));
+ 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)
+ );
}
};
@@ -553,7 +604,7 @@
typedef typename proto::result_of::child_c::type A0; typedef typename proto::result_of::child_c::type A1; typedef typename proto::result_of::child_c::type A2; typedef typename proto::result_of::child_c::type A3; typedef typename proto::result_of::child_c::type A4; typedef typename proto::result_of::child_c::type A5; typedef typename proto::result_of::child_c::type A6; typedef typename proto::result_of::child_c::type A7; typedef typename proto::result_of::child_c::type A8; typedef typename proto::result_of::child_c::type A9; typedef typename proto::result_of::child_c::type A10; typedef typename proto::result_of::child_c::type A11; typedef typename proto::result_of::child_c::type A12; typedef typename proto::result_of::child_c::type A13; typedef typename proto::result_of::child_c::type A14; typedef typename proto::result_of::child_c::type A15; typedef typename proto::result_of::child_c::type A16; typedef typename proto::result_of::child_c