Update of /cvsroot/boost/boost/boost/xpressive/proto/compiler
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv2563/proto/compiler

Modified Files:
        transform.hpp 
Log Message:
arg, left, and right_transform do the obvious things; misc clean-up using 
proto::matches to implement is_marker and is_repeater predicates

Index: transform.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/compiler/transform.hpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- transform.hpp       30 Oct 2006 06:39:38 -0000      1.10
+++ transform.hpp       13 Dec 2006 02:29:55 -0000      1.11
@@ -78,8 +78,6 @@
         static typename apply<Expr, State, Visitor>::type
         call(Expr const &expr, State const &state, Visitor &visitor)
         {
-            //typename apply<Expr, State, Visitor>::trans_type trans = 
Lambda::call(expr, state, visitor);
-            //return proto::compile(trans, state, visitor, DomainTag());
             return proto::compile(Lambda::call(expr, state, visitor), state, 
visitor, DomainTag());
         }
     };
@@ -109,14 +107,14 @@
         template<typename Expr, typename, typename>
         struct apply
         {
-            typedef typename Expr::arg0_type type;
+            typedef typename meta::arg<Expr>::type type;
         };
 
         template<typename Expr, typename State, typename Visitor>
-        static typename apply<Expr, State, Visitor>::type
+        static typename apply<Expr, State, Visitor>::type const &
         call(Expr const &expr, State const &, Visitor &)
         {
-            return expr.cast().arg0;
+            return proto::arg(expr);
         }
     };
 
@@ -127,14 +125,14 @@
         template<typename Expr, typename, typename>
         struct apply
         {
-            typedef typename Expr::arg0_type type;
+            typedef typename meta::left<Expr>::type type;
         };
 
         template<typename Expr, typename State, typename Visitor>
-        static typename apply<Expr, State, Visitor>::type
+        static typename apply<Expr, State, Visitor>::type const &
         call(Expr const &expr, State const &, Visitor &)
         {
-            return expr.cast().arg0;
+            return proto::left(expr);
         }
     };
 
@@ -145,14 +143,14 @@
         template<typename Expr, typename, typename>
         struct apply
         {
-            typedef typename Expr::arg1_type type;
+            typedef typename meta::right<Expr>::type type;
         };
 
         template<typename Expr, typename State, typename Visitor>
-        static typename apply<Expr, State, Visitor>::type
+        static typename apply<Expr, State, Visitor>::type const &
         call(Expr const &expr, State const &, Visitor &)
         {
-            return expr.cast().arg1;
+            return proto::right(expr);
         }
     };
 


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to