Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r58412 - trunk/boost/proto
From: eric_at_[hidden]
Date: 2009-12-16 05:30:41


Author: eric_niebler
Date: 2009-12-16 05:30:40 EST (Wed, 16 Dec 2009)
New Revision: 58412
URL: http://svn.boost.org/trac/boost/changeset/58412

Log:
fix BOOST_PROTO_EXTENDS to work with elaborated types
Text files modified:
   trunk/boost/proto/extends.hpp | 5 +++--
   1 files changed, 3 insertions(+), 2 deletions(-)

Modified: trunk/boost/proto/extends.hpp
==============================================================================
--- trunk/boost/proto/extends.hpp (original)
+++ trunk/boost/proto/extends.hpp 2009-12-16 05:30:40 EST (Wed, 16 Dec 2009)
@@ -147,7 +147,8 @@
     #define BOOST_PROTO_BASIC_EXTENDS_(Expr, Derived, Domain) \
         Expr proto_expr_; \
                                                                                                     \
- typedef typename Expr::proto_base_expr proto_base_expr; \
+ typedef Expr proto_base_expr_; /**< INTERNAL ONLY */ \
+ typedef typename proto_base_expr_::proto_base_expr proto_base_expr; \
         typedef Domain proto_domain; \
         typedef Derived proto_derived_expr; \
         typedef typename proto_base_expr::proto_tag proto_tag; \
@@ -156,7 +157,7 @@
         typedef typename proto_base_expr::address_of_hack_type_ proto_address_of_hack_type_; \
         typedef void proto_is_expr_; /**< INTERNAL ONLY */ \
         BOOST_STATIC_CONSTANT(long, proto_arity_c = proto_base_expr::proto_arity_c); \
- typedef boost::proto::tag::proto_expr fusion_tag; \
+ typedef boost::proto::tag::proto_expr fusion_tag; \
         BOOST_PP_REPEAT(BOOST_PROTO_MAX_ARITY, BOOST_PROTO_EXTENDS_CHILD, ~) \
                                                                                                     \
         static proto_derived_expr const make(Expr const &e) \


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