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

Modified Files:
        regex_actions.hpp regex_primitives.hpp 
Log Message:
use as_arg instead of as_expr to avoid needless copying, proto::make_expr is 
slightly less broken

Index: regex_actions.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/regex_actions.hpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- regex_actions.hpp   7 May 2007 04:41:25 -0000       1.21
+++ regex_actions.hpp   9 May 2007 06:55:32 -0000       1.22
@@ -520,13 +520,13 @@
     template<typename T, typename D>
     typename proto::function<
         typename proto::terminal<op::as<T> >::type
-      , typename proto::result_of::as_expr<D const>::type
+      , typename proto::result_of::as_arg<D const>::type
     >::type as(D const &d)
     {
         typename proto::function<
             typename proto::terminal<op::as<T> >::type
-          , typename proto::result_of::as_expr<D const>::type
-        >::type that = {{{}}, proto::as_expr(d)};
+          , typename proto::result_of::as_arg<D const>::type
+        >::type that = {{{}}, proto::as_arg(d)};
         return that;
     }
 
@@ -586,13 +586,13 @@
     template<typename T, typename A0>
     typename proto::function<
         typename proto::terminal<op::construct<T> >::type
-      , typename proto::result_of::as_expr<A0>::type
+      , typename proto::result_of::as_arg<A0>::type
     >::type construct(A0 &a0)
     {
         typename proto::function<
             typename proto::terminal<op::construct<T> >::type
-          , typename proto::result_of::as_expr<A0>::type
-        >::type that = {{{}}, proto::as_expr(a0)};
+          , typename proto::result_of::as_arg<A0>::type
+        >::type that = {{{}}, proto::as_arg(a0)};
         return that;
     }
 
@@ -601,15 +601,15 @@
     template<typename T, typename A0, typename A1>
     typename proto::function<
         typename proto::terminal<op::construct<T> >::type
-      , typename proto::result_of::as_expr<A0>::type
-      , typename proto::result_of::as_expr<A1>::type
+      , typename proto::result_of::as_arg<A0>::type
+      , typename proto::result_of::as_arg<A1>::type
     >::type construct(A0 &a0, A1 &a1)
     {
         typename proto::function<
             typename proto::terminal<op::construct<T> >::type
-          , typename proto::result_of::as_expr<A0>::type
-          , typename proto::result_of::as_expr<A1>::type
-        >::type that = {{{}}, proto::as_expr(a0), proto::as_expr(a1)};
+          , typename proto::result_of::as_arg<A0>::type
+          , typename proto::result_of::as_arg<A1>::type
+        >::type that = {{{}}, proto::as_arg(a0), proto::as_arg(a1)};
         return that;
     }
 
@@ -618,17 +618,17 @@
     template<typename T, typename A0, typename A1, typename A2>
     typename proto::function<
         typename proto::terminal<op::construct<T> >::type
-      , typename proto::result_of::as_expr<A0>::type
-      , typename proto::result_of::as_expr<A1>::type
-      , typename proto::result_of::as_expr<A2>::type
+      , typename proto::result_of::as_arg<A0>::type
+      , typename proto::result_of::as_arg<A1>::type
+      , typename proto::result_of::as_arg<A2>::type
     >::type construct(A0 &a0, A1 &a1, A2 &a2)
     {
         typename proto::function<
             typename proto::terminal<op::construct<T> >::type
-          , typename proto::result_of::as_expr<A0>::type
-          , typename proto::result_of::as_expr<A1>::type
-          , typename proto::result_of::as_expr<A2>::type
-        >::type that = {{{}}, proto::as_expr(a0), proto::as_expr(a1), 
proto::as_expr(a2)};
+          , typename proto::result_of::as_arg<A0>::type
+          , typename proto::result_of::as_arg<A1>::type
+          , typename proto::result_of::as_arg<A2>::type
+        >::type that = {{{}}, proto::as_arg(a0), proto::as_arg(a1), 
proto::as_arg(a2)};
         return that;
     }
 

Index: regex_primitives.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/regex_primitives.hpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- regex_primitives.hpp        30 Apr 2007 00:28:21 -0000      1.30
+++ regex_primitives.hpp        9 May 2007 06:55:32 -0000       1.31
@@ -419,7 +419,7 @@
 inline typename proto::binary_expr<
     modifier_tag
   , detail::icase_modifier
-  , typename proto::result_of::as_expr<Expr>::type
+  , typename proto::result_of::as_arg<Expr const>::type
 >::type const
 icase(Expr const &expr)
 {
@@ -427,8 +427,8 @@
     typename proto::binary_expr<
         modifier_tag
       , detail::icase_modifier
-      , typename proto::result_of::as_expr<Expr>::type
-    >::type that = {mod, proto::as_expr(expr)};
+      , typename proto::result_of::as_arg<Expr const>::type
+    >::type that = {mod, proto::as_arg(expr)};
     return that;
 }
 #else
@@ -469,13 +469,13 @@
 /// \param expr The sub-expression to make optional.
 template<typename Expr>
 inline typename proto::logical_not<
-    typename proto::result_of::as_expr<Expr>::type
+    typename proto::result_of::as_arg<Expr const>::type
 >::type const
 optional(Expr const &expr)
 {
     typename proto::logical_not<
-        typename proto::result_of::as_expr<Expr>::type
-    >::type that = {proto::as_expr(expr)};
+        typename proto::result_of::as_arg<Expr const>::type
+    >::type that = {proto::as_arg(expr)};
     return that;
 }
 
@@ -494,33 +494,33 @@
 inline typename proto::unary_expr
 <
     detail::generic_quant_tag<Min, Max>
-  , typename proto::result_of::as_expr<Expr>::type
+  , typename proto::result_of::as_arg<Expr const>::type
 >::type const
 repeat(Expr const &expr)
 {
     typename proto::unary_expr
     <
         detail::generic_quant_tag<Min, Max>
-      , typename proto::result_of::as_expr<Expr>::type
-    >::type that = {proto::as_expr(expr)};
+      , typename proto::result_of::as_arg<Expr const>::type
+    >::type that = {proto::as_arg(expr)};
     return that;
 }
 
 /// \overload
 ///
-template<unsigned int Count, typename Xpr2>
+template<unsigned int Count, typename Expr2>
 inline typename proto::unary_expr
 <
     detail::generic_quant_tag<Count, Count>
-  , typename proto::result_of::as_expr<Xpr2>::type
+  , typename proto::result_of::as_arg<Expr2 const>::type
 >::type const
-repeat(Xpr2 const &expr)
+repeat(Expr2 const &expr2)
 {
     typename proto::unary_expr
     <
         detail::generic_quant_tag<Count, Count>
-      , typename proto::result_of::as_expr<Xpr2>::type
-    >::type that = {proto::as_expr(expr)};
+      , typename proto::result_of::as_arg<Expr2 const>::type
+    >::type that = {proto::as_arg(expr2)};
     return that;
 }
 
@@ -538,15 +538,15 @@
 inline typename proto::unary_expr
 <
     detail::keeper_tag
-  , typename proto::result_of::as_expr<Expr>::type
+  , typename proto::result_of::as_arg<Expr const>::type
 >::type const
 keep(Expr const &expr)
 {
     typename proto::unary_expr
     <
         detail::keeper_tag
-      , typename proto::result_of::as_expr<Expr>::type
-    >::type that = {proto::as_expr(expr)};
+      , typename proto::result_of::as_arg<Expr const>::type
+    >::type that = {proto::as_arg(expr)};
     return that;
 }
 
@@ -567,15 +567,15 @@
 inline typename proto::unary_expr
 <
     detail::lookahead_tag
-  , typename proto::result_of::as_expr<Expr>::type
+  , typename proto::result_of::as_arg<Expr const>::type
 >::type const
 before(Expr const &expr)
 {
     typename proto::unary_expr
     <
         detail::lookahead_tag
-      , typename proto::result_of::as_expr<Expr>::type
-    >::type that = {proto::as_expr(expr)};
+      , typename proto::result_of::as_arg<Expr const>::type
+    >::type that = {proto::as_arg(expr)};
     return that;
 }
 
@@ -598,15 +598,15 @@
 inline typename proto::unary_expr
 <
     detail::lookbehind_tag
-  , typename proto::result_of::as_expr<Expr>::type
+  , typename proto::result_of::as_arg<Expr const>::type
 >::type const
 after(Expr const &expr)
 {
     typename proto::unary_expr
     <
         detail::lookbehind_tag
-      , typename proto::result_of::as_expr<Expr>::type
-    >::type that = {proto::as_expr(expr)};
+      , typename proto::result_of::as_arg<Expr const>::type
+    >::type that = {proto::as_arg(expr)};
     return that;
 }
 


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to