|
Boost-Commit : |
From: eric_at_[hidden]
Date: 2007-12-02 19:30:59
Author: eric_niebler
Date: 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
New Revision: 41612
URL: http://svn.boost.org/trac/boost/changeset/41612
Log:
remove the distinction between raw and function transforms
Text files modified:
branches/proto/v3/boost/xpressive/detail/static/grammar.hpp | 25 ++++-----
branches/proto/v3/boost/xpressive/proto/fusion.hpp | 21 +++----
branches/proto/v3/boost/xpressive/proto/make_expr.hpp | 22 +++-----
branches/proto/v3/boost/xpressive/proto/matches.hpp | 49 ++++++++-----------
branches/proto/v3/boost/xpressive/proto/proto_fwd.hpp | 22 +-------
branches/proto/v3/boost/xpressive/proto/transform/arg.hpp | 24 ++++-----
branches/proto/v3/boost/xpressive/proto/transform/call.hpp | 15 ++---
branches/proto/v3/boost/xpressive/proto/transform/fold.hpp | 18 +++----
branches/proto/v3/boost/xpressive/proto/transform/fold_tree.hpp | 32 +++++-------
branches/proto/v3/boost/xpressive/proto/transform/when.hpp | 99 +++++++++++++--------------------------
branches/proto/v3/libs/xpressive/proto/example/mixed.cpp | 2
branches/proto/v3/libs/xpressive/proto/example/vec3.cpp | 2
branches/proto/v3/libs/xpressive/proto/test/examples.cpp | 8 +-
branches/proto/v3/libs/xpressive/proto/test/main.cpp | 4
14 files changed, 137 insertions(+), 206 deletions(-)
Modified: branches/proto/v3/boost/xpressive/detail/static/grammar.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/detail/static/grammar.hpp (original)
+++ branches/proto/v3/boost/xpressive/detail/static/grammar.hpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -17,7 +17,6 @@
#include <boost/mpl/bool.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/apply_wrap.hpp>
#include <boost/mpl/next_prior.hpp>
#include <boost/fusion/include/cons.hpp>
#include <boost/xpressive/proto/proto.hpp>
@@ -143,7 +142,7 @@
: mpl::true_
{};
- struct as_matcher : function_transform
+ struct as_matcher : transform_base
{
template<typename Sig>
struct result;
@@ -161,7 +160,7 @@
}
};
- struct get_width : function_transform
+ struct get_width : transform_base
{
typedef std::size_t result_type;
@@ -172,7 +171,7 @@
}
};
- struct mark_number : function_transform
+ struct mark_number : transform_base
{
typedef int result_type;
@@ -183,7 +182,7 @@
}
};
- struct get_hidden_mark : function_transform
+ struct get_hidden_mark : transform_base
{
typedef int result_type;
@@ -194,7 +193,7 @@
}
};
- struct traits : function_transform
+ struct traits : transform_base
{
template<typename Sig>
struct result;
@@ -213,7 +212,7 @@
}
};
- struct newline : function_transform
+ struct newline : transform_base
{
template<typename Sig>
struct result;
@@ -232,7 +231,7 @@
}
};
- struct as_posix_charset : function_transform
+ struct as_posix_charset : transform_base
{
template<typename Sig>
struct result;
@@ -271,7 +270,7 @@
// Place a head and a tail in sequence, if it's not
// already in sequence.
- struct in_sequence : function_transform
+ struct in_sequence : transform_base
{
template<typename Sig>
struct result;
@@ -339,7 +338,7 @@
>
{};
- struct fill_list_set : function_transform
+ struct fill_list_set : transform_base
{
template<typename Sig>
struct result;
@@ -379,7 +378,7 @@
return const_cast<T &>(t);
}
- struct merge_charset : function_transform
+ struct merge_charset : transform_base
{
template<typename Sig>
struct result;
@@ -429,7 +428,7 @@
}
};
- struct invert : function_transform
+ struct invert : transform_base
{
template<typename Sig>
struct result;
@@ -448,7 +447,7 @@
}
};
- struct modify : function_transform
+ struct modify : transform_base
{
template<typename Sig>
struct result;
Modified: branches/proto/v3/boost/xpressive/proto/fusion.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/proto/fusion.hpp (original)
+++ branches/proto/v3/boost/xpressive/proto/fusion.hpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -135,22 +135,19 @@
}
template<>
- struct transform_category<functional::flatten>
- {
- typedef function_transform type;
- };
+ struct is_transform<functional::flatten>
+ : mpl::true_
+ {};
template<>
- struct transform_category<functional::pop_front>
- {
- typedef function_transform type;
- };
+ struct is_transform<functional::pop_front>
+ : mpl::true_
+ {};
template<>
- struct transform_category<functional::reverse>
- {
- typedef function_transform type;
- };
+ struct is_transform<functional::reverse>
+ : mpl::true_
+ {};
functional::flatten const flatten = {};
Modified: branches/proto/v3/boost/xpressive/proto/make_expr.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/proto/make_expr.hpp (original)
+++ branches/proto/v3/boost/xpressive/proto/make_expr.hpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -13,7 +13,6 @@
#include <boost/version.hpp>
#include <boost/ref.hpp>
#include <boost/mpl/if.hpp>
-#include <boost/mpl/apply_wrap.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/type_traits/add_reference.hpp>
@@ -576,22 +575,19 @@
template<typename Tag, typename Domain>
- struct transform_category<functional::make_expr<Tag, Domain> >
- {
- typedef function_transform type;
- };
+ struct is_transform<functional::make_expr<Tag, Domain> >
+ : mpl::true_
+ {};
template<typename Tag, typename Domain>
- struct transform_category<functional::unpack_expr<Tag, Domain> >
- {
- typedef function_transform type;
- };
+ struct is_transform<functional::unpack_expr<Tag, Domain> >
+ : mpl::true_
+ {};
template<typename Tag, typename Domain>
- struct transform_category<functional::unfused_expr<Tag, Domain> >
- {
- typedef function_transform type;
- };
+ struct is_transform<functional::unfused_expr<Tag, Domain> >
+ : mpl::true_
+ {};
}}
Modified: branches/proto/v3/boost/xpressive/proto/matches.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/proto/matches.hpp (original)
+++ branches/proto/v3/boost/xpressive/proto/matches.hpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -16,7 +16,6 @@
#include <boost/mpl/assert.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/apply_wrap.hpp>
#include <boost/type_traits.hpp>
#include <boost/xpressive/proto/proto_fwd.hpp>
#include <boost/xpressive/proto/transform/arg.hpp>
@@ -429,7 +428,7 @@
} // namespace detail
template<typename... Alts>
- struct or_ : raw_transform
+ struct or_ : transform_base
{
typedef or_ proto_base_expr;
@@ -461,7 +460,7 @@
// if_
template<typename If, typename Then, typename Else>
- struct if_ : raw_transform
+ struct if_ : transform_base
{
typedef if_ proto_base_expr;
@@ -500,7 +499,7 @@
};
template<typename Cases>
- struct switch_ : raw_transform
+ struct switch_ : transform_base
{
typedef switch_ proto_base_expr;
@@ -539,40 +538,34 @@
}
template<typename... Args>
- struct transform_category<or_<Args...> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<or_<Args...> >
+ : mpl::true_
+ {};
template<typename... Args>
- struct transform_category<and_<Args...> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<and_<Args...> >
+ : mpl::true_
+ {};
template<typename Grammar>
- struct transform_category<not_<Grammar> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<not_<Grammar> >
+ : mpl::true_
+ {};
template<typename If, typename Then, typename Else>
- struct transform_category<if_<If, Then, Else> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<if_<If, Then, Else> >
+ : mpl::true_
+ {};
template<typename Grammar>
- struct transform_category<vararg<Grammar> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<vararg<Grammar> >
+ : mpl::true_
+ {};
template<>
- struct transform_category<_>
- {
- typedef raw_transform type;
- };
+ struct is_transform<_>
+ : mpl::true_
+ {};
}}
Modified: branches/proto/v3/boost/xpressive/proto/proto_fwd.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/proto/proto_fwd.hpp (original)
+++ branches/proto/v3/boost/xpressive/proto/proto_fwd.hpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -327,33 +327,21 @@
using control::N;
template<typename T>
- struct transform_category;
+ struct is_transform;
template<typename T>
struct is_aggregate;
namespace transform
{
- // Transforms can be of these 3 types
- struct no_transform
- {};
-
- struct raw_transform
+ struct transform_base
{
- typedef void proto_raw_transform_;
- };
-
- struct function_transform
- {
- typedef void proto_function_transform_;
+ typedef void proto_is_transform_;
};
template<typename Fun, typename... Args>
struct call;
- template<typename Trans, typename... Args>
- struct apply;
-
template<typename Sequence, typename State, typename Fun>
struct fold;
@@ -420,9 +408,7 @@
using transform::reverse_fold;
using transform::fold_tree;
using transform::reverse_fold_tree;
- using transform::no_transform;
- using transform::raw_transform;
- using transform::function_transform;
+ using transform::transform_base;
namespace context
{
Modified: branches/proto/v3/boost/xpressive/proto/transform/arg.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/proto/transform/arg.hpp (original)
+++ branches/proto/v3/boost/xpressive/proto/transform/arg.hpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -18,7 +18,7 @@
namespace transform
{
- struct _expr : raw_transform
+ struct _expr : transform_base
{
template<typename Sig>
struct result;
@@ -37,7 +37,7 @@
}
};
- struct _state : raw_transform
+ struct _state : transform_base
{
template<typename Sig>
struct result;
@@ -56,7 +56,7 @@
}
};
- struct _visitor : raw_transform
+ struct _visitor : transform_base
{
template<typename Sig>
struct result;
@@ -76,7 +76,7 @@
};
template<int I>
- struct _arg_c : raw_transform
+ struct _arg_c : transform_base
{
template<typename Sig>
struct result;
@@ -110,7 +110,7 @@
typedef _arg1 _right;
template<typename T>
- struct always : raw_transform
+ struct always : transform_base
{
template<typename Sig>
struct result;
@@ -130,16 +130,14 @@
}
template<typename T>
- struct transform_category<transform::always<T> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<transform::always<T> >
+ : mpl::true_
+ {};
template<int I>
- struct transform_category<transform::_arg_c<I> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<transform::_arg_c<I> >
+ : mpl::true_
+ {};
}}
Modified: branches/proto/v3/boost/xpressive/proto/transform/call.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/proto/transform/call.hpp (original)
+++ branches/proto/v3/boost/xpressive/proto/transform/call.hpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -135,7 +135,7 @@
}
template<typename Fun, typename... Args>
- struct call : raw_transform
+ struct call : transform_base
{
template<typename Sig>
struct result;
@@ -157,7 +157,7 @@
};
template<typename Fun, typename Arg0>
- struct call<Fun, Arg0> : raw_transform
+ struct call<Fun, Arg0> : transform_base
{
template<typename Sig>
struct result;
@@ -185,7 +185,7 @@
};
template<typename Fun, typename Arg0, typename Arg1>
- struct call<Fun, Arg0, Arg1> : raw_transform
+ struct call<Fun, Arg0, Arg1> : transform_base
{
template<typename Sig>
struct result;
@@ -213,7 +213,7 @@
};
template<typename Fun, typename Arg0, typename Arg1, typename Arg2>
- struct call<Fun, Arg0, Arg1, Arg2> : raw_transform
+ struct call<Fun, Arg0, Arg1, Arg2> : transform_base
{
template<typename Sig>
struct result;
@@ -250,10 +250,9 @@
}
template<typename Fun, typename... Args>
- struct transform_category<transform::call<Fun, Args...> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<transform::call<Fun, Args...> >
+ : mpl::true_
+ {};
}}
Modified: branches/proto/v3/boost/xpressive/proto/transform/fold.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/proto/transform/fold.hpp (original)
+++ branches/proto/v3/boost/xpressive/proto/transform/fold.hpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -58,7 +58,7 @@
Visitor &v_;
};
- struct reverse : function_transform
+ struct reverse : transform_base
{
template<typename Sig> struct result;
@@ -78,7 +78,7 @@
} // namespace detail
template<typename Sequence, typename State0, typename Fun>
- struct fold : raw_transform
+ struct fold : transform_base
{
template<typename Sig>
struct result;
@@ -113,16 +113,14 @@
}
template<typename Sequence, typename State, typename Fun>
- struct transform_category<transform::fold<Sequence, State, Fun> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<transform::fold<Sequence, State, Fun> >
+ : mpl::true_
+ {};
template<typename Sequence, typename State, typename Fun>
- struct transform_category<transform::reverse_fold<Sequence, State, Fun> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<transform::reverse_fold<Sequence, State, Fun> >
+ : mpl::true_
+ {};
}}
Modified: branches/proto/v3/boost/xpressive/proto/transform/fold_tree.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/proto/transform/fold_tree.hpp (original)
+++ branches/proto/v3/boost/xpressive/proto/transform/fold_tree.hpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -44,7 +44,7 @@
template<typename Sequence, typename State0, typename Fun>
struct fold_tree
- : raw_transform
+ : transform_base
{
template<typename Sig>
struct result;
@@ -75,7 +75,7 @@
template<typename Sequence, typename State0, typename Fun>
struct reverse_fold_tree
- : raw_transform
+ : transform_base
{
template<typename Sig>
struct result;
@@ -106,28 +106,24 @@
}
template<typename Sequence, typename State0, typename Fun>
- struct transform_category<transform::fold_tree<Sequence, State0, Fun> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<transform::fold_tree<Sequence, State0, Fun> >
+ : mpl::true_
+ {};
template<typename Grammar, typename Fun>
- struct transform_category<transform::detail::fold_tree_<Grammar, Fun> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<transform::detail::fold_tree_<Grammar, Fun> >
+ : mpl::true_
+ {};
template<typename Sequence, typename State0, typename Fun>
- struct transform_category<transform::reverse_fold_tree<Sequence, State0, Fun> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<transform::reverse_fold_tree<Sequence, State0, Fun> >
+ : mpl::true_
+ {};
template<typename Grammar, typename Fun>
- struct transform_category<transform::detail::reverse_fold_tree_<Grammar, Fun> >
- {
- typedef raw_transform type;
- };
+ struct is_transform<transform::detail::reverse_fold_tree_<Grammar, Fun> >
+ : mpl::true_
+ {};
}}
Modified: branches/proto/v3/boost/xpressive/proto/transform/when.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/proto/transform/when.hpp (original)
+++ branches/proto/v3/boost/xpressive/proto/transform/when.hpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -34,46 +34,36 @@
namespace detail
{
template<typename T, typename EnableIf = void>
- struct transform_category2_
- {
- typedef no_transform type;
- };
-
- template<typename T>
- struct transform_category2_<T, typename T::proto_raw_transform_>
- {
- typedef raw_transform type;
- };
+ struct is_transform2_
+ : mpl::false_
+ {};
template<typename T>
- struct transform_category2_<T, typename T::proto_function_transform_>
- {
- typedef function_transform type;
- };
+ struct is_transform2_<T, typename T::proto_is_transform_>
+ : mpl::true_
+ {};
template<typename T>
- struct transform_category_
- : transform_category2_<T>
+ struct is_transform_
+ : is_transform2_<T>
{};
template<template<typename...> class T, typename... Args>
- struct transform_category_<T<Args...> >
- {
- typedef no_transform type;
- };
+ struct is_transform_<T<Args...> >
+ : mpl::false_
+ {};
}
template<typename T>
- struct transform_category
- : proto::detail::transform_category_<T>
+ struct is_transform
+ : proto::detail::is_transform_<T>
{};
// work around GCC bug
template<typename Tag, typename Args, long N>
- struct transform_category<expr<Tag, Args, N> >
- {
- typedef no_transform type;
- };
+ struct is_transform<expr<Tag, Args, N> >
+ : mpl::false_
+ {};
namespace transform
{
@@ -110,7 +100,7 @@
};
template<typename R, typename Expr, typename State, typename Visitor
- , typename Category = typename transform_category<R>::type
+ , bool IsTransform = is_transform<R>::value
>
struct apply_lambda_;
@@ -130,28 +120,28 @@
{};
template<typename R, typename Expr, typename State, typename Visitor>
- struct apply_lambda_<R, Expr, State, Visitor, no_transform>
+ struct apply_lambda_<R, Expr, State, Visitor, false>
: apply_lambda_aux_<R, Expr, State, Visitor>
{};
template<typename R, typename Expr, typename State, typename Visitor>
- struct apply_lambda_<R, Expr, State, Visitor, raw_transform>
+ struct apply_lambda_<R, Expr, State, Visitor, true>
: boost::result_of<R(Expr, State, Visitor)>
{};
template<typename R, typename... Args, typename Expr, typename State, typename Visitor>
- struct apply_lambda_<R(Args...), Expr, State, Visitor, no_transform>
+ struct apply_lambda_<R(Args...), Expr, State, Visitor, false>
: boost::result_of<when<_, R(Args...)>(Expr, State, Visitor)>
{};
template<typename R, typename... Args, typename Expr, typename State, typename Visitor>
- struct apply_lambda_<R(*)(Args...), Expr, State, Visitor, no_transform>
+ struct apply_lambda_<R(*)(Args...), Expr, State, Visitor, false>
: boost::result_of<when<_, R(*)(Args...)>(Expr, State, Visitor)>
{};
// work around GCC bug
template<typename Tag, typename Args, long N, typename Expr, typename State, typename Visitor>
- struct apply_lambda_<expr<Tag, Args, N>, Expr, State, Visitor, no_transform>
+ struct apply_lambda_<expr<Tag, Args, N>, Expr, State, Visitor, false>
{
typedef expr<Tag, Args, N> type;
typedef void not_applied_;
@@ -182,7 +172,7 @@
typename Expr
, typename State
, typename Visitor
- , typename TransformCategory
+ , bool IsTransform
, typename Return
, typename... Args
>
@@ -192,51 +182,30 @@
// If the result of applying the lambda on the return type is a transform,
// apply the transform rather than trying to construct it.
- typedef typename proto::detail::transform_category2_<lambda_type>::type lambda_category;
-
typedef
typename mpl::eval_if<
- is_same<no_transform, lambda_category>
+ proto::detail::is_transform2_<lambda_type>
+ , apply<Expr, State, Visitor, true, lambda_type, Args...>
, mpl::identity<lambda_type>
- , apply<Expr, State, Visitor, lambda_category, lambda_type, Args...>
>::type
type;
static type call(Expr const &expr, State const &state, Visitor &visitor)
{
- return apply::call_(expr, state, visitor, is_same<no_transform, lambda_category>());
+ return apply::call_(expr, state, visitor, proto::detail::is_transform2_<lambda_type>());
}
private:
- static type call_(Expr const &expr, State const &state, Visitor &visitor, mpl::true_)
+ static type call_(Expr const &expr, State const &state, Visitor &visitor, mpl::false_)
{
return detail::construct_<type>(
when<_, Args>()(expr, state, visitor)...
);
}
- static type call_(Expr const &expr, State const &state, Visitor &visitor, mpl::false_)
- {
- return apply<Expr, State, Visitor, lambda_category, lambda_type, Args...>::call(expr, state, visitor);
- }
- };
-
- template<
- typename Expr
- , typename State
- , typename Visitor
- , typename Return
- , typename... Args
- >
- struct apply<Expr, State, Visitor, function_transform, Return, Args...>
- {
- typedef typename boost::result_of<
- transform::call<Return, Args...>(Expr, State, Visitor)
- >::type type;
-
- static type call(Expr const &expr, State const &state, Visitor &visitor)
+ static type call_(Expr const &expr, State const &state, Visitor &visitor, mpl::true_)
{
- return transform::call<Return, Args...>()(expr, state, visitor);
+ return apply<Expr, State, Visitor, true, lambda_type, Args...>::call(expr, state, visitor);
}
};
@@ -247,7 +216,7 @@
, typename Return
, typename... Args
>
- struct apply<Expr, State, Visitor, raw_transform, Return, Args...>
+ struct apply<Expr, State, Visitor, true, Return, Args...>
{
typedef typename boost::result_of<
transform::call<Return, Args...>(Expr, State, Visitor)
@@ -275,7 +244,7 @@
// (possibly lambda) type and constructor arguments.
template<typename Grammar, typename Return, typename... Args>
struct when<Grammar, Return(Args...)>
- : raw_transform
+ : transform_base
{
typedef typename Grammar::proto_base_expr proto_base_expr;
@@ -284,7 +253,7 @@
template<typename This, typename Expr, typename State, typename Visitor>
struct result<This(Expr, State, Visitor)>
- : detail::apply<Expr, State, Visitor, typename transform_category<Return>::type, Return, Args...>
+ : detail::apply<Expr, State, Visitor, is_transform<Return>::value, Return, Args...>
{};
// BUGBUG makes a temporary
@@ -298,7 +267,7 @@
template<typename Grammar, typename Return, typename... Args>
struct when<Grammar, Return(*)(Args...)>
- : raw_transform
+ : transform_base
{
typedef typename Grammar::proto_base_expr proto_base_expr;
@@ -307,7 +276,7 @@
template<typename This, typename Expr, typename State, typename Visitor>
struct result<This(Expr, State, Visitor)>
- : detail::apply<Expr, State, Visitor, typename transform_category<Return>::type, Return, Args...>
+ : detail::apply<Expr, State, Visitor, is_transform<Return>::value, Return, Args...>
{};
template<typename Expr, typename State, typename Visitor>
Modified: branches/proto/v3/libs/xpressive/proto/example/mixed.cpp
==============================================================================
--- branches/proto/v3/libs/xpressive/proto/example/mixed.cpp (original)
+++ branches/proto/v3/libs/xpressive/proto/example/mixed.cpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -39,7 +39,7 @@
Iter it;
};
-struct begin : proto::function_transform
+struct begin : proto::transform_base
{
template<class Sig> struct result;
template<class This, class Cont>
Modified: branches/proto/v3/libs/xpressive/proto/example/vec3.cpp
==============================================================================
--- branches/proto/v3/libs/xpressive/proto/example/vec3.cpp (original)
+++ branches/proto/v3/libs/xpressive/proto/example/vec3.cpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -62,7 +62,7 @@
};
struct one : mpl::int_<1> {};
-struct iplus : std::plus<int>, function_transform {};
+struct iplus : std::plus<int>, transform_base {};
// Here is a transform that does the same thing as the above context.
// It demonstrates the use of the std::plus<> function object
Modified: branches/proto/v3/libs/xpressive/proto/test/examples.cpp
==============================================================================
--- branches/proto/v3/libs/xpressive/proto/test/examples.cpp (original)
+++ branches/proto/v3/libs/xpressive/proto/test/examples.cpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -61,10 +61,10 @@
// child expression.
struct unary_arity
/*<< Custom transforms should inherit from
- raw_transform. In some cases, (e.g., when the transform
+ transform_base. In some cases, (e.g., when the transform
is a template), it is also necessary to specialize
- the proto::transform_category<> trait. >>*/
- : raw_transform
+ the proto::is_transform<> trait. >>*/
+ : transform_base
{
template<typename Sig>
struct result;
@@ -100,7 +100,7 @@
transform_base. In some cases, (e.g., when the transform
is a template), it is also necessary to specialize
the proto::is_transform<> trait. >>*/
- : raw_transform
+ : transform_base
{
template<typename Sig>
struct result;
Modified: branches/proto/v3/libs/xpressive/proto/test/main.cpp
==============================================================================
--- branches/proto/v3/libs/xpressive/proto/test/main.cpp (original)
+++ branches/proto/v3/libs/xpressive/proto/test/main.cpp 2007-12-02 19:30:57 EST (Sun, 02 Dec 2007)
@@ -47,7 +47,7 @@
struct pair
{};
-struct make_negate : function_transform
+struct make_negate : transform_base
{
template<typename Sig> struct result;
@@ -65,7 +65,7 @@
}
};
-//struct make_cons : function_transform
+//struct make_cons : transform_base
//{
// template<typename Sig> struct result;
//
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