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

Modified Files:
        make_expr.hpp traits.hpp 
Log Message:
a couple of CW patches

Index: make_expr.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/make_expr.hpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- make_expr.hpp       28 Jun 2007 02:29:19 -0000      1.25
+++ make_expr.hpp       2 Jul 2007 06:21:28 -0000       1.26
@@ -18,6 +18,7 @@
     #include <boost/preprocessor/control/expr_if.hpp>
     #include <boost/preprocessor/arithmetic/inc.hpp>
     #include <boost/preprocessor/arithmetic/dec.hpp>
+    #include <boost/preprocessor/arithmetic/sub.hpp>
     #include <boost/preprocessor/punctuation/comma_if.hpp>
     #include <boost/preprocessor/iterate.hpp>
     #include <boost/preprocessor/facilities/intercept.hpp>
@@ -408,7 +409,8 @@
             {};
 
             template<typename Domain, typename A>
-            struct make_expr_<tag::terminal, Domain, A>
+            struct make_expr_<tag::terminal, Domain, A
+                BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PROTO_MAX_ARITY, void 
BOOST_PP_INTERCEPT)>
             {
                 typedef typename add_reference<A>::type reference;
                 typedef expr<tag::terminal, args0<reference> > expr_type;
@@ -658,9 +660,11 @@
 #elif BOOST_PP_ITERATION_FLAGS() == 1
 
     #define N BOOST_PP_ITERATION()
+    #define M BOOST_PP_SUB(BOOST_PROTO_MAX_ARITY, N)
 
         template<typename Tag, typename Domain 
BOOST_PP_ENUM_TRAILING_PARAMS(N, typename A)>
-        struct make_expr_<Tag, Domain BOOST_PP_ENUM_TRAILING_PARAMS(N, A) >
+        struct make_expr_<Tag, Domain BOOST_PP_ENUM_TRAILING_PARAMS(N, A)
+            BOOST_PP_ENUM_TRAILING_PARAMS(M, void BOOST_PP_INTERCEPT), void>
         {
             typedef expr<
                 Tag
@@ -716,6 +720,7 @@
         {};
 
     #undef N
+    #undef M
 
 #elif BOOST_PP_ITERATION_FLAGS() == 2
 

Index: traits.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/traits.hpp,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -d -r1.61 -r1.62
--- traits.hpp  25 Jun 2007 05:39:40 -0000      1.61
+++ traits.hpp  2 Jul 2007 06:21:28 -0000       1.62
@@ -709,12 +709,12 @@
             struct arg_c<Expr, N>
               : unref<typename Expr::BOOST_PP_CAT(proto_arg, N)>
             {
-                static typename arg_c::reference call(Expr &expr)
+                static typename arg_c<Expr, N>::reference call(Expr &expr)
                 {
                     return proto::unref(expr.proto_base().BOOST_PP_CAT(arg, 
N));
                 }
 
-                static typename arg_c::const_reference call(Expr const &expr)
+                static typename arg_c<Expr, N>::const_reference call(Expr 
const &expr)
                 {
                     return proto::unref(expr.proto_base().BOOST_PP_CAT(arg, 
N));
                 }


-------------------------------------------------------------------------
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