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

Reply via email to