Update of /cvsroot/boost/boost/boost/xpressive/proto
In directory
sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv14120/boost/xpressive/proto
Modified Files:
deep_copy.hpp expr.hpp extends.hpp matches.hpp operators.hpp
proto_fwd.hpp proto_typeof.hpp ref.hpp tags.hpp traits.hpp
Log Message:
rename all proto tag types, move into tag:: namespace
Index: deep_copy.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/deep_copy.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- deep_copy.hpp 1 Dec 2006 02:58:48 -0000 1.3
+++ deep_copy.hpp 1 Dec 2006 05:46:05 -0000 1.4
@@ -25,7 +25,7 @@
struct deep_copy_impl;
template<typename Expr>
- struct deep_copy_impl<Expr, terminal_tag, 1>
+ struct deep_copy_impl<Expr, tag::terminal, 1>
{
typedef typename Expr::expr_type type;
Index: expr.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/expr.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- expr.hpp 1 Dec 2006 02:58:48 -0000 1.4
+++ expr.hpp 1 Dec 2006 05:46:06 -0000 1.5
@@ -90,18 +90,18 @@
}
template<typename A>
- expr<assign_tag, args2<ref<expr>, typename
meta::as_expr_ref<A>::type> > const
+ expr<tag::assign, args2<ref<expr>, typename
meta::as_expr_ref<A>::type> > const
operator =(A const &a) const
{
- expr<assign_tag, args2<ref<expr>, typename
meta::as_expr_ref<A>::type> > that = {{*this}, proto::as_expr_ref(a)};
+ expr<tag::assign, args2<ref<expr>, typename
meta::as_expr_ref<A>::type> > that = {{*this}, proto::as_expr_ref(a)};
return that;
}
template<typename A>
- expr<subscript_tag, args2<ref<expr>, typename
meta::as_expr_ref<A>::type> > const
+ expr<tag::subscript, args2<ref<expr>, typename
meta::as_expr_ref<A>::type> > const
operator [](A const &a) const
{
- expr<subscript_tag, args2<ref<expr>, typename
meta::as_expr_ref<A>::type> > that = {{*this}, proto::as_expr_ref(a)};
+ expr<tag::subscript, args2<ref<expr>, typename
meta::as_expr_ref<A>::type> > that = {{*this}, proto::as_expr_ref(a)};
return that;
}
@@ -111,13 +111,13 @@
template<typename This>
struct result<This()>
{
- typedef expr<function_tag, args1<ref<expr> > > type;
+ typedef expr<tag::function, args1<ref<expr> > > type;
};
- expr<function_tag, args1<ref<expr> > > const
+ expr<tag::function, args1<ref<expr> > > const
operator ()() const
{
- expr<function_tag, args1<ref<expr> > > that = {{*this}};
+ expr<tag::function, args1<ref<expr> > > that = {{*this}};
return that;
}
@@ -133,14 +133,14 @@
template<typename This BOOST_PP_ENUM_TRAILING_PARAMS(N, typename A)>
struct result<This(BOOST_PP_ENUM_PARAMS(N, A))>
{
- typedef expr<function_tag, BOOST_PP_CAT(args,
BOOST_PP_INC(N))<ref<expr> BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(N, typename
meta::as_expr_ref<A, >::type BOOST_PP_INTERCEPT)> > type;
+ typedef expr<tag::function, BOOST_PP_CAT(args,
BOOST_PP_INC(N))<ref<expr> BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(N, typename
meta::as_expr_ref<A, >::type BOOST_PP_INTERCEPT)> > type;
};
template<BOOST_PP_ENUM_PARAMS(N, typename A)>
- expr<function_tag, BOOST_PP_CAT(args, BOOST_PP_INC(N))<ref<expr>
BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(N, typename meta::as_expr_ref<A, >::type
BOOST_PP_INTERCEPT)> > const
+ expr<tag::function, BOOST_PP_CAT(args, BOOST_PP_INC(N))<ref<expr>
BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(N, typename meta::as_expr_ref<A, >::type
BOOST_PP_INTERCEPT)> > const
operator ()(BOOST_PP_ENUM_BINARY_PARAMS(N, A, const &a)) const
{
- expr<function_tag, BOOST_PP_CAT(args, BOOST_PP_INC(N))<ref<expr>
BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(N, typename meta::as_expr_ref<A, >::type
BOOST_PP_INTERCEPT)> > that = {{*this} BOOST_PP_ENUM_TRAILING(N,
BOOST_PROTO_AS_OP, _)};
+ expr<tag::function, BOOST_PP_CAT(args, BOOST_PP_INC(N))<ref<expr>
BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(N, typename meta::as_expr_ref<A, >::type
BOOST_PP_INTERCEPT)> > that = {{*this} BOOST_PP_ENUM_TRAILING(N,
BOOST_PROTO_AS_OP, _)};
return that;
}
Index: extends.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/extends.hpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- extends.hpp 1 Dec 2006 02:58:48 -0000 1.6
+++ extends.hpp 1 Dec 2006 05:46:06 -0000 1.7
@@ -49,37 +49,37 @@
}\
/**/
- BOOST_PROTO_EXTENDS_BINARY_OP(<<, left_shift_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(>>, right_shift_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(*, multiply_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(/, divide_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(%, modulus_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(+, add_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(-, subtract_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(<, less_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(>, greater_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(<=, less_equal_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(>=, greater_equal_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(==, equal_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(!=, not_equal_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(||, logical_or_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(&&, logical_and_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(&, bitwise_and_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(|, bitwise_or_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(^, bitwise_xor_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(BOOST_PP_COMMA(), comma_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(->*, mem_ptr_tag)
+ BOOST_PROTO_EXTENDS_BINARY_OP(<<, tag::left_shift)
+ BOOST_PROTO_EXTENDS_BINARY_OP(>>, tag::right_shift)
+ BOOST_PROTO_EXTENDS_BINARY_OP(*, tag::multiply)
+ BOOST_PROTO_EXTENDS_BINARY_OP(/, tag::divide)
+ BOOST_PROTO_EXTENDS_BINARY_OP(%, tag::modulus)
+ BOOST_PROTO_EXTENDS_BINARY_OP(+, tag::add)
+ BOOST_PROTO_EXTENDS_BINARY_OP(-, tag::subtract)
+ BOOST_PROTO_EXTENDS_BINARY_OP(<, tag::less)
+ BOOST_PROTO_EXTENDS_BINARY_OP(>, tag::greater)
+ BOOST_PROTO_EXTENDS_BINARY_OP(<=, tag::less_equal)
+ BOOST_PROTO_EXTENDS_BINARY_OP(>=, tag::greater_equal)
+ BOOST_PROTO_EXTENDS_BINARY_OP(==, tag::equal)
+ BOOST_PROTO_EXTENDS_BINARY_OP(!=, tag::not_equal)
+ BOOST_PROTO_EXTENDS_BINARY_OP(||, tag::logical_or)
+ BOOST_PROTO_EXTENDS_BINARY_OP(&&, tag::logical_and)
+ BOOST_PROTO_EXTENDS_BINARY_OP(&, tag::bitwise_and)
+ BOOST_PROTO_EXTENDS_BINARY_OP(|, tag::bitwise_or)
+ BOOST_PROTO_EXTENDS_BINARY_OP(^, tag::bitwise_xor)
+ BOOST_PROTO_EXTENDS_BINARY_OP(BOOST_PP_COMMA(), tag::comma)
+ BOOST_PROTO_EXTENDS_BINARY_OP(->*, tag::mem_ptr)
- BOOST_PROTO_EXTENDS_BINARY_OP(<<=, left_shift_assign_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(>>=, right_shift_assign_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(*=, multiply_assign_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(/=, divide_assign_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(%=, modulus_assign_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(+=, add_assign_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(-=, subtract_assign_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(&=, bitwise_and_assign_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(|=, bitwise_or_assign_tag)
- BOOST_PROTO_EXTENDS_BINARY_OP(^=, bitwise_xor_assign_tag)
+ BOOST_PROTO_EXTENDS_BINARY_OP(<<=, tag::left_shift_assign)
+ BOOST_PROTO_EXTENDS_BINARY_OP(>>=, tag::right_shift_assign)
+ BOOST_PROTO_EXTENDS_BINARY_OP(*=, tag::multiply_assign)
+ BOOST_PROTO_EXTENDS_BINARY_OP(/=, tag::divide_assign)
+ BOOST_PROTO_EXTENDS_BINARY_OP(%=, tag::modulus_assign)
+ BOOST_PROTO_EXTENDS_BINARY_OP(+=, tag::add_assign)
+ BOOST_PROTO_EXTENDS_BINARY_OP(-=, tag::subtract_assign)
+ BOOST_PROTO_EXTENDS_BINARY_OP(&=, tag::bitwise_and_assign)
+ BOOST_PROTO_EXTENDS_BINARY_OP(|=, tag::bitwise_or_assign)
+ BOOST_PROTO_EXTENDS_BINARY_OP(^=, tag::bitwise_xor_assign)
#undef BOOST_PROTO_EXTENDS_BINARY_OP
Index: matches.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/matches.hpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- matches.hpp 20 Nov 2006 03:41:07 -0000 1.15
+++ matches.hpp 1 Dec 2006 05:46:06 -0000 1.16
@@ -157,7 +157,7 @@
{};
template<typename Args1, typename Args2>
- struct matches_impl< expr<terminal_tag, Args1, 1>,
expr<terminal_tag, Args2, 1> >
+ struct matches_impl< expr<tag::terminal, Args1, 1>,
expr<tag::terminal, Args2, 1> >
: terminal_matches<
typename Args1::arg0
, typename Args2::arg0
Index: operators.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/operators.hpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- operators.hpp 1 Dec 2006 02:58:48 -0000 1.13
+++ operators.hpp 1 Dec 2006 05:46:06 -0000 1.14
@@ -53,60 +53,60 @@
}\
/**/
- BOOST_PROTO_UNARY_OP(+, unary_plus_tag)
- BOOST_PROTO_UNARY_OP(-, unary_minus_tag)
- BOOST_PROTO_UNARY_OP(*, unary_star_tag)
- BOOST_PROTO_UNARY_OP(~, complement_tag)
- BOOST_PROTO_UNARY_OP(&, address_of_tag)
- BOOST_PROTO_UNARY_OP(!, logical_not_tag)
- BOOST_PROTO_UNARY_OP(++, pre_inc_tag)
- BOOST_PROTO_UNARY_OP(--, pre_dec_tag)
+ BOOST_PROTO_UNARY_OP(+, tag::unary_plus)
+ BOOST_PROTO_UNARY_OP(-, tag::unary_minus)
+ BOOST_PROTO_UNARY_OP(*, tag::unary_star)
+ BOOST_PROTO_UNARY_OP(~, tag::complement)
+ BOOST_PROTO_UNARY_OP(&, tag::address_of)
+ BOOST_PROTO_UNARY_OP(!, tag::logical_not)
+ BOOST_PROTO_UNARY_OP(++, tag::pre_inc)
+ BOOST_PROTO_UNARY_OP(--, tag::pre_dec)
- BOOST_PROTO_BINARY_OP(<<, left_shift_tag)
- BOOST_PROTO_BINARY_OP(>>, right_shift_tag)
- BOOST_PROTO_BINARY_OP(*, multiply_tag)
- BOOST_PROTO_BINARY_OP(/, divide_tag)
- BOOST_PROTO_BINARY_OP(%, modulus_tag)
- BOOST_PROTO_BINARY_OP(+, add_tag)
- BOOST_PROTO_BINARY_OP(-, subtract_tag)
- BOOST_PROTO_BINARY_OP(<, less_tag)
- BOOST_PROTO_BINARY_OP(>, greater_tag)
- BOOST_PROTO_BINARY_OP(<=, less_equal_tag)
- BOOST_PROTO_BINARY_OP(>=, greater_equal_tag)
- BOOST_PROTO_BINARY_OP(==, equal_tag)
- BOOST_PROTO_BINARY_OP(!=, not_equal_tag)
- BOOST_PROTO_BINARY_OP(||, logical_or_tag)
- BOOST_PROTO_BINARY_OP(&&, logical_and_tag)
- BOOST_PROTO_BINARY_OP(&, bitwise_and_tag)
- BOOST_PROTO_BINARY_OP(|, bitwise_or_tag)
- BOOST_PROTO_BINARY_OP(^, bitwise_xor_tag)
- BOOST_PROTO_BINARY_OP(BOOST_PP_COMMA(), comma_tag)
- BOOST_PROTO_BINARY_OP(->*, mem_ptr_tag)
+ BOOST_PROTO_BINARY_OP(<<, tag::left_shift)
+ BOOST_PROTO_BINARY_OP(>>, tag::right_shift)
+ BOOST_PROTO_BINARY_OP(*, tag::multiply)
+ BOOST_PROTO_BINARY_OP(/, tag::divide)
+ BOOST_PROTO_BINARY_OP(%, tag::modulus)
+ BOOST_PROTO_BINARY_OP(+, tag::add)
+ BOOST_PROTO_BINARY_OP(-, tag::subtract)
+ BOOST_PROTO_BINARY_OP(<, tag::less)
+ BOOST_PROTO_BINARY_OP(>, tag::greater)
+ BOOST_PROTO_BINARY_OP(<=, tag::less_equal)
+ BOOST_PROTO_BINARY_OP(>=, tag::greater_equal)
+ BOOST_PROTO_BINARY_OP(==, tag::equal)
+ BOOST_PROTO_BINARY_OP(!=, tag::not_equal)
+ BOOST_PROTO_BINARY_OP(||, tag::logical_or)
+ BOOST_PROTO_BINARY_OP(&&, tag::logical_and)
+ BOOST_PROTO_BINARY_OP(&, tag::bitwise_and)
+ BOOST_PROTO_BINARY_OP(|, tag::bitwise_or)
+ BOOST_PROTO_BINARY_OP(^, tag::bitwise_xor)
+ BOOST_PROTO_BINARY_OP(BOOST_PP_COMMA(), tag::comma)
+ BOOST_PROTO_BINARY_OP(->*, tag::mem_ptr)
- BOOST_PROTO_BINARY_OP(<<=, left_shift_assign_tag)
- BOOST_PROTO_BINARY_OP(>>=, right_shift_assign_tag)
- BOOST_PROTO_BINARY_OP(*=, multiply_assign_tag)
- BOOST_PROTO_BINARY_OP(/=, divide_assign_tag)
- BOOST_PROTO_BINARY_OP(%=, modulus_assign_tag)
- BOOST_PROTO_BINARY_OP(+=, add_assign_tag)
- BOOST_PROTO_BINARY_OP(-=, subtract_assign_tag)
- BOOST_PROTO_BINARY_OP(&=, bitwise_and_assign_tag)
- BOOST_PROTO_BINARY_OP(|=, bitwise_or_assign_tag)
- BOOST_PROTO_BINARY_OP(^=, bitwise_xor_assign_tag)
+ BOOST_PROTO_BINARY_OP(<<=, tag::left_shift_assign)
+ BOOST_PROTO_BINARY_OP(>>=, tag::right_shift_assign)
+ BOOST_PROTO_BINARY_OP(*=, tag::multiply_assign)
+ BOOST_PROTO_BINARY_OP(/=, tag::divide_assign)
+ BOOST_PROTO_BINARY_OP(%=, tag::modulus_assign)
+ BOOST_PROTO_BINARY_OP(+=, tag::add_assign)
+ BOOST_PROTO_BINARY_OP(-=, tag::subtract_assign)
+ BOOST_PROTO_BINARY_OP(&=, tag::bitwise_and_assign)
+ BOOST_PROTO_BINARY_OP(|=, tag::bitwise_or_assign)
+ BOOST_PROTO_BINARY_OP(^=, tag::bitwise_xor_assign)
template<typename Tag, typename Args, long Arity>
- inline expr<post_inc_tag, args1<ref<expr<Tag, Args, Arity> > > > const
+ inline expr<tag::post_inc, args1<ref<expr<Tag, Args, Arity> > > > const
operator ++(expr<Tag, Args, Arity> const &arg, int)
{
- expr<post_inc_tag, args1<ref<expr<Tag, Args, Arity> > > > that =
{{arg}};
+ expr<tag::post_inc, args1<ref<expr<Tag, Args, Arity> > > > that =
{{arg}};
return that;
}
template<typename Tag, typename Args, long Arity>
- inline expr<post_dec_tag, args1<ref<expr<Tag, Args, Arity> > > > const
+ inline expr<tag::post_dec, args1<ref<expr<Tag, Args, Arity> > > > const
operator --(expr<Tag, Args, Arity> const &arg, int)
{
- expr<post_dec_tag, args1<ref<expr<Tag, Args, Arity> > > > that =
{{arg}};
+ expr<tag::post_dec, args1<ref<expr<Tag, Args, Arity> > > > that =
{{arg}};
return that;
}
Index: proto_fwd.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/proto_fwd.hpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- proto_fwd.hpp 1 Dec 2006 02:58:48 -0000 1.32
+++ proto_fwd.hpp 1 Dec 2006 05:46:06 -0000 1.33
@@ -9,11 +9,8 @@
#ifndef BOOST_PROTO_FWD_HPP_EAN_04_01_2005
#define BOOST_PROTO_FWD_HPP_EAN_04_01_2005
-#include <boost/version.hpp>
-#include <boost/mpl/size.hpp>
#include <boost/type_traits/remove_cv.hpp>
#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
#include <boost/mpl/long.hpp>
#include <boost/preprocessor/arithmetic/sub.hpp>
#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
@@ -26,59 +23,109 @@
{
///////////////////////////////////////////////////////////////////////////////
// Operator tags
- struct unary_tag;
- struct binary_tag;
- struct nary_tag;
+ namespace tag
+ {
+ struct unary;
+ struct binary;
+ struct nary;
- struct terminal_tag;
- struct unary_plus_tag;
- struct unary_minus_tag;
- struct unary_star_tag;
- struct complement_tag;
- struct address_of_tag;
- struct logical_not_tag;
- struct pre_inc_tag;
- struct pre_dec_tag;
- struct post_inc_tag;
- struct post_dec_tag;
+ struct terminal;
+ struct unary_plus;
+ struct unary_minus;
+ struct unary_star;
+ struct complement;
+ struct address_of;
+ struct logical_not;
+ struct pre_inc;
+ struct pre_dec;
+ struct post_inc;
+ struct post_dec;
- struct left_shift_tag;
- struct right_shift_tag;
- struct multiply_tag;
- struct divide_tag;
- struct modulus_tag;
- struct add_tag;
- struct subtract_tag;
- struct less_tag;
- struct greater_tag;
- struct less_equal_tag;
- struct greater_equal_tag;
- struct equal_tag;
- struct not_equal_tag;
- struct logical_or_tag;
- struct logical_and_tag;
- struct bitwise_and_tag;
- struct bitwise_or_tag;
- struct bitwise_xor_tag;
- struct comma_tag;
- struct mem_ptr_tag;
+ struct left_shift;
+ struct right_shift;
+ struct multiply;
+ struct divide;
+ struct modulus;
+ struct add;
+ struct subtract;
+ struct less;
+ struct greater;
+ struct less_equal;
+ struct greater_equal;
+ struct equal;
+ struct not_equal;
+ struct logical_or;
+ struct logical_and;
+ struct bitwise_and;
+ struct bitwise_or;
+ struct bitwise_xor;
+ struct comma;
+ struct mem_ptr;
- struct assign_tag;
- struct left_shift_assign_tag;
- struct right_shift_assign_tag;
- struct multiply_assign_tag;
- struct divide_assign_tag;
- struct modulus_assign_tag;
- struct add_assign_tag;
- struct subtract_assign_tag;
- struct bitwise_and_assign_tag;
- struct bitwise_or_assign_tag;
- struct bitwise_xor_assign_tag;
- struct subscript_tag;
+ struct assign;
+ struct left_shift_assign;
+ struct right_shift_assign;
+ struct multiply_assign;
+ struct divide_assign;
+ struct modulus_assign;
+ struct add_assign;
+ struct subtract_assign;
+ struct bitwise_and_assign;
+ struct bitwise_or_assign;
+ struct bitwise_xor_assign;
+ struct subscript;
- struct function_tag;
+ struct function;
+ }
// for backwards compatibility
+ typedef tag::unary unary_type;
+ typedef tag::binary binary_tag;
+ typedef tag::nary nary_tag;
+ typedef tag::terminal terminal_tag;
+ typedef tag::unary_plus unary_plus_tag;
+ typedef tag::unary_minus unary_minus_tag;
+ typedef tag::unary_star unary_star_tag;
+ typedef tag::complement complement_tag;
+ typedef tag::address_of address_of_tag;
+ typedef tag::logical_not logical_not_tag;
+ typedef tag::pre_inc pre_inc_tag;
+ typedef tag::pre_dec pre_dec_tag;
+ typedef tag::post_inc post_inc_tag;
+ typedef tag::post_dec post_dec_tag;
+ typedef tag::left_shift left_shift_tag;
+ typedef tag::right_shift right_shift_tag;
+ typedef tag::multiply multiply_tag;
+ typedef tag::divide divide_tag;
+ typedef tag::modulus modulus_tag;
+ typedef tag::add add_tag;
+ typedef tag::subtract subtract_tag;
+ typedef tag::less less_tag;
+ typedef tag::greater greater_tag;
+ typedef tag::less_equal less_equal_tag;
+ typedef tag::greater_equal greater_equal_tag;
+ typedef tag::equal equal_tag;
+ typedef tag::not_equal not_equal_tag;
+ typedef tag::logical_or logical_or_tag;
+ typedef tag::logical_and logical_and_tag;
+ typedef tag::bitwise_and bitwise_and_tag;
+ typedef tag::bitwise_or bitwise_or_tag;
+ typedef tag::bitwise_xor bitwise_xor_tag;
+ typedef tag::comma comma_tag;
+ typedef tag::mem_ptr mem_ptr_tag;
+ typedef tag::assign assign_tag;
+ typedef tag::left_shift_assign left_shift_assign_tag;
+ typedef tag::right_shift_assign right_shift_assign_tag;
+ typedef tag::multiply_assign multiply_assign_tag;
+ typedef tag::divide_assign divide_assign_tag;
+ typedef tag::modulus_assign modulus_assign_tag;
+ typedef tag::add_assign add_assign_tag;
+ typedef tag::subtract_assign subtract_assign_tag;
+ typedef tag::bitwise_and_assign bitwise_and_assign_tag;
+ typedef tag::bitwise_or_assign bitwise_or_assign_tag;
+ typedef tag::bitwise_xor_assign bitwise_xor_assign_tag;
+ typedef tag::subscript subscript_tag;
+ typedef tag::function function_tag;
typedef bitwise_or_tag bitor_tag;
typedef bitwise_and_tag bitand_tag;
typedef bitwise_xor_tag bitxor_tag;
Index: proto_typeof.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/proto_typeof.hpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- proto_typeof.hpp 21 Nov 2006 17:28:15 -0000 1.7
+++ proto_typeof.hpp 1 Dec 2006 05:46:06 -0000 1.8
@@ -22,53 +22,53 @@
#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::unary_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::binary_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::nary_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::terminal_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::unary_plus_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::unary_minus_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::unary_star_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::complement_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::address_of_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::logical_not_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::pre_inc_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::pre_dec_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::post_inc_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::post_dec_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::left_shift_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::right_shift_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::multiply_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::divide_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::modulus_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::add_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::subtract_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::less_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::greater_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::less_equal_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::greater_equal_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::equal_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::not_equal_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::logical_or_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::logical_and_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::bitand_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::bitor_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::bitxor_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::comma_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::mem_ptr_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::assign_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::left_shift_assign_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::right_shift_assign_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::multiply_assign_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::divide_assign_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::modulus_assign_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::add_assign_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::subtract_assign_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::bitand_assign_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::bitor_assign_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::bitxor_assign_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::subscript_tag)
-BOOST_TYPEOF_REGISTER_TYPE(boost::proto::function_tag)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::unary)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::binary)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::nary)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::terminal)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::unary_plus)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::unary_minus)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::unary_star)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::complement)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::address_of)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::logical_not)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::pre_inc)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::pre_dec)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::post_inc)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::post_dec)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::left_shift)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::right_shift)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::multiply)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::divide)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::modulus)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::add)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::subtract)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::less)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::greater)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::less_equal)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::greater_equal)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::equal)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::not_equal)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::logical_or)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::logical_and)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::bitand)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::bitwise_or)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::bitxor)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::comma)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::mem_ptr)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::assign)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::left_shift_assign)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::right_shift_assign)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::multiply_assign)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::divide_assign)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::modulus_assign)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::add_assign)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::subtract_assign)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::bitand_assign)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::bitor_assign)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::bitxor_assign)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::subscript)
+BOOST_TYPEOF_REGISTER_TYPE(boost::proto::tag::function)
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::proto::ref, (typename))
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::proto::expr, (typename)(typename)(long))
Index: ref.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/ref.hpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- ref.hpp 1 Dec 2006 02:58:48 -0000 1.10
+++ ref.hpp 1 Dec 2006 05:46:06 -0000 1.11
@@ -9,6 +9,7 @@
#ifndef BOOST_PROTO_REF_HPP_EAN_04_01_2005
#define BOOST_PROTO_REF_HPP_EAN_04_01_2005
+#include <boost/mpl/bool.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>
#include <boost/xpressive/proto/proto_fwd.hpp>
Index: tags.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/tags.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- tags.hpp 3 Nov 2006 02:47:44 -0000 1.3
+++ tags.hpp 1 Dec 2006 05:46:06 -0000 1.4
@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////
/// \file tags.hpp
/// Contains the tags for all the overloadable operators in C++, as well as
-/// the base tags unary_tag, binary_tag and nary_tag, as well as the
is_unary\<\>,
+/// the base tags unary, binary and nary, as well as the is_unary\<\>,
/// is_binary\<\> and is_nary\<\> predicates.
//
// Copyright 2004 Eric Niebler. Distributed under the Boost
@@ -14,63 +14,63 @@
#include <boost/type_traits/is_base_and_derived.hpp>
#include <boost/xpressive/proto/proto_fwd.hpp>
-namespace boost { namespace proto
+namespace boost { namespace proto { namespace tag
{
///////////////////////////////////////////////////////////////////////////////
// Operator tags
- struct unary_tag {};
- struct binary_tag {};
- struct nary_tag {}; // for operator()
+ struct unary {};
+ struct binary {};
+ struct nary {}; // for operator()
- struct terminal_tag : unary_tag {};
- struct unary_plus_tag : unary_tag {};
- struct unary_minus_tag : unary_tag {};
- struct unary_star_tag : unary_tag {};
- struct complement_tag : unary_tag {};
- struct address_of_tag : unary_tag {};
- struct logical_not_tag : unary_tag {};
- struct pre_inc_tag : unary_tag {};
- struct pre_dec_tag : unary_tag {};
- struct post_inc_tag : unary_tag {};
- struct post_dec_tag : unary_tag {};
+ struct terminal : unary {};
+ struct unary_plus : unary {};
+ struct unary_minus : unary {};
+ struct unary_star : unary {};
+ struct complement : unary {};
+ struct address_of : unary {};
+ struct logical_not : unary {};
+ struct pre_inc : unary {};
+ struct pre_dec : unary {};
+ struct post_inc : unary {};
+ struct post_dec : unary {};
- struct left_shift_tag : binary_tag {};
- struct right_shift_tag : binary_tag {};
- struct multiply_tag : binary_tag {};
- struct divide_tag : binary_tag {};
- struct modulus_tag : binary_tag {};
- struct add_tag : binary_tag {};
- struct subtract_tag : binary_tag {};
- struct less_tag : binary_tag {};
- struct greater_tag : binary_tag {};
- struct less_equal_tag : binary_tag {};
- struct greater_equal_tag : binary_tag {};
- struct equal_tag : binary_tag {};
- struct not_equal_tag : binary_tag {};
- struct logical_or_tag : binary_tag {};
- struct logical_and_tag : binary_tag {};
- struct bitwise_and_tag : binary_tag {};
- struct bitwise_or_tag : binary_tag {};
- struct bitwise_xor_tag : binary_tag {};
- struct comma_tag : binary_tag {};
- struct mem_ptr_tag : binary_tag {};
+ struct left_shift : binary {};
+ struct right_shift : binary {};
+ struct multiply : binary {};
+ struct divide : binary {};
+ struct modulus : binary {};
+ struct add : binary {};
+ struct subtract : binary {};
+ struct less : binary {};
+ struct greater : binary {};
+ struct less_equal : binary {};
+ struct greater_equal : binary {};
+ struct equal : binary {};
+ struct not_equal : binary {};
+ struct logical_or : binary {};
+ struct logical_and : binary {};
+ struct bitwise_and : binary {};
+ struct bitwise_or : binary {};
+ struct bitwise_xor : binary {};
+ struct comma : binary {};
+ struct mem_ptr : binary {};
- struct assign_tag : binary_tag {};
- struct left_shift_assign_tag : binary_tag {};
- struct right_shift_assign_tag : binary_tag {};
- struct multiply_assign_tag : binary_tag {};
- struct divide_assign_tag : binary_tag {};
- struct modulus_assign_tag : binary_tag {};
- struct add_assign_tag : binary_tag {};
- struct subtract_assign_tag : binary_tag {};
- struct bitwise_and_assign_tag : binary_tag {};
- struct bitwise_or_assign_tag : binary_tag {};
- struct bitwise_xor_assign_tag : binary_tag {};
- struct subscript_tag : binary_tag {};
+ struct assign : binary {};
+ struct left_shift_assign : binary {};
+ struct right_shift_assign : binary {};
+ struct multiply_assign : binary {};
+ struct divide_assign : binary {};
+ struct modulus_assign : binary {};
+ struct add_assign : binary {};
+ struct subtract_assign : binary {};
+ struct bitwise_and_assign : binary {};
+ struct bitwise_or_assign : binary {};
+ struct bitwise_xor_assign : binary {};
+ struct subscript : binary {};
- struct function_tag : nary_tag {};
+ struct function : nary {};
-}}
+}}}
#endif
Index: traits.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/traits.hpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- traits.hpp 1 Dec 2006 02:58:48 -0000 1.19
+++ traits.hpp 1 Dec 2006 05:46:06 -0000 1.20
@@ -13,6 +13,7 @@
#define BOOST_PROTO_ARG_TRAITS_HPP_EAN_04_01_2005
#include <boost/ref.hpp>
+ #include <boost/mpl/if.hpp>
#include <boost/mpl/or.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/call_traits.hpp>
@@ -71,7 +72,7 @@
struct as_expr<T, false>
{
BOOST_STATIC_ASSERT(!is_reference<T>::value);
- typedef expr<terminal_tag, args1<typename
call_traits<T>::value_type> > type;
+ typedef expr<proto::tag::terminal, args1<typename
call_traits<T>::value_type> > type;
};
template<typename T>
@@ -84,7 +85,7 @@
struct as_expr_ref<T, false>
{
BOOST_STATIC_ASSERT(!is_reference<T>::value);
- typedef expr<terminal_tag, args1<typename
call_traits<T>::value_type> > type;
+ typedef expr<proto::tag::terminal, args1<typename
call_traits<T>::value_type> > type;
};
template<typename T>
@@ -119,7 +120,7 @@
{
BOOST_STATIC_ASSERT(!is_reference<T>::value);
typedef typename call_traits<T>::value_type value_type;
- typedef expr<terminal_tag, args1<value_type> > type;
+ typedef expr<proto::tag::terminal, args1<value_type> > type;
};
// unary_expr
@@ -143,7 +144,7 @@
template<typename T>\
struct Name\
{\
- typedef expr<BOOST_PP_CAT(Name, _tag), args1<T> > type;\
+ typedef expr<proto::tag::Name, args1<T> > type;\
};\
/**/
@@ -151,7 +152,7 @@
template<typename T, typename U>\
struct Name\
{\
- typedef expr<BOOST_PP_CAT(Name, _tag), args2<T, U> > type;\
+ typedef expr<proto::tag::Name, args2<T, U> > type;\
};\
/**/
@@ -433,7 +434,7 @@
BOOST_PP_ENUM_PARAMS(N, A)
BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_SUB(BOOST_PROTO_MAX_ARITY, N), void
BOOST_PP_INTERCEPT), void >
{
- typedef expr<function_tag, BOOST_PP_CAT(args,
N)<BOOST_PP_ENUM_PARAMS(N, A)> > type;
+ typedef expr<proto::tag::function, BOOST_PP_CAT(args,
N)<BOOST_PP_ENUM_PARAMS(N, A)> > type;
};
#endif
-------------------------------------------------------------------------
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