Boost logo

Boost-Commit :

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


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk