|
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