Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r62904 - sandbox/SOC/2010/phoenix3/boost/phoenix/core
From: eric_at_[hidden]
Date: 2010-06-13 08:44:54


Author: eric_niebler
Date: 2010-06-13 08:44:53 EDT (Sun, 13 Jun 2010)
New Revision: 62904
URL: http://svn.boost.org/trac/boost/changeset/62904

Log:
store children and terminal values by-value, use basic_expr as extension base
Text files modified:
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/actor.hpp | 6 +++---
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/compose.hpp | 14 +++++++++-----
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/domain.hpp | 2 --
   3 files changed, 12 insertions(+), 10 deletions(-)

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/actor.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/actor.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/actor.hpp 2010-06-13 08:44:53 EDT (Sun, 13 Jun 2010)
@@ -48,12 +48,12 @@
         
         template <typename Expr, typename A0>
         struct actor<Expr, A0>
- : boost::result_of<eval_grammar(::boost::phoenix::actor<Expr>&, fusion::vector1<A0>&)>
+ : boost::result_of<eval_grammar(::boost::phoenix::actor<Expr> const &, fusion::vector1<A0>&)>
         {};
         
         template <typename Expr, typename A0, typename A1>
         struct actor<Expr, A0, A1>
- : boost::result_of<eval_grammar(::boost::phoenix::actor<Expr>&, fusion::vector2<A0, A1>&)>
+ : boost::result_of<eval_grammar(::boost::phoenix::actor<Expr> const &, fusion::vector2<A0, A1>&)>
         {};
     }
 
@@ -74,7 +74,7 @@
         typedef typename
             mpl::eval_if_c<
                 arity == 0 // avoid calling result_of::actor when this is true
- , boost::result_of<eval_grammar(actor<Expr>&, fusion::vector0<>&)>
+ , boost::result_of<eval_grammar(actor<Expr> const &, fusion::vector0<>&)>
               , mpl::identity<detail::error_expecting_arguments>
>::type
             nullary_result;

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/compose.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/compose.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/compose.hpp 2010-06-13 08:44:53 EDT (Sun, 13 Jun 2010)
@@ -25,6 +25,10 @@
 
     template <typename Expr>
     struct actor;
+
+ struct default_domain_with_basic_expr
+ : proto::domain<proto::use_basic_expr<proto::default_generator> >
+ {};
     
     template <typename F, template< typename > class Actor
         , typename A0 = void, typename A1 = void, typename A2 = void, typename A3 = void
@@ -44,7 +48,7 @@
         typedef
             typename proto::result_of::make_expr<
                   proto::tag::function
- , proto::default_domain
+ , default_domain_with_basic_expr
                 , funcwrap<F>
                 , env>::type
             base_type;
@@ -65,7 +69,7 @@
         typedef
             typename proto::result_of::make_expr<
                   proto::tag::function
- , proto::default_domain
+ , default_domain_with_basic_expr
                 , funcwrap<F>
                 , env
                 , A0>::type
@@ -88,7 +92,7 @@
         typedef
             typename proto::result_of::make_expr<
                   proto::tag::function
- , proto::default_domain
+ , default_domain_with_basic_expr
                 , funcwrap<F>
                 , env
                 , A0
@@ -114,7 +118,7 @@
         typedef
             typename proto::result_of::make_expr<
                   proto::tag::function
- , proto::default_domain
+ , default_domain_with_basic_expr
                 , funcwrap<F>
                 , env
                 , A0
@@ -148,7 +152,7 @@
         typedef \
             typename proto::result_of::make_expr< \
                   proto::tag::function \
- , proto::default_domain \
+ , default_domain_with_basic_expr \
                 , funcwrap< F > \
                 , env BOOST_PP_ENUM_TRAILING_PARAMS(N, A) \
>::type \

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/domain.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/domain.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/domain.hpp 2010-06-13 08:44:53 EDT (Sun, 13 Jun 2010)
@@ -23,11 +23,9 @@
         proto::pod_generator<actor>,
         proto::_, proto::default_domain>
     {
- /*
         template <typename T>
         struct as_child : as_expr<T>
         {};
- */
     };
 }}
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk