diff options
Diffstat (limited to '3rdParty/Boost/src/boost/phoenix/scope/lambda.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/phoenix/scope/lambda.hpp | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/3rdParty/Boost/src/boost/phoenix/scope/lambda.hpp b/3rdParty/Boost/src/boost/phoenix/scope/lambda.hpp index 432edd9..8221966 100644 --- a/3rdParty/Boost/src/boost/phoenix/scope/lambda.hpp +++ b/3rdParty/Boost/src/boost/phoenix/scope/lambda.hpp @@ -64,123 +64,123 @@ namespace boost { namespace phoenix , typename Lambda , typename Context > struct result<This(OuterEnv, Locals, Map, Lambda, Context)> { typedef typename proto::detail::uncvref< typename proto::result_of::value< OuterEnv >::type >::type outer_env_type; typedef typename proto::detail::uncvref< typename proto::result_of::value< Locals >::type >::type locals_type; typedef typename proto::detail::uncvref< typename proto::result_of::value< Map >::type >::type map_type; typedef typename proto::detail::uncvref< typename result_of::env<Context>::type >::type env_type; - typedef - typename result_of::eval< - Lambda - , typename result_of::context< - scoped_environment< - env_type - , outer_env_type - , locals_type - , map_type - > - , typename result_of::actions< - Context - >::type - >::type - >::type - type; + typedef + typename result_of::eval< + Lambda + , typename result_of::context< + scoped_environment< + env_type + , outer_env_type + , locals_type + , map_type + > + , typename result_of::actions< + Context + >::type + >::type + >::type + type; }; template <typename OuterEnv, typename Locals, typename Map, typename Lambda, typename Context> typename result<lambda_eval(OuterEnv const &, Locals const &, Map const &, Lambda const &, Context const &)>::type operator()(OuterEnv const & outer_env, Locals const & locals, Map const &, Lambda const & lambda, Context const & ctx) const { typedef typename proto::detail::uncvref< typename proto::result_of::value< OuterEnv >::type >::type outer_env_type; typedef typename proto::detail::uncvref< typename proto::result_of::value< Locals >::type >::type locals_type; typedef typename proto::detail::uncvref< typename proto::result_of::value< Map >::type >::type map_type; typedef typename proto::detail::uncvref< typename result_of::env<Context>::type >::type env_type; - scoped_environment< + scoped_environment< env_type , outer_env_type , locals_type , map_type > env(phoenix::env(ctx), proto::value(outer_env), proto::value(locals)); return eval(lambda, phoenix::context(env, phoenix::actions(ctx))); } }; template <typename Dummy> struct default_actions::when<rule::lambda, Dummy> : call<lambda_eval, Dummy> {}; template <typename Dummy> struct is_nullary::when<rule::lambda, Dummy> : proto::call< evaluator( proto::_child_c<3> , proto::call< functional::context( proto::make< mpl::true_() > , proto::make< detail::scope_is_nullary_actions() > ) > , proto::make< proto::empty_env() > ) @@ -216,161 +216,161 @@ namespace boost { namespace phoenix , _context , proto::make<proto::empty_env()> ) > >() > > > > {}; struct lambda_actor_eval { template <typename Sig> struct result; template <typename This, typename Vars, typename Map, typename Lambda, typename Context> struct result<This(Vars, Map, Lambda, Context)> { typedef typename proto::detail::uncvref< typename result_of::env<Context>::type >::type env_type; typedef typename proto::detail::uncvref< typename result_of::actions<Context>::type >::type actions_type; typedef typename proto::detail::uncvref< typename proto::result_of::value<Vars>::type >::type vars_type; - typedef typename + typedef typename detail::result_of::initialize_locals< vars_type , Context >::type locals_type; typedef typename expression::lambda< env_type , locals_type , Map , Lambda >::type const type; }; template < typename Vars , typename Map , typename Lambda , typename Context > typename result< lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context const &) >::type const operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context const & ctx) const { typedef typename proto::detail::uncvref< typename result_of::env<Context>::type >::type env_type; - typedef + /*typedef typename proto::detail::uncvref< typename result_of::actions<Context>::type >::type - actions_type; + actions_type;*/ typedef typename proto::detail::uncvref< typename proto::result_of::value<Vars>::type >::type vars_type; - typedef + /*typedef typename proto::detail::uncvref< typename proto::result_of::value<Map>::type >::type - map_type; - - typedef typename + map_type;*/ + + typedef typename detail::result_of::initialize_locals< vars_type , Context >::type locals_type; locals_type locals = initialize_locals(proto::value(vars), ctx); return expression:: lambda<env_type, locals_type, Map, Lambda>:: make(phoenix::env(ctx), locals, map, lambda); } }; template <typename Dummy> struct default_actions::when<rule::lambda_actor, Dummy> : call<lambda_actor_eval, Dummy> {}; template <typename Locals = void, typename Map = void, typename Dummy = void> struct lambda_actor_gen; template <> struct lambda_actor_gen<void, void, void> { template <typename Expr> typename expression::lambda_actor<vector0<>, detail::map_local_index_to_tuple<>, Expr>::type const operator[](Expr const & expr) const { typedef vector0<> locals_type; typedef detail::map_local_index_to_tuple<> map_type; return expression::lambda_actor<locals_type, map_type, Expr>::make(locals_type(), map_type(), expr); } }; template <typename Locals, typename Map> struct lambda_actor_gen<Locals, Map> { - lambda_actor_gen(Locals const & locals) - : locals(locals) + lambda_actor_gen(Locals const & locals_) + : locals(locals_) {} lambda_actor_gen(lambda_actor_gen const & o) : locals(o.locals) {}; template <typename Expr> typename expression::lambda_actor< Locals , Map , Expr >::type const operator[](Expr const & expr) const { return expression::lambda_actor<Locals, Map, Expr>::make(locals, Map(), expr); } Locals locals; }; struct lambda_local_gen : lambda_actor_gen<> { lambda_actor_gen<> const operator()() const { return lambda_actor_gen<>(); } #define BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME lambda_actor_gen #define BOOST_PHOENIX_SCOPE_ACTOR_GEN_FUNCTION operator() #define BOOST_PHOENIX_SCOPE_ACTOR_GEN_CONST const #include <boost/phoenix/scope/detail/local_gen.hpp> #undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME #undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_FUNCTION |