Boost logo

Boost-Commit :

From: eric_at_[hidden]
Date: 2007-12-30 01:09:32


Author: eric_niebler
Date: 2007-12-30 01:09:32 EST (Sun, 30 Dec 2007)
New Revision: 42364
URL: http://svn.boost.org/trac/boost/changeset/42364

Log:
port debug.hpp to c++03, all proto examples compile without variadics and rvalue refs
Text files modified:
   branches/proto/v3/boost/xpressive/proto/debug.hpp | 6 +++---
   branches/proto/v3/boost/xpressive/proto/proto.hpp | 3 ++-
   branches/proto/v3/libs/xpressive/proto/example/mixed.cpp | 6 +++---
   3 files changed, 8 insertions(+), 7 deletions(-)

Modified: branches/proto/v3/boost/xpressive/proto/debug.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/proto/debug.hpp (original)
+++ branches/proto/v3/boost/xpressive/proto/debug.hpp 2007-12-30 01:09:32 EST (Sun, 30 Dec 2007)
@@ -125,15 +125,15 @@
             {}
 
             template<typename Args>
- void operator()(expr<tag::terminal, Args> const &expr) const
+ void operator()(expr<tag::terminal, Args, 0> const &expr) const
             {
                 this->sout_ << std::setw(this->depth_) << (this->first_? "" : ", ")
                     << "terminal(" << proto::arg(expr) << ")\n";
                 this->first_ = false;
             }
 
- template<typename Tag, typename... Args>
- void operator()(expr<Tag, args<Args...> > const &expr) const
+ template<typename Tag, typename Args, long N>
+ void operator()(expr<Tag, Args, N> const &expr) const
             {
                 using namespace tag;
                 this->sout_ << std::setw(this->depth_) << (this->first_? "" : ", ")

Modified: branches/proto/v3/boost/xpressive/proto/proto.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/proto/proto.hpp (original)
+++ branches/proto/v3/boost/xpressive/proto/proto.hpp 2007-12-30 01:09:32 EST (Sun, 30 Dec 2007)
@@ -14,7 +14,7 @@
 #include <boost/xpressive/proto/tags.hpp>
 #include <boost/xpressive/proto/eval.hpp>
 #include <boost/xpressive/proto/expr.hpp>
-//#include <boost/xpressive/proto/debug.hpp>
+#include <boost/xpressive/proto/debug.hpp>
 #include <boost/xpressive/proto/traits.hpp>
 #include <boost/xpressive/proto/domain.hpp>
 #include <boost/xpressive/proto/matches.hpp>
@@ -23,6 +23,7 @@
 #include <boost/xpressive/proto/generate.hpp>
 #include <boost/xpressive/proto/operators.hpp>
 #include <boost/xpressive/proto/deep_copy.hpp>
+#include <boost/xpressive/proto/context.hpp>
 #include <boost/xpressive/proto/transform.hpp>
 #include <boost/xpressive/proto/fusion.hpp>
 #include <boost/xpressive/proto/make_expr.hpp>

Modified: branches/proto/v3/libs/xpressive/proto/example/mixed.cpp
==============================================================================
--- branches/proto/v3/libs/xpressive/proto/example/mixed.cpp (original)
+++ branches/proto/v3/libs/xpressive/proto/example/mixed.cpp 2007-12-30 01:09:32 EST (Sun, 30 Dec 2007)
@@ -252,14 +252,14 @@
         proto::tag::function
       , MixedDomain
       , sin_ const
- , A
- >::type sin(A &&a)
+ , A const &
+ >::type sin(A const &a)
     {
         return proto::result_of::make_expr_ref<
             proto::tag::function
           , MixedDomain
           , sin_ const
- , A
+ , A const &
>::call(sin_(), a);
     }
 


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