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