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

Modified Files:
        generate.hpp 
Log Message:
remove is_allowed<>, short-circuit generate_if<> for default_domain -- big 
compile time win

Index: generate.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/generate.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- generate.hpp        5 Apr 2007 20:49:11 -0000       1.2
+++ generate.hpp        19 Apr 2007 03:16:25 -0000      1.3
@@ -31,11 +31,6 @@
         }
     };
 
-    template<typename Domain, typename Expr, typename EnableIf>
-    struct is_allowed
-      : matches<Expr, typename Domain::grammar>
-    {};
-
     namespace detail
     {
         struct empty
@@ -44,12 +39,17 @@
         template<typename Domain, typename Expr>
         struct generate_if
           : mpl::if_<
-                is_allowed<Domain, Expr>
+                matches<Expr, typename Domain::grammar>
               , generate<Domain, Expr>
               , detail::empty
             >::type
         {};
 
+        // Optimization, generate fewer templates...
+        template<typename Expr>
+        struct generate_if<proto::default_domain, Expr>
+          : generate<proto::default_domain, Expr>
+        {};
     }
 
 }}


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