Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r68750 - in sandbox/SOC/2010/phoenix3: boost/phoenix/core boost/phoenix/core/detail boost/phoenix/scope boost/phoenix/scope/detail boost/phoenix/statement libs/phoenix/test/core libs/phoenix/test/scope
From: thom.heller_at_[hidden]
Date: 2011-02-09 15:55:09


Author: theller
Date: 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
New Revision: 68750
URL: http://svn.boost.org/trac/boost/changeset/68750

Log:
improved compile times, a bit
Text files modified:
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/actor.hpp | 18 ++---
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/arity.hpp | 5 +
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_operator.hpp | 75 ++++++++++++---------------
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_result_of.hpp | 10 +-
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp | 32 +++++++----
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_nullary.hpp | 108 ++++++++++++++++++++++++++++++----------
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/limits.hpp | 27 ----------
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/terminal.hpp | 2
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/dynamic.hpp | 7 +-
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_gen.hpp | 4
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/lambda.hpp | 4 -
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/let.hpp | 10 +--
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp | 5 +
   sandbox/SOC/2010/phoenix3/boost/phoenix/statement/switch.hpp | 10 +--
   sandbox/SOC/2010/phoenix3/libs/phoenix/test/core/primitives_tests.cpp | 6 +
   sandbox/SOC/2010/phoenix3/libs/phoenix/test/scope/dynamic_tests.cpp | 2
   16 files changed, 174 insertions(+), 151 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 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -13,12 +13,12 @@
 
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/eval_if.hpp>
-#include <boost/fusion/container/generation/make_vector.hpp>
 #include <boost/phoenix/core/domain.hpp>
 #include <boost/phoenix/core/environment.hpp>
 #include <boost/phoenix/core/is_nullary.hpp>
 #include <boost/phoenix/core/meta_grammar.hpp>
 #include <boost/phoenix/support/iterate.hpp>
+#include <boost/phoenix/support/vector.hpp>
 #include <boost/proto/extends.hpp>
 #include <boost/utility/result_of.hpp>
 #include <boost/mpl/void.hpp>
@@ -129,21 +129,19 @@
         typename result_of::actor<Expr>::type
         operator()()
         {
- typedef fusion::vector1<const actor<Expr> *> args_type;
- args_type args(this);
- fusion::vector2<args_type&, default_actions> env(args, default_actions());
+ typedef vector1<const actor<Expr> *> env_type;
+ env_type env = {this};
             
- return eval(*this, env);
+ return eval(*this, context(env, default_actions()));
         }
 
         typename result_of::actor<Expr>::type
         operator()() const
         {
- typedef fusion::vector1<const actor<Expr> *> args_type;
- args_type args(this);
- fusion::vector2<args_type&, default_actions> env(args, default_actions());
-
- return eval(*this, env);
+ typedef vector1<const actor<Expr> *> env_type;
+ env_type env = {this};
+
+ return eval(*this, context(env, default_actions()));
         }
         
         // Bring in the rest

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/arity.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/arity.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/arity.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -14,6 +14,7 @@
 #include <boost/mpl/int.hpp>
 #include <boost/phoenix/core/meta_grammar.hpp>
 #include <boost/phoenix/core/terminal_fwd.hpp>
+#include <boost/phoenix/support/vector.hpp>
 #include <boost/proto/transform/fold.hpp>
 
 namespace boost { namespace phoenix
@@ -33,7 +34,7 @@
             : mpl::int_<
                 evaluator::impl<
                     Expr const&
- , fusion::vector2<
+ , vector2<
                         mpl::int_<0>
                       , boost::phoenix::arity
>&
@@ -52,7 +53,7 @@
               , mpl::int_<0>
               , mpl::max<
                     proto::_state
- , evaluator(proto::_, _context)
+ , evaluator(proto::_, functional::context(_env, _actions))
>()
>
         {};

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_operator.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_operator.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_operator.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -1,4 +1,5 @@
 
+/*
 #if !defined(PHOENIX_DONT_USE_PREPROCESSED_FILES)
 #ifndef PHOENIX_CORE_DETAIL_ACTOR_OPERATOR_HPP
 #define PHOENIX_CORE_DETAIL_ACTOR_OPERATOR_HPP
@@ -8,7 +9,7 @@
 #include <boost/phoenix/core/detail/preprocessed/actor_operator.hpp>
 
 #endif
-#else
+#else*/
 
 #if !PHOENIX_IS_ITERATING
 
@@ -57,15 +58,13 @@
         operator()(PHOENIX_A_ref_a)
         {
             typedef
- BOOST_PP_CAT(fusion::vector, BOOST_PP_INC(PHOENIX_ITERATION))<
+ BOOST_PP_CAT(vector, BOOST_PP_INC(PHOENIX_ITERATION))<
                     const actor<Expr> *, PHOENIX_A_ref
>
- args_type;
- args_type args(this, PHOENIX_a);
- fusion::vector2<args_type&, default_actions>
- env(args, default_actions());
-
- return eval(*this, env);
+ env_type;
+ env_type env = {this, PHOENIX_a};
+
+ return eval(*this, context(env, default_actions()));
         }
 
         template <PHOENIX_typename_A>
@@ -73,15 +72,13 @@
         operator()(PHOENIX_A_ref_a) const
         {
             typedef
- BOOST_PP_CAT(fusion::vector, BOOST_PP_INC(PHOENIX_ITERATION))<
+ BOOST_PP_CAT(vector, BOOST_PP_INC(PHOENIX_ITERATION))<
                     const actor<Expr> *, PHOENIX_A_ref
>
- args_type;
- args_type args(this, PHOENIX_a);
- fusion::vector2<args_type&, default_actions>
- env(args, default_actions());
+ env_type;
+ env_type env = {this, PHOENIX_a};
             
- return eval(*this, env);
+ return eval(*this, context(env, default_actions()));
         }
 
         template <PHOENIX_typename_A>
@@ -89,15 +86,13 @@
         operator()(PHOENIX_A_const_ref_a)
         {
             typedef
- BOOST_PP_CAT(fusion::vector, BOOST_PP_INC(PHOENIX_ITERATION))<
+ BOOST_PP_CAT(vector, BOOST_PP_INC(PHOENIX_ITERATION))<
                     const actor<Expr> *, PHOENIX_A_const_ref
>
- args_type;
- args_type args(this, PHOENIX_a);
- fusion::vector2<args_type&, default_actions>
- env(args, default_actions());
+ env_type;
+ env_type env = {this, PHOENIX_a};
             
- return eval(*this, env);
+ return eval(*this, context(env, default_actions()));
         }
 
         template <PHOENIX_typename_A>
@@ -105,15 +100,13 @@
         operator()(PHOENIX_A_const_ref_a) const
         {
             typedef
- BOOST_PP_CAT(fusion::vector, BOOST_PP_INC(PHOENIX_ITERATION))<
+ BOOST_PP_CAT(vector, BOOST_PP_INC(PHOENIX_ITERATION))<
                     const actor<Expr> *, PHOENIX_A_const_ref
>
- args_type;
- args_type args(this, PHOENIX_a);
- fusion::vector2<args_type&, default_actions>
- env(args, default_actions());
-
- return eval(*this, env);
+ env_type;
+ env_type env = {this, PHOENIX_a};
+
+ return eval(*this, context(env, default_actions()));
         }
 
 #else
@@ -131,14 +124,13 @@
         operator()(PHOENIX_PERM_A_a(I)) const \
         { \
             typedef \
- typename fusion::result_of::make_vector<const actor<Expr> *, PHOENIX_PERM_A(I)>::type\
- args_type; \
- args_type args(this, PHOENIX_a); \
- fusion::vector2< \
- args_type&, default_actions \
- > env(args, default_actions()); \
+ BOOST_PP_CAT(vector, BOOST_PP_INC(PHOENIX_ITERATION))< \
+ const actor<Expr> *, PHOENIX_PERM_A(I) \
+ > \
+ env_type; \
+ env_type env = {this, PHOENIX_a}; \
                                                                                 \
- return eval(*this, env); \
+ return eval(*this, context(env, default_actions())); \
         } \
                                                                                 \
         template <PHOENIX_typename_A> \
@@ -146,14 +138,13 @@
         operator()(PHOENIX_PERM_A_a(I)) \
         { \
             typedef \
- typename fusion::result_of::make_vector<const actor<Expr> *,PHOENIX_PERM_A(I)>::type\
- args_type; \
- args_type args(this, PHOENIX_a); \
- fusion::vector2< \
- args_type&, default_actions \
- > env(args, default_actions()); \
+ BOOST_PP_CAT(vector, BOOST_PP_INC(PHOENIX_ITERATION))< \
+ const actor<Expr> *, PHOENIX_PERM_A(I) \
+ > \
+ env_type; \
+ env_type env = {this, PHOENIX_a}; \
                                                                                 \
- return eval(*this, env); \
+ return eval(*this, context(env, default_actions())); \
         } \
         /**/
 
@@ -165,4 +156,4 @@
 
 #endif
 
-#endif // PHOENIX_DONT_USE_PREPROCESSED_FILES
+//#endif // PHOENIX_DONT_USE_PREPROCESSED_FILES

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_result_of.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_result_of.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_result_of.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -48,8 +48,8 @@
             typedef
                 typename evaluator::impl<
                     Expr const&
- , fusion::vector2<
- fusion::vector1<const ::boost::phoenix::actor<Expr> *> &
+ , vector2<
+ vector1<const ::boost::phoenix::actor<Expr> *> &
                       , default_actions
> const &
                   , int
@@ -63,7 +63,7 @@
             typedef
                 // avoid calling result_of::actor when this is false
                 typename mpl::eval_if<
- typename result_of::is_nullary<Expr>::type
+ result_of::is_nullary<Expr>
                   , nullary_actor_result<Expr>
                   , mpl::identity<detail::error_expecting_arguments>
>::type
@@ -92,9 +92,9 @@
                 typename phoenix::evaluator::
                     impl<
                         Expr const&
- , fusion::vector2<
+ , vector2<
                             BOOST_PP_CAT(
- fusion::vector
+ vector
                               , BOOST_PP_INC(PHOENIX_ITERATION)
                             )<const ::boost::phoenix::actor<Expr> *, PHOENIX_A> &
                           , default_actions

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -11,6 +11,7 @@
 #include <boost/phoenix/core/limits.hpp>
 #include <boost/fusion/sequence/intrinsic/at.hpp>
 #include <boost/fusion/support/is_sequence.hpp>
+#include <boost/phoenix/support/vector.hpp>
 #include <boost/proto/transform/impl.hpp>
 #include <boost/utility/enable_if.hpp>
 #include <boost/utility/result_of.hpp>
@@ -24,7 +25,7 @@
         template <typename Env, typename Actions>
         struct context
         {
- typedef fusion::vector2<Env, Actions> type;
+ typedef vector2<Env, Actions> type;
         };
 
         template <typename Context>
@@ -83,28 +84,32 @@
             typename result_of::context<Env &, Actions &>::type
             operator()(Env & env, Actions & actions) const
             {
- return fusion::vector2<Env &, Actions &>(env, actions);
+ vector2<Env &, Actions &> e = {env, actions};
+ return e;
             }
 
             template <typename Env, typename Actions>
             typename result_of::context<Env const &, Actions &>::type
             operator()(Env const & env, Actions & actions) const
             {
- return fusion::vector2<Env const &, Actions &>(env, actions);
+ vector2<Env const &, Actions &> e = {env, actions};
+ return e;
             }
 
             template <typename Env, typename Actions>
             typename result_of::context<Env &, Actions const &>::type
             operator()(Env & env, Actions const & actions) const
             {
- return fusion::vector2<Env &, Actions const &>(env, actions);
+ vector2<Env &, Actions const &> e = {env, actions};
+ return e;
             }
 
             template <typename Env, typename Actions>
             typename result_of::context<Env const &, Actions const &>::type
             operator()(Env const & env, Actions const & actions) const
             {
- return fusion::vector2<Env const &, Actions const &>(env, actions);
+ vector2<Env const&, Actions const &> e = {env, actions};
+ return e;
             }
         };
 
@@ -181,7 +186,7 @@
         struct impl
             : proto::transform_impl<Expr, State, Data>
         {
- typedef fusion::vector2<State, Data> result_type;
+ typedef vector2<State, Data> result_type;
 
             result_type operator()(
                 typename impl::expr_param
@@ -189,7 +194,8 @@
               , typename impl::data_param d
             ) const
             {
- return fusion::vector2<State, Data>(s, d);
+ vector2<State, Data> e = {s, d};
+ return e;
             }
         };
     };
@@ -198,28 +204,32 @@
     typename result_of::context<Env const &, Actions const&>::type const
     context(Env const& env, Actions const& actions)
     {
- return fusion::vector2<Env const &, Actions const &>(env, actions);
+ vector2<Env const&, Actions const &> e = {env, actions};
+ return e;
     }
 
     template <typename Env, typename Actions>
     typename result_of::context<Env &, Actions const&>::type const
     context(Env & env, Actions const& actions)
     {
- return fusion::vector2<Env &, Actions const &>(env, actions);
+ vector2<Env &, Actions const &> e = {env, actions};
+ return e;
     }
 
     template <typename Env, typename Actions>
     typename result_of::context<Env const &, Actions &>::type const
     context(Env const& env, Actions & actions)
     {
- return fusion::vector2<Env const &, Actions &>(env, actions);
+ vector2<Env const&, Actions &> e = {env, actions};
+ return e;
     }
     
     template <typename Env, typename Actions>
     typename result_of::context<Env &, Actions &>::type const
     context(Env & env, Actions & actions)
     {
- return fusion::vector2<Env &, Actions &>(env, actions);
+ vector2<Env &, Actions &> e = {env, actions};
+ return e;
     }
 
     struct _env

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_nullary.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_nullary.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_nullary.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -14,6 +14,7 @@
 #include <boost/phoenix/core/is_actor.hpp>
 #include <boost/phoenix/core/meta_grammar.hpp>
 #include <boost/phoenix/core/terminal_fwd.hpp>
+#include <boost/phoenix/support/vector.hpp>
 #include <boost/proto/transform/fold.hpp>
 #include <boost/proto/transform/lazy.hpp>
 
@@ -34,7 +35,7 @@
               , mpl::true_()
               , mpl::and_<
                     proto::_state
- , evaluator(proto::_, _context, int())
+ , evaluator(proto::_, _context)
>()
>
         {};
@@ -42,40 +43,83 @@
     
     template <typename Dummy>
     struct is_nullary::when<rule::argument, Dummy>
- : proto::make<mpl::false_()>
- {};
+ {
+ BOOST_PROTO_TRANSFORM(is_nullary::when<rule::argument>)
+ template <typename Expr, typename State, typename Data>
+ struct impl
+ {
+ typedef mpl::false_ result_type;
+ };
+ };
     
     template <typename Dummy>
     struct is_nullary::when<rule::custom_terminal, Dummy>
- : proto::lazy<
- result_of::is_nullary<custom_terminal<proto::_value> >(
- proto::_
- , _context
- )
+ {
+ BOOST_PROTO_TRANSFORM(is_nullary::when<rule::custom_terminal>)
+
+ template <typename Expr, typename State, typename Data>
+ struct defer_result
+ : mpl::identity<
+ typename result_of::is_nullary<
+ custom_terminal<
+ typename proto::detail::uncvref<
+ typename proto::result_of::value<Expr>::type
+ >::type
+ >
+ >::template impl<
+ typename proto::result_of::value<Expr>::type
+ , State
+ , Data
+ >::result_type
>
- {};
+ {};
+
+ template <typename Expr, typename State, typename Data>
+ struct impl
+ {
+ typedef
+ typename proto::detail::uncvref<
+ typename proto::result_of::value<Expr>::type
+ >::type value_type;
+
+ typedef typename result_of::is_nullary<custom_terminal<value_type> > is_nullary_trait;
+
+
+
+ typedef
+ typename mpl::eval_if<
+ proto::is_transform<is_nullary_trait>
+ , defer_result<Expr, State, Data>
+ , is_nullary_trait
+ >::type
+ result_type;
+ };
+ };
     
     template <typename Dummy>
     struct is_nullary::when<rule::terminal, Dummy>
- : proto::make<mpl::true_()>
- {};
+ {
+ BOOST_PROTO_TRANSFORM(is_nullary::when<rule::terminal>)
+ template <typename Expr, typename State, typename Data>
+ struct impl
+ {
+ typedef mpl::true_ result_type;
+ };
+ };
 
     namespace result_of
     {
         template <typename Expr, typename Enable>
         struct is_nullary
- {
- typedef
- typename boost::phoenix::evaluator::impl<
- Expr const &
- , fusion::vector2<
- mpl::true_
- , boost::phoenix::is_nullary
- >
- , int
- >::result_type
- type;
- };
+ : boost::phoenix::evaluator::impl<
+ Expr const &
+ , vector2<
+ mpl::true_
+ , boost::phoenix::is_nullary
+ >
+ , int
+ >::result_type
+ {};
         
         template <typename T>
         struct is_nullary<T & >
@@ -93,13 +137,23 @@
         {};
         
         template <typename T>
- struct is_nullary<custom_terminal<T>, typename disable_if<is_actor<T> >::type>
- : proto::make<mpl::true_()>
+ struct is_nullary<custom_terminal<T> >
+ : mpl::true_
+ {};
+
+ template <typename T>
+ struct is_nullary<custom_terminal<actor<T> const &> >
+ : evaluator
+ {};
+
+ template <typename T>
+ struct is_nullary<custom_terminal<actor<T> &> >
+ : evaluator
         {};
         
         template <typename T>
- struct is_nullary<custom_terminal<T>, typename enable_if<is_actor<T> >::type>
- : proto::call<evaluator(proto::_value, _context, int())>
+ struct is_nullary<custom_terminal<actor<T> > >
+ : evaluator
         {};
     }
 

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/limits.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/limits.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/limits.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -13,8 +13,6 @@
 #include <boost/preprocessor/stringize.hpp>
 #include <boost/phoenix/support/preprocessor/round.hpp>
 
-
-
 #if !defined(PHOENIX_LIMIT)
 # define PHOENIX_LIMIT 10
 #elif (PHOENIX_LIMIT < 5)
@@ -93,12 +91,6 @@
 # define PHOENIX_DONT_USE_PREPROCESSED_FILES
 #endif
 
-#if !defined(FUSION_MAX_VECTOR_SIZE)
-# define FUSION_MAX_VECTOR_SIZE BOOST_PP_INC(BOOST_PHOENIX_PP_ROUND_UP(PHOENIX_LIMIT))
-#elif (FUSION_MAX_VECTOR_SIZE < BOOST_PP_INC(BOOST_PHOENIX_PP_ROUND_UP(PHOENIX_LIMIT)))
-# error "FUSION_MAX_VECTOR_SIZE < BOOST_PP_INC(BOOST_PHOENIX_PP_ROUND_UP(PHOENIX_LIMIT))"
-#endif
-
 #if !defined(BOOST_PROTO_MAX_ARITY)
 # define BOOST_PROTO_MAX_ARITY BOOST_PP_INC(PHOENIX_COMPOSITE_LIMIT)
 # if defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
@@ -120,23 +112,4 @@
 // this include will set the limit for the proto expression arity
 #include <boost/proto/proto_fwd.hpp>
 
-// this include will bring in mpl::vectorN and
-// fusion::vectorN where N is BOOST_PHOENIX_PP_ROUND_UP(PHOENIX_LIMIT)
-#include <boost/fusion/container/vector/vector10.hpp>
-#if FUSION_MAX_VECTOR_SIZE > 10
-#include <boost/fusion/container/vector/vector20.hpp>
-#endif
-#if FUSION_MAX_VECTOR_SIZE > 20
-#include <boost/fusion/container/vector/vector30.hpp>
-#endif
-#if FUSION_MAX_VECTOR_SIZE > 30
-#include <boost/fusion/container/vector/vector40.hpp>
-#endif
-#if FUSION_MAX_VECTOR_SIZE > 40
-#include <boost/fusion/container/vector/vector50.hpp>
-#endif
-#if FUSION_MAX_VECTOR_SIZE > 50
-#error "FUSION_MAX_VECTOR_SIZE too high!"
-#endif
-
 #endif

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/terminal.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/terminal.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/terminal.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -51,7 +51,7 @@
 
     template <typename Dummy>
     struct default_actions::when<rule::custom_terminal, Dummy>
- : proto::lazy<custom_terminal<proto::_value>(proto::_value, _context)>
+ : proto::lazy<custom_terminal<proto::_value>(proto::_value, functional::context(_env, _actions))>
     {};
 
     namespace detail

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/dynamic.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/dynamic.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/dynamic.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -1,4 +1,5 @@
 
+/*
 #if !defined(PHOENIX_DONT_USE_PREPROCESSED_FILES)
 #ifndef PHOENIX_SCOPE_DETAIL_DYNAMIC_HPP
 #define PHOENIX_SCOPE_DETAIL_DYNAMIC_HPP
@@ -8,7 +9,7 @@
 #include <boost/phoenix/scope/detail/preprocessed/dynamic.hpp>
 
 #endif
-#else
+#else*/
 
 #if !PHOENIX_IS_ITERATING
 
@@ -61,7 +62,7 @@
     struct dynamic<PHOENIX_A> : noncopyable
     {
         typedef
- BOOST_PP_CAT(fusion::vector, PHOENIX_ITERATION)<PHOENIX_A>
+ BOOST_PP_CAT(vector, PHOENIX_ITERATION)<PHOENIX_A>
             tuple_type;
         typedef
             dynamic<PHOENIX_A>
@@ -91,4 +92,4 @@
 
 #endif
 
-#endif // PHOENIX_DONT_USE_PREPROCESSED_FILES
+//#endif // PHOENIX_DONT_USE_PREPROCESSED_FILES

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_gen.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_gen.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_gen.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -70,14 +70,14 @@
 
         template <PHOENIX_typename_A>
         PHOENIX_LOCAL_GEN_NAME<
- BOOST_PP_CAT(fusion::vector, PHOENIX_ITERATION)<PHOENIX_LOCAL_GEN_ACTOR_TYPES>
+ BOOST_PP_CAT(vector, PHOENIX_ITERATION)<PHOENIX_LOCAL_GEN_ACTOR_TYPES>
           , detail::map_local_index_to_tuple<BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_LOCAL_GEN_KEY_TYPES, _)>
> const
         operator()(PHOENIX_A_const_ref_a) const
         {
             return
                 BOOST_PP_CAT(
- fusion::vector, PHOENIX_ITERATION)<BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_LOCAL_GEN_ACTOR_TYPES_I, _)>(BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_LOCAL_GEN_ACTOR, _));
+ vector, PHOENIX_ITERATION)<BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_LOCAL_GEN_ACTOR_TYPES_I, _)>(BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_LOCAL_GEN_ACTOR, _));
         }
 
 #endif

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/lambda.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/lambda.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/lambda.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -117,9 +117,7 @@
                   , proto::value(locals)
                 );
 
- typename result_of::context<scoped_env_type &, actions_type>::type
- new_ctx(scoped_env, actions(ctx));
- return eval(lambda, new_ctx);
+ return eval(lambda, context(scoped_env, actions(ctx)));
         }
     };
 

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/let.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/let.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/let.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -17,6 +17,7 @@
 #include <boost/phoenix/scope/scoped_environment.hpp>
 #include <boost/phoenix/scope/local_variable.hpp>
 #include <boost/phoenix/support/iterate.hpp>
+#include <boost/phoenix/support/vector.hpp>
 
 PHOENIX_DEFINE_EXPRESSION(
     (boost)(phoenix)(let)
@@ -102,12 +103,7 @@
                   , l
                 );
 
- typename result_of::context<
- scoped_env_type &
- , actions_type
- >::type new_ctx(scoped_env, actions(ctx));
-
- return eval(let, new_ctx);
+ return eval(let, context(scoped_env, actions(ctx)));
         }
     };
 
@@ -171,7 +167,7 @@
                 detail::local_var_def_is_nullary<proto::_value(proto::_child_c<0>), _context>()
               , evaluator(
                     proto::_child_c<1>
- , fusion::vector2<
+ , vector2<
                         mpl::true_
                       , detail::scope_is_nullary_actions
>()

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -16,6 +16,7 @@
 #include <boost/fusion/sequence/intrinsic/size.hpp>
 #include <boost/fusion/sequence/intrinsic/value_at.hpp>
 #include <boost/fusion/sequence/intrinsic/at.hpp>
+#include <boost/fusion/support/category_of.hpp>
 #include <boost/utility/result_of.hpp>
 
 namespace boost { namespace phoenix
@@ -87,14 +88,14 @@
         struct value_at
         {
             typedef
- typename fusion::result_of::value_at<typename Seq::env_type, N>::type
+ typename fusion::result_of::value_at<typename proto::detail::uncvref<typename Seq::env_type>::type, N>::type
                 type;
         };
         
         template <typename Seq, typename N>
         struct at
         {
- typedef typename fusion::result_of::at<typename Seq::env_type, N>::type type;
+ typedef typename fusion::result_of::at<typename proto::detail::uncvref<typename Seq::env_type>::type, N>::type type;
 
             static type call(Seq & seq)
             {

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/statement/switch.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/statement/switch.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/statement/switch.hpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -16,8 +16,6 @@
 #include <boost/phoenix/support/iterate.hpp>
 #include <boost/proto/make_expr.hpp>
 
-#include <boost/fusion/include/as_vector.hpp>
-
 PHOENIX_DEFINE_EXPRESSION(
     (boost)(phoenix)(switch_case)
   , (proto::terminal<proto::_>)
@@ -112,11 +110,9 @@
 
     template <typename Dummy>
     struct is_nullary::when<rule::switch_, Dummy>
- : proto::make<
- mpl::and_<
- evaluator(proto::_child_c<0>, _context)
- , detail::switch_case_is_nullary(proto::_child_c<1>, _context)
- >()
+ : proto::and_<
+ evaluator(proto::_child_c<0>, _context)
+ , detail::switch_case_is_nullary(proto::_child_c<1>, _context)
>
     {};
 

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/test/core/primitives_tests.cpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/test/core/primitives_tests.cpp (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/test/core/primitives_tests.cpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -7,7 +7,9 @@
 #include <iostream>
 #include <string>
 
-#include <boost/phoenix/core.hpp>
+#include <boost/phoenix/core/argument.hpp>
+#include <boost/phoenix/core/reference.hpp>
+#include <boost/phoenix/core/value.hpp>
 #include <boost/detail/lightweight_test.hpp>
 
 using boost::phoenix::cref;
@@ -24,6 +26,8 @@
     int i1 = 1, i2 = 2, i = 4;
     const char* s2 = "2";
 
+
+
     ///////////////////////////////////////////////////////////////////////////
     //
     // Values, references and arguments

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/test/scope/dynamic_tests.cpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/test/scope/dynamic_tests.cpp (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/test/scope/dynamic_tests.cpp 2011-02-09 15:55:05 EST (Wed, 09 Feb 2011)
@@ -53,7 +53,7 @@
             (clos.real = clos.num * 1e30)();
 
             { // Third stack frame
- boost::fusion::vector3<int, char const*, double> init(-1, "Direct Init ", 3.14);
+ boost::phoenix::vector3<int, std::string, double> init = {-1, "Direct Init ", 3.14};
                 dynamic_frame<my_dynamic::self_type> frame(clos, init);
 
                 (std::cout << clos.message << clos.num << ", " << clos.real << '\n')();


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