$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r49649 - trunk/boost/xpressive/detail/static
From: eric_at_[hidden]
Date: 2008-11-08 12:03:29
Author: eric_niebler
Date: 2008-11-08 12:03:28 EST (Sat, 08 Nov 2008)
New Revision: 49649
URL: http://svn.boost.org/trac/boost/changeset/49649
Log:
accomodate latest proto tweaks
Text files modified: 
   trunk/boost/xpressive/detail/static/is_pure.hpp  |    20 ++++++++++----------                    
   trunk/boost/xpressive/detail/static/width_of.hpp |    26 +++++++++++++-------------              
   2 files changed, 23 insertions(+), 23 deletions(-)
Modified: trunk/boost/xpressive/detail/static/is_pure.hpp
==============================================================================
--- trunk/boost/xpressive/detail/static/is_pure.hpp	(original)
+++ trunk/boost/xpressive/detail/static/is_pure.hpp	2008-11-08 12:03:28 EST (Sat, 08 Nov 2008)
@@ -69,8 +69,8 @@
     template<typename Expr, typename Char>
     struct use_simple_repeat_<Expr, Char, proto::tag::shift_right>
       : mpl::and_<
-            use_simple_repeat_<typename Expr::proto_child_ref0::proto_base_expr, Char>
-          , use_simple_repeat_<typename Expr::proto_child_ref1::proto_base_expr, Char>
+            use_simple_repeat_<typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr, Char>
+          , use_simple_repeat_<typename remove_reference<typename Expr::proto_child1>::type::proto_base_expr, Char>
         >
     {};
 
@@ -78,8 +78,8 @@
     struct use_simple_repeat_<Expr, Char, proto::tag::bitwise_or>
       : mpl::and_<
             mpl::not_equal_to<unknown_width, width_of<Expr, Char> >
-          , use_simple_repeat_<typename Expr::proto_child_ref0::proto_base_expr, Char>
-          , use_simple_repeat_<typename Expr::proto_child_ref1::proto_base_expr, Char>
+          , use_simple_repeat_<typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr, Char>
+          , use_simple_repeat_<typename remove_reference<typename Expr::proto_child1>::type::proto_base_expr, Char>
         >
     {};
 
@@ -107,14 +107,14 @@
     struct use_simple_repeat_<Expr, Char, proto::tag::assign>
       : use_simple_repeat_assign<
             typename proto::result_of::value<
-                typename Expr::proto_child_ref0::proto_base_expr
+                typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr
             >::type
         >
     {};
 
     template<typename Expr, typename Char>
     struct use_simple_repeat_<Expr, Char, modifier_tag>
-      : use_simple_repeat_<typename Expr::proto_child_ref1::proto_base_expr, Char>
+      : use_simple_repeat_<typename remove_reference<typename Expr::proto_child1>::type::proto_base_expr, Char>
     {};
 
     template<typename Expr, typename Char>
@@ -135,7 +135,7 @@
     // when complementing a set or an assertion, the purity is that of the set (true) or the assertion
     template<typename Expr, typename Char>
     struct use_simple_repeat_<Expr, Char, proto::tag::complement>
-      : use_simple_repeat_<typename Expr::proto_child_ref0::proto_base_expr, Char>
+      : use_simple_repeat_<typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr, Char>
     {};
 
     // The comma is used in list-initialized sets, which are pure
@@ -158,7 +158,7 @@
 
     template<typename Expr, typename Char>
     struct use_simple_repeat_<Expr, Char, proto::tag::subscript>
-      : use_simple_repeat_subscript<Expr, Char, typename Expr::proto_child_ref0::proto_base_expr>
+      : use_simple_repeat_subscript<Expr, Char, typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr>
     {};
 
     // Quantified expressions are variable-width and cannot use the simple quantifier
@@ -184,12 +184,12 @@
 
     template<typename Expr, typename Char, uint_t Count>
     struct use_simple_repeat_<Expr, Char, generic_quant_tag<Count, Count> >
-      : use_simple_repeat_<typename Expr::proto_child_ref0::proto_base_expr, Char>
+      : use_simple_repeat_<typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr, Char>
     {};
 
     template<typename Expr, typename Char>
     struct use_simple_repeat_<Expr, Char, proto::tag::negate>
-      : use_simple_repeat_<typename Expr::proto_child_ref0::proto_base_expr, Char>
+      : use_simple_repeat_<typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr, Char>
     {};
 
     ///////////////////////////////////////////////////////////////////////////////
Modified: trunk/boost/xpressive/detail/static/width_of.hpp
==============================================================================
--- trunk/boost/xpressive/detail/static/width_of.hpp	(original)
+++ trunk/boost/xpressive/detail/static/width_of.hpp	2008-11-08 12:03:28 EST (Sat, 08 Nov 2008)
@@ -137,16 +137,16 @@
     template<typename Expr, typename Char>
     struct width_of<Expr, Char, proto::tag::shift_right>
       : add_widths<
-            width_of<typename Expr::proto_child_ref0::proto_base_expr, Char>::value
-          , width_of<typename Expr::proto_child_ref1::proto_base_expr, Char>::value
+            width_of<typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr, Char>::value
+          , width_of<typename remove_reference<typename Expr::proto_child1>::type::proto_base_expr, Char>::value
         >
     {};
 
     template<typename Expr, typename Char>
     struct width_of<Expr, Char, proto::tag::bitwise_or>
       : or_widths<
-            width_of<typename Expr::proto_child_ref0::proto_base_expr, Char>::value
-          , width_of<typename Expr::proto_child_ref1::proto_base_expr, Char>::value
+            width_of<typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr, Char>::value
+          , width_of<typename remove_reference<typename Expr::proto_child1>::type::proto_base_expr, Char>::value
         >
     {};
 
@@ -156,7 +156,7 @@
 
     template<typename Expr, typename Char>
     struct width_of_assign<Expr, Char, mark_placeholder>
-      : width_of<typename Expr::proto_child_ref1::proto_base_expr, Char>
+      : width_of<typename remove_reference<typename Expr::proto_child1>::type::proto_base_expr, Char>
     {};
 
     template<typename Expr, typename Char>
@@ -176,14 +176,14 @@
             Expr
           , Char
           , typename proto::result_of::value<
-                typename Expr::proto_child_ref0::proto_base_expr
+                typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr
             >::type
         >
     {};
 
     template<typename Expr, typename Char>
     struct width_of<Expr, Char, modifier_tag>
-      : width_of<typename Expr::proto_child_ref1::proto_base_expr, Char>
+      : width_of<typename remove_reference<typename Expr::proto_child1>::type::proto_base_expr, Char>
     {};
 
     template<typename Expr, typename Char>
@@ -231,10 +231,10 @@
     template<typename Expr, typename Char, uint_t Count>
     struct width_of<Expr, Char, generic_quant_tag<Count, Count> >
       : mpl::if_<
-            mpl::equal_to<unknown_width, width_of<typename Expr::proto_child_ref0::proto_base_expr, Char> >
+            mpl::equal_to<unknown_width, width_of<typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr, Char> >
           , unknown_width
           , mpl::times<
-                width_of<typename Expr::proto_child_ref0::proto_base_expr, Char>
+                width_of<typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr, Char>
               , mpl::size_t<Count>
             >
         >::type
@@ -242,13 +242,13 @@
 
     template<typename Expr, typename Char>
     struct width_of<Expr, Char, proto::tag::negate>
-      : width_of<typename Expr::proto_child_ref0::proto_base_expr, Char>
+      : width_of<typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr, Char>
     {};
 
     // when complementing a set or an assertion, the width is that of the set (1) or the assertion (0)
     template<typename Expr, typename Char>
     struct width_of<Expr, Char, proto::tag::complement>
-      : width_of<typename Expr::proto_child_ref0::proto_base_expr, Char>
+      : width_of<typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr, Char>
     {};
 
     // The comma is used in list-initialized sets, and the width of sets are 1
@@ -272,12 +272,12 @@
         BOOST_MPL_ASSERT_RELATION(
             1
           , ==
-          , (width_of<typename Expr::proto_child_ref1::proto_base_expr, Char>::value));
+          , (width_of<typename remove_reference<typename Expr::proto_child1>::type::proto_base_expr, Char>::value));
     };
 
     template<typename Expr, typename Char>
     struct width_of<Expr, Char, proto::tag::subscript>
-      : width_of_subscript<Expr, Char, typename Expr::proto_child_ref0::proto_base_expr>
+      : width_of_subscript<Expr, Char, typename remove_reference<typename Expr::proto_child0>::type::proto_base_expr>
     {};
 
 }}} // namespace boost::xpressive::detail