Update of /cvsroot/boost/boost/libs/xpressive/proto/test
In directory
sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv9563/libs/xpressive/proto/test
Modified Files:
lambda.cpp proto_fusion_s.cpp
Log Message:
kill proto::generate<>
Index: lambda.cpp
===================================================================
RCS file: /cvsroot/boost/boost/libs/xpressive/proto/test/lambda.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- lambda.cpp 29 Apr 2007 03:38:49 -0000 1.12
+++ lambda.cpp 26 May 2007 00:53:57 -0000 1.13
@@ -33,8 +33,19 @@
using namespace boost;
-struct lambda_domain : proto::domain<> {};
-template<typename I> struct placeholder { typedef I arity; };
+// Forward declaration of the lambda expression wrapper
+template<typename T>
+struct lambda;
+
+struct lambda_domain
+ : proto::domain<proto::pod_generator<lambda> >
+{};
+
+template<typename I>
+struct placeholder
+{
+ typedef I arity;
+};
// Some custom transforms for calculating the max arity of a lambda expression
template<typename Grammar>
@@ -154,22 +165,6 @@
}
};
-namespace boost { namespace proto
-{
- // This causes expressions in the lambda domain to
- // be wrapped in a lambda<> expression wrapper.
- template<typename Expr>
- struct generate<lambda_domain, Expr>
- {
- typedef lambda<Expr> type;
-
- static type make(Expr const &expr)
- {
- return type::make(expr);
- }
- };
-}}
-
// Define some lambda placeholders
lambda<proto::terminal<placeholder<mpl::int_<0> > >::type> const _1 = {{}};
lambda<proto::terminal<placeholder<mpl::int_<1> > >::type> const _2 = {{}};
Index: proto_fusion_s.cpp
===================================================================
RCS file: /cvsroot/boost/boost/libs/xpressive/proto/test/proto_fusion_s.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- proto_fusion_s.cpp 21 May 2007 03:21:34 -0000 1.5
+++ proto_fusion_s.cpp 26 May 2007 00:53:57 -0000 1.6
@@ -116,9 +116,7 @@
////////////////////////////////////////////////////////////////////////
// Test that EXTENDS expression wrappers are also valid fusion sequences
-struct MyDomain
- : boost::proto::domain<>
-{};
+struct MyDomain;
template<typename Expr>
struct My
@@ -129,18 +127,9 @@
BOOST_PROTO_EXTENDS_FUNCTION(Expr, My<Expr>, MyDomain)
};
-namespace boost { namespace proto
-{
- template<typename Expr>
- struct generate< MyDomain, Expr >
- {
- typedef My<Expr> type;
- static type make(Expr const &expr)
- {
- return type::make(expr);
- }
- };
-}}
+struct MyDomain
+ : boost::proto::domain<boost::proto::pod_generator<My> >
+{};
void test2()
{
-------------------------------------------------------------------------
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