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