Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r64152 - in sandbox/SOC/2010/phoenix3/boost/phoenix: core scope
From: thom.heller_at_[hidden]
Date: 2010-07-19 06:16:47


Author: theller
Date: 2010-07-19 06:16:46 EDT (Mon, 19 Jul 2010)
New Revision: 64152
URL: http://svn.boost.org/trac/boost/changeset/64152

Log:
fixed compile error on gcc-4.2
Text files modified:
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/argument.hpp | 5 +++--
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/lambda.hpp | 1 +
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp | 16 ++++++++++------
   3 files changed, 14 insertions(+), 8 deletions(-)

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/argument.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/argument.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/argument.hpp 2010-07-19 06:16:46 EDT (Mon, 19 Jul 2010)
@@ -51,9 +51,10 @@
 
         template <typename Env, typename N>
         typename result_of::argument<Env, N>::type
- operator()(Env& env, N const& n) const
+ operator()(Env& env, N const&) const
         {
- return get_environment_argument()(env, eval(n));
+ typedef typename boost::result_of<eval_grammar(N)>::type argument_id;
+ return get_environment_argument_c<argument_id::value>(env);
         }
     };
     

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 2010-07-19 06:16:46 EDT (Mon, 19 Jul 2010)
@@ -13,6 +13,7 @@
 #include <boost/fusion/include/as_vector.hpp>
 #include <boost/phoenix/core/limits.hpp>
 #include <boost/phoenix/scope/scoped_environment.hpp>
+#include <boost/phoenix/core/actor.hpp>
 #include <boost/phoenix/scope/local_actor.hpp>
 #include <boost/phoenix/scope/detail/local_variable.hpp>
 #include <boost/phoenix/support/element_at.hpp>

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 2010-07-19 06:16:46 EDT (Mon, 19 Jul 2010)
@@ -45,12 +45,16 @@
     }
 
     // overload get_environment_argument_c to return the correct argument
- template <int N, typename Env>
- typename boost::enable_if<
- is_scoped_environment<Env>
- , typename result_of::get_environment_argument<Env, mpl::int_<N> >::type
- >::type
- get_environment_argument_c(Env& env)
+ template <int N, typename Env, typename OuterEnv, typename Locals, typename Map>
+ typename result_of::get_environment_argument<scoped_environment<Env, OuterEnv, Locals, Map>, mpl::int_<N> >::type
+ get_environment_argument_c(scoped_environment<Env, OuterEnv, Locals, Map>& env)
+ {
+ return fusion::at_c<N>(env.env);
+ }
+
+ template <int N, typename Env, typename OuterEnv, typename Locals, typename Map>
+ typename result_of::get_environment_argument<scoped_environment<Env, OuterEnv, Locals, Map>, mpl::int_<N> >::type
+ get_environment_argument_c(scoped_environment<Env, OuterEnv, Locals, Map> const& env)
     {
         return fusion::at_c<N>(env.env);
     }


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