Update of /cvsroot/boost/boost/boost/xpressive/proto/context
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7821/context
Modified Files:
callable.hpp default.hpp null.hpp
Log Message:
get more stuff out of the proto namespace
Index: callable.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/context/callable.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- callable.hpp 1 Jul 2007 07:43:05 -0000 1.3
+++ callable.hpp 6 Jul 2007 08:54:43 -0000 1.4
@@ -52,8 +52,31 @@
struct is_expr_handled;
}
- template<typename Expr, typename Context, long Arity =
Expr::proto_arity::value>
- struct callable_eval;
+ namespace context
+ {
+ /// callable_eval
+ ///
+ template<typename Expr, typename Context, long Arity>
+ struct callable_eval
+ {};
+
+ /// callable_context
+ ///
+ template<typename Context, typename DefaultCtx>
+ struct callable_context
+ {
+ /// callable_context::eval
+ ///
+ template<typename Expr, typename ThisContext = Context>
+ struct eval
+ : mpl::if_<
+ detail::is_expr_handled<Expr, Context>
+ , callable_eval<Expr, ThisContext>
+ , typename DefaultCtx::template eval<Expr, Context>
+ >::type
+ {};
+ };
+ }
#define BOOST_PROTO_ARG_N_TYPE(Z, N, Expr)
\
typename proto::result_of::arg_c<Expr, N>::const_reference
\
@@ -72,23 +95,6 @@
#undef BOOST_PROTO_ARG_N_TYPE
#undef BOOST_PROTO_ARG_N
- /// callable_context
- ///
- template<typename Context, typename DefaultCtx>
- struct callable_context
- {
- /// callable_context::eval
- ///
- template<typename Expr, typename ThisContext = Context>
- struct eval
- : mpl::if_<
- detail::is_expr_handled<Expr, Context>
- , callable_eval<Expr, ThisContext>
- , typename DefaultCtx::template eval<Expr, Context>
- >::type
- {};
- };
-
}}
#endif
@@ -133,26 +139,29 @@
};
}
- template<typename Expr, typename Context>
- struct callable_eval<Expr, Context, N>
+ namespace context
{
- typedef
- typename boost::result_of<
- Context(
- typename Expr::proto_tag
- BOOST_PP_ENUM_TRAILING(ARG_COUNT,
BOOST_PROTO_ARG_N_TYPE, Expr)
- )
- >::type
- result_type;
-
- result_type operator ()(Expr &expr, Context &context) const
+ template<typename Expr, typename Context>
+ struct callable_eval<Expr, Context, N>
{
- return context(
- typename Expr::proto_tag()
- BOOST_PP_ENUM_TRAILING(ARG_COUNT, BOOST_PROTO_ARG_N, expr)
- );
- }
- };
+ typedef
+ typename boost::result_of<
+ Context(
+ typename Expr::proto_tag
+ BOOST_PP_ENUM_TRAILING(ARG_COUNT,
BOOST_PROTO_ARG_N_TYPE, Expr)
+ )
+ >::type
+ result_type;
+
+ result_type operator ()(Expr &expr, Context &context) const
+ {
+ return context(
+ typename Expr::proto_tag()
+ BOOST_PP_ENUM_TRAILING(ARG_COUNT, BOOST_PROTO_ARG_N,
expr)
+ );
+ }
+ };
+ }
#undef N
#undef ARG_COUNT
Index: default.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/context/default.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- default.hpp 1 Jul 2007 07:43:05 -0000 1.2
+++ default.hpp 6 Jul 2007 08:54:43 -0000 1.3
@@ -62,10 +62,6 @@
namespace boost { namespace proto
{
- template<typename Expr, typename Context, typename Tag = typename
Expr::proto_tag, long Arity = Expr::proto_arity::value>
- struct default_eval
- {};
-
namespace detail
{
template<typename T> T make();
@@ -140,208 +136,216 @@
#endif
}
- /// INTERNAL ONLY
- ///
- #define BOOST_PROTO_UNARY_OP_RESULT(Op, Tag)\
- template<typename Expr, typename Context>\
- struct default_eval<Expr, Context, Tag, 1>\
- {\
- private:\
- static Expr &sexpr;\
- static Context &sctx;\
- public:\
- BOOST_PROTO_DECLTYPE_(Op
proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)), sctx), result_type)\
- result_type operator()(Expr &expr, Context &ctx) const\
- {\
- return Op proto::eval(proto::arg_c<0>(expr), ctx);\
- }\
- };\
- /**/
+ namespace context
+ {
+ template<typename Expr, typename Context, typename Tag, long Arity>
+ struct default_eval
+ {};
- /// INTERNAL ONLY
- ///
- #define BOOST_PROTO_BINARY_OP_RESULT(Op, Tag)\
- template<typename Expr, typename Context>\
- struct default_eval<Expr, Context, Tag, 2>\
- {\
- private:\
- static Expr &sexpr;\
- static Context &sctx;\
- public:\
-
BOOST_PROTO_DECLTYPE_(proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)),
sctx) Op proto::eval(BOOST_PROTO_REF(proto::arg_c<1>(sexpr)), sctx),
result_type)\
- result_type operator()(Expr &expr, Context &ctx) const\
- {\
- return proto::eval(proto::arg_c<0>(expr), ctx) Op
proto::eval(proto::arg_c<1>(expr), ctx);\
- }\
- };\
- /**/
+ /// INTERNAL ONLY
+ ///
+ #define BOOST_PROTO_UNARY_OP_RESULT(Op, Tag)
\
+ template<typename Expr, typename Context>
\
+ struct default_eval<Expr, Context, Tag, 1>
\
+ {
\
+ private:
\
+ static Expr &sexpr;
\
+ static Context &sctx;
\
+ public:
\
+ BOOST_PROTO_DECLTYPE_(Op
proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)), sctx), result_type)\
+ result_type operator()(Expr &expr, Context &ctx) const
\
+ {
\
+ return Op proto::eval(proto::arg_c<0>(expr), ctx);
\
+ }
\
+ };
\
+ /**/
- BOOST_PROTO_UNARY_OP_RESULT(+, proto::tag::posit)
- BOOST_PROTO_UNARY_OP_RESULT(-, proto::tag::negate)
- BOOST_PROTO_UNARY_OP_RESULT(*, proto::tag::dereference)
- BOOST_PROTO_UNARY_OP_RESULT(~, proto::tag::complement)
- BOOST_PROTO_UNARY_OP_RESULT(&, proto::tag::address_of)
- BOOST_PROTO_UNARY_OP_RESULT(!, proto::tag::logical_not)
- BOOST_PROTO_UNARY_OP_RESULT(++, proto::tag::pre_inc)
- BOOST_PROTO_UNARY_OP_RESULT(--, proto::tag::pre_dec)
+ /// INTERNAL ONLY
+ ///
+ #define BOOST_PROTO_BINARY_OP_RESULT(Op, Tag)
\
+ template<typename Expr, typename Context>
\
+ struct default_eval<Expr, Context, Tag, 2>
\
+ {
\
+ private:
\
+ static Expr &sexpr;
\
+ static Context &sctx;
\
+ public:
\
+
BOOST_PROTO_DECLTYPE_(proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)),
sctx) Op proto::eval(BOOST_PROTO_REF(proto::arg_c<1>(sexpr)), sctx),
result_type)\
+ result_type operator()(Expr &expr, Context &ctx) const
\
+ {
\
+ return proto::eval(proto::arg_c<0>(expr), ctx) Op
proto::eval(proto::arg_c<1>(expr), ctx);\
+ }
\
+ };
\
+ /**/
- BOOST_PROTO_BINARY_OP_RESULT(<<, proto::tag::shift_left)
- BOOST_PROTO_BINARY_OP_RESULT(>>, proto::tag::shift_right)
- BOOST_PROTO_BINARY_OP_RESULT(*, proto::tag::multiplies)
- BOOST_PROTO_BINARY_OP_RESULT(/, proto::tag::divides)
- BOOST_PROTO_BINARY_OP_RESULT(%, proto::tag::modulus)
- BOOST_PROTO_BINARY_OP_RESULT(+, proto::tag::plus)
- BOOST_PROTO_BINARY_OP_RESULT(-, proto::tag::minus)
- BOOST_PROTO_BINARY_OP_RESULT(<, proto::tag::less)
- BOOST_PROTO_BINARY_OP_RESULT(>, proto::tag::greater)
- BOOST_PROTO_BINARY_OP_RESULT(<=, proto::tag::less_equal)
- BOOST_PROTO_BINARY_OP_RESULT(>=, proto::tag::greater_equal)
- BOOST_PROTO_BINARY_OP_RESULT(==, proto::tag::equal_to)
- BOOST_PROTO_BINARY_OP_RESULT(!=, proto::tag::not_equal_to)
- BOOST_PROTO_BINARY_OP_RESULT(||, proto::tag::logical_or)
- BOOST_PROTO_BINARY_OP_RESULT(&&, proto::tag::logical_and)
- BOOST_PROTO_BINARY_OP_RESULT(&, proto::tag::bitwise_and)
- BOOST_PROTO_BINARY_OP_RESULT(|, proto::tag::bitwise_or)
- BOOST_PROTO_BINARY_OP_RESULT(^, proto::tag::bitwise_xor)
- BOOST_PROTO_BINARY_OP_RESULT(->*, proto::tag::mem_ptr)
+ BOOST_PROTO_UNARY_OP_RESULT(+, proto::tag::posit)
+ BOOST_PROTO_UNARY_OP_RESULT(-, proto::tag::negate)
+ BOOST_PROTO_UNARY_OP_RESULT(*, proto::tag::dereference)
+ BOOST_PROTO_UNARY_OP_RESULT(~, proto::tag::complement)
+ BOOST_PROTO_UNARY_OP_RESULT(&, proto::tag::address_of)
+ BOOST_PROTO_UNARY_OP_RESULT(!, proto::tag::logical_not)
+ BOOST_PROTO_UNARY_OP_RESULT(++, proto::tag::pre_inc)
+ BOOST_PROTO_UNARY_OP_RESULT(--, proto::tag::pre_dec)
- BOOST_PROTO_BINARY_OP_RESULT(=, proto::tag::assign)
- BOOST_PROTO_BINARY_OP_RESULT(<<=, proto::tag::shift_left_assign)
- BOOST_PROTO_BINARY_OP_RESULT(>>=, proto::tag::shift_right_assign)
- BOOST_PROTO_BINARY_OP_RESULT(*=, proto::tag::multilpies_assign)
- BOOST_PROTO_BINARY_OP_RESULT(/=, proto::tag::divides_assign)
- BOOST_PROTO_BINARY_OP_RESULT(%=, proto::tag::modulus_assign)
- BOOST_PROTO_BINARY_OP_RESULT(+=, proto::tag::plus_assign)
- BOOST_PROTO_BINARY_OP_RESULT(-=, proto::tag::minus_assign)
- BOOST_PROTO_BINARY_OP_RESULT(&=, proto::tag::bitwise_and_assign)
- BOOST_PROTO_BINARY_OP_RESULT(|=, proto::tag::bitwise_or_assign)
- BOOST_PROTO_BINARY_OP_RESULT(^=, proto::tag::bitwise_xor_assign)
+ BOOST_PROTO_BINARY_OP_RESULT(<<, proto::tag::shift_left)
+ BOOST_PROTO_BINARY_OP_RESULT(>>, proto::tag::shift_right)
+ BOOST_PROTO_BINARY_OP_RESULT(*, proto::tag::multiplies)
+ BOOST_PROTO_BINARY_OP_RESULT(/, proto::tag::divides)
+ BOOST_PROTO_BINARY_OP_RESULT(%, proto::tag::modulus)
+ BOOST_PROTO_BINARY_OP_RESULT(+, proto::tag::plus)
+ BOOST_PROTO_BINARY_OP_RESULT(-, proto::tag::minus)
+ BOOST_PROTO_BINARY_OP_RESULT(<, proto::tag::less)
+ BOOST_PROTO_BINARY_OP_RESULT(>, proto::tag::greater)
+ BOOST_PROTO_BINARY_OP_RESULT(<=, proto::tag::less_equal)
+ BOOST_PROTO_BINARY_OP_RESULT(>=, proto::tag::greater_equal)
+ BOOST_PROTO_BINARY_OP_RESULT(==, proto::tag::equal_to)
+ BOOST_PROTO_BINARY_OP_RESULT(!=, proto::tag::not_equal_to)
+ BOOST_PROTO_BINARY_OP_RESULT(||, proto::tag::logical_or)
+ BOOST_PROTO_BINARY_OP_RESULT(&&, proto::tag::logical_and)
+ BOOST_PROTO_BINARY_OP_RESULT(&, proto::tag::bitwise_and)
+ BOOST_PROTO_BINARY_OP_RESULT(|, proto::tag::bitwise_or)
+ BOOST_PROTO_BINARY_OP_RESULT(^, proto::tag::bitwise_xor)
+ BOOST_PROTO_BINARY_OP_RESULT(->*, proto::tag::mem_ptr)
- template<typename Expr, typename Context>
- struct default_eval<Expr, Context, proto::tag::terminal, 0>
- {
- typedef
- typename mpl::if_<
- is_const<Expr>
- , typename proto::result_of::arg<Expr>::const_reference
- , typename proto::result_of::arg<Expr>::reference
- >::type
- result_type;
+ BOOST_PROTO_BINARY_OP_RESULT(=, proto::tag::assign)
+ BOOST_PROTO_BINARY_OP_RESULT(<<=, proto::tag::shift_left_assign)
+ BOOST_PROTO_BINARY_OP_RESULT(>>=, proto::tag::shift_right_assign)
+ BOOST_PROTO_BINARY_OP_RESULT(*=, proto::tag::multilpies_assign)
+ BOOST_PROTO_BINARY_OP_RESULT(/=, proto::tag::divides_assign)
+ BOOST_PROTO_BINARY_OP_RESULT(%=, proto::tag::modulus_assign)
+ BOOST_PROTO_BINARY_OP_RESULT(+=, proto::tag::plus_assign)
+ BOOST_PROTO_BINARY_OP_RESULT(-=, proto::tag::minus_assign)
+ BOOST_PROTO_BINARY_OP_RESULT(&=, proto::tag::bitwise_and_assign)
+ BOOST_PROTO_BINARY_OP_RESULT(|=, proto::tag::bitwise_or_assign)
+ BOOST_PROTO_BINARY_OP_RESULT(^=, proto::tag::bitwise_xor_assign)
- result_type operator()(Expr &expr, Context &) const
+ template<typename Expr, typename Context>
+ struct default_eval<Expr, Context, proto::tag::terminal, 0>
{
- return proto::arg(expr);
- }
- };
+ typedef
+ typename mpl::if_<
+ is_const<Expr>
+ , typename proto::result_of::arg<Expr>::const_reference
+ , typename proto::result_of::arg<Expr>::reference
+ >::type
+ result_type;
- // Handle post-increment specially.
- template<typename Expr, typename Context>
- struct default_eval<Expr, Context, proto::tag::post_inc, 1>
- {
- private:
- static Expr &sexpr;
- static Context &sctx;
- public:
-
BOOST_PROTO_DECLTYPE_(proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)),
sctx) ++, result_type)
- result_type operator()(Expr &expr, Context &ctx) const
+ result_type operator()(Expr &expr, Context &) const
+ {
+ return proto::arg(expr);
+ }
+ };
+
+ // Handle post-increment specially.
+ template<typename Expr, typename Context>
+ struct default_eval<Expr, Context, proto::tag::post_inc, 1>
{
- return proto::eval(proto::arg_c<0>(expr), ctx) ++;
- }
- };
+ private:
+ static Expr &sexpr;
+ static Context &sctx;
+ public:
+
BOOST_PROTO_DECLTYPE_(proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)),
sctx) ++, result_type)
+ result_type operator()(Expr &expr, Context &ctx) const
+ {
+ return proto::eval(proto::arg_c<0>(expr), ctx) ++;
+ }
+ };
- // Handle post-decrement specially.
- template<typename Expr, typename Context>
- struct default_eval<Expr, Context, proto::tag::post_dec, 1>
- {
- private:
- static Expr &sexpr;
- static Context &sctx;
- public:
-
BOOST_PROTO_DECLTYPE_(proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)),
sctx) --, result_type)
- result_type operator()(Expr &expr, Context &ctx) const
+ // Handle post-decrement specially.
+ template<typename Expr, typename Context>
+ struct default_eval<Expr, Context, proto::tag::post_dec, 1>
{
- return proto::eval(proto::arg_c<0>(expr), ctx) --;
- }
- };
+ private:
+ static Expr &sexpr;
+ static Context &sctx;
+ public:
+
BOOST_PROTO_DECLTYPE_(proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)),
sctx) --, result_type)
+ result_type operator()(Expr &expr, Context &ctx) const
+ {
+ return proto::eval(proto::arg_c<0>(expr), ctx) --;
+ }
+ };
- // Handle subscript specially.
- template<typename Expr, typename Context>
- struct default_eval<Expr, Context, proto::tag::subscript, 2>
- {
- private:
- static Expr &sexpr;
- static Context &sctx;
- public:
-
BOOST_PROTO_DECLTYPE_(proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)),
sctx)[proto::eval(BOOST_PROTO_REF(proto::arg_c<1>(sexpr)), sctx)], result_type)
- result_type operator()(Expr &expr, Context &ctx) const
+ // Handle subscript specially.
+ template<typename Expr, typename Context>
+ struct default_eval<Expr, Context, proto::tag::subscript, 2>
{
- return proto::eval(proto::arg_c<0>(expr),
ctx)[proto::eval(proto::arg_c<1>(expr), ctx)];
- }
- };
+ private:
+ static Expr &sexpr;
+ static Context &sctx;
+ public:
+
BOOST_PROTO_DECLTYPE_(proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)),
sctx)[proto::eval(BOOST_PROTO_REF(proto::arg_c<1>(sexpr)), sctx)], result_type)
+ result_type operator()(Expr &expr, Context &ctx) const
+ {
+ return proto::eval(proto::arg_c<0>(expr),
ctx)[proto::eval(proto::arg_c<1>(expr), ctx)];
+ }
+ };
- // Handle if_else_ specially.
- template<typename Expr, typename Context>
- struct default_eval<Expr, Context, proto::tag::if_else_, 3>
- {
- private:
- static Expr &sexpr;
- static Context &sctx;
- public:
- BOOST_PROTO_DECLTYPE_(
- proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)), sctx)
- ? proto::eval(BOOST_PROTO_REF(proto::arg_c<1>(sexpr)), sctx)
- : proto::eval(BOOST_PROTO_REF(proto::arg_c<2>(sexpr)), sctx)
- , result_type
- )
- result_type operator()(Expr &expr, Context &ctx) const
+ // Handle if_else_ specially.
+ template<typename Expr, typename Context>
+ struct default_eval<Expr, Context, proto::tag::if_else_, 3>
{
- return proto::eval(proto::arg_c<0>(expr), ctx)
- ? proto::eval(proto::arg_c<1>(expr), ctx)
- : proto::eval(proto::arg_c<2>(expr), ctx);
- }
- };
+ private:
+ static Expr &sexpr;
+ static Context &sctx;
+ public:
+ BOOST_PROTO_DECLTYPE_(
+ proto::eval(BOOST_PROTO_REF(proto::arg_c<0>(sexpr)), sctx)
+ ? proto::eval(BOOST_PROTO_REF(proto::arg_c<1>(sexpr)), sctx)
+ : proto::eval(BOOST_PROTO_REF(proto::arg_c<2>(sexpr)), sctx)
+ , result_type
+ )
+ result_type operator()(Expr &expr, Context &ctx) const
+ {
+ return proto::eval(proto::arg_c<0>(expr), ctx)
+ ? proto::eval(proto::arg_c<1>(expr), ctx)
+ : proto::eval(proto::arg_c<2>(expr), ctx);
+ }
+ };
- // Handle comma specially.
- template<typename Expr, typename Context>
- struct default_eval<Expr, Context, proto::tag::comma, 2>
- {
- typedef typename proto::result_of::eval<typename
proto::result_of::arg_c<Expr, 0>::type, Context>::type proto_arg0;
- typedef typename proto::result_of::eval<typename
proto::result_of::arg_c<Expr, 1>::type, Context>::type proto_arg1;
- typedef typename detail::comma_result<proto_arg0,
proto_arg1>::type result_type;
- result_type operator()(Expr &expr, Context &ctx) const
+ // Handle comma specially.
+ template<typename Expr, typename Context>
+ struct default_eval<Expr, Context, proto::tag::comma, 2>
{
- return proto::eval(proto::arg_c<0>(expr), ctx),
proto::eval(proto::arg_c<1>(expr), ctx);
- }
- };
+ typedef typename proto::result_of::eval<typename
proto::result_of::arg_c<Expr, 0>::type, Context>::type proto_arg0;
+ typedef typename proto::result_of::eval<typename
proto::result_of::arg_c<Expr, 1>::type, Context>::type proto_arg1;
+ typedef typename detail::comma_result<proto_arg0,
proto_arg1>::type result_type;
+ result_type operator()(Expr &expr, Context &ctx) const
+ {
+ return proto::eval(proto::arg_c<0>(expr), ctx),
proto::eval(proto::arg_c<1>(expr), ctx);
+ }
+ };
- #define BOOST_PROTO_EVAL_N_TYPE(Z, N, Data)\
- typename proto::result_of::eval<\
- typename proto::result_of::arg_c<BOOST_PP_TUPLE_ELEM(2, 0, Data),
N>::type\
- , BOOST_PP_TUPLE_ELEM(2, 1, Data)\
- >::type
+ #define BOOST_PROTO_EVAL_N_TYPE(Z, N, Data)\
+ typename proto::result_of::eval<\
+ typename proto::result_of::arg_c<BOOST_PP_TUPLE_ELEM(2, 0,
Data), N>::type\
+ , BOOST_PP_TUPLE_ELEM(2, 1, Data)\
+ >::type
- #define BOOST_PROTO_EVAL_N(Z, N, Data)\
- proto::eval(proto::arg_c<N>(BOOST_PP_TUPLE_ELEM(2, 0, Data)),
BOOST_PP_TUPLE_ELEM(2, 1, Data))
+ #define BOOST_PROTO_EVAL_N(Z, N, Data)\
+ proto::eval(proto::arg_c<N>(BOOST_PP_TUPLE_ELEM(2, 0, Data)),
BOOST_PP_TUPLE_ELEM(2, 1, Data))
- #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, BOOST_PROTO_MAX_ARITY,
<boost/xpressive/proto/context/default.hpp>))
- #include BOOST_PP_ITERATE()
+ #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, BOOST_PROTO_MAX_ARITY,
<boost/xpressive/proto/context/default.hpp>))
+ #include BOOST_PP_ITERATE()
- #undef BOOST_PROTO_EVAL_N_TYPE
- #undef BOOST_PROTO_EVAL_N
+ #undef BOOST_PROTO_EVAL_N_TYPE
+ #undef BOOST_PROTO_EVAL_N
- /// default_context
- ///
- struct default_context
- {
- /// default_context::eval
+ /// default_context
///
- template<typename Expr, typename ThisContext = default_context
const>
- struct eval
- : default_eval<Expr, ThisContext>
- {};
- };
+ struct default_context
+ {
+ /// default_context::eval
+ ///
+ template<typename Expr, typename ThisContext = default_context
const>
+ struct eval
+ : default_eval<Expr, ThisContext>
+ {};
+ };
- }}
+ } // namespace context
+
+ }} // namespace boost::proto
#undef BOOST_PROTO_DECLTYPE_NESTED_TYPEDEF_TPL_
#undef BOOST_PROTO_DECLTYPE_
Index: null.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/context/null.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- null.hpp 1 Jul 2007 07:43:05 -0000 1.2
+++ null.hpp 6 Jul 2007 08:54:43 -0000 1.3
@@ -20,10 +20,10 @@
#include <boost/xpressive/proto/traits.hpp>
#include <boost/xpressive/proto/detail/suffix.hpp> // must be last include
- namespace boost { namespace proto
+ namespace boost { namespace proto { namespace context
{
- template<typename Expr, typename Context, long Arity =
Expr::proto_arity::value>
+ template<typename Expr, typename Context, long Arity>
struct null_eval
{};
@@ -59,7 +59,7 @@
{};
};
- }}
+ }}}
#endif
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs