Update of /cvsroot/boost/boost/boost/xpressive/detail/static/productions
In directory 
sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12864/detail/static/productions

Modified Files:
        productions.hpp 
Log Message:
add xpressive::if_() for user-defined predicates

Index: productions.hpp
===================================================================
RCS file: 
/cvsroot/boost/boost/boost/xpressive/detail/static/productions/productions.hpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- productions.hpp     22 Mar 2007 17:37:16 -0000      1.14
+++ productions.hpp     23 Mar 2007 00:09:05 -0000      1.15
@@ -56,10 +56,16 @@
                 template apply<expr_type, State, Visitor>::type
             marked_expr_type;
 
+            typedef typename mpl::if_<
+                proto::matches<action_type, 
proto::terminal<predicate_placeholder<proto::_> > >
+              , predicate_matcher<action_type>
+              , action_matcher<action_type>
+            >::type matcher_type;
+
             typedef typename proto::right_shift
             <
                 marked_expr_type
-              , typename proto::terminal<action_matcher<action_type> >::type
+              , typename proto::terminal<matcher_type>::type
             >::type type;
         };
 
@@ -68,7 +74,7 @@
         call(Expr const &expr, State const &state, Visitor &visitor)
         {
             typedef apply<Expr, State, Visitor> apply_type;
-            typedef typename apply_type::action_type action_type;
+            typedef typename apply_type::matcher_type matcher_type;
 
             typename apply_type::marked_expr_type marked_expr =
                 marker_transform::call(proto::left(expr), state, visitor);
@@ -77,7 +83,7 @@
             {
                 marked_expr
               , {
-                    action_matcher<action_type>
+                    matcher_type
                     (
                         proto::right(expr)
                       , proto::arg(proto::left(marked_expr)).mark_number_


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

Reply via email to