Boost logo

Boost-Commit :

From: eric_at_[hidden]
Date: 2008-05-23 13:45:32


Author: eric_niebler
Date: 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
New Revision: 45687
URL: http://svn.boost.org/trac/boost/changeset/45687

Log:
partially working let() and local_variable<> implementations
Added:
   branches/proto/v4/boost/phoenix/scope/
   branches/proto/v4/boost/phoenix/scope.hpp (contents, props changed)
   branches/proto/v4/boost/phoenix/scope/let.hpp (contents, props changed)
   branches/proto/v4/boost/phoenix/scope/local_variable.hpp (contents, props changed)
Text files modified:
   branches/proto/v4/boost/phoenix/bind/bind.hpp | 2
   branches/proto/v4/boost/phoenix/core/actor.hpp | 6 ++-
   branches/proto/v4/boost/phoenix/object/const_cast.hpp | 2
   branches/proto/v4/boost/phoenix/object/construct.hpp | 2
   branches/proto/v4/boost/phoenix/object/dynamic_cast.hpp | 2
   branches/proto/v4/boost/phoenix/object/new.hpp | 2
   branches/proto/v4/boost/phoenix/object/reinterpret_cast.hpp | 2
   branches/proto/v4/boost/phoenix/object/static_cast.hpp | 2
   branches/proto/v4/boost/phoenix/statement/switch.hpp | 12 +++---
   branches/proto/v4/libs/phoenix/test/Jamfile.v2 | 78 ++++++++++++++++++++--------------------
   branches/proto/v4/libs/phoenix/test/bind/bind_function_object_tests.cpp | 8 ++--
   branches/proto/v4/libs/phoenix/test/function/function_tests.cpp | 12 +++---
   12 files changed, 66 insertions(+), 64 deletions(-)

Modified: branches/proto/v4/boost/phoenix/bind/bind.hpp
==============================================================================
--- branches/proto/v4/boost/phoenix/bind/bind.hpp (original)
+++ branches/proto/v4/boost/phoenix/bind/bind.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -102,7 +102,7 @@
>::type const
         bind(
             Fun const &fun
- , A0 const &a0
+ , A0 const &a0
             BOOST_PP_COMMA_IF(BOOST_PP_DEC(N))
             BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS(N, A, const &a)
         )

Modified: branches/proto/v4/boost/phoenix/core/actor.hpp
==============================================================================
--- branches/proto/v4/boost/phoenix/core/actor.hpp (original)
+++ branches/proto/v4/boost/phoenix/core/actor.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -177,6 +177,8 @@
               : proto::domain<generator>
             {};
 
+ typedef mpl::void_ const &initial_state_type;
+
             ////////////////////////////////////////////////////////////////////////////////////////
             template<typename Sig>
             struct result;
@@ -185,7 +187,7 @@
             struct result<This()>
               : mpl::if_c<
                     result_of<is_nullary(This &)>::type::value
- , result_of<evaluator(This &, mpl::void_ const &, fusion::vector0 &)>
+ , result_of<evaluator(This &, initial_state_type, fusion::vector0 &)>
                   , mpl::identity<void>
>::type
             {};
@@ -196,7 +198,7 @@
               : result_of< \
                     evaluator( \
                         This & \
- , mpl::void_ const & \
+ , initial_state_type \
                       , BOOST_PP_CAT(fusion::vector, N)<BOOST_PP_ENUM_PARAMS_Z(Z, N, A)> & \
                     ) \
> \

Modified: branches/proto/v4/boost/phoenix/object/const_cast.hpp
==============================================================================
--- branches/proto/v4/boost/phoenix/object/const_cast.hpp (original)
+++ branches/proto/v4/boost/phoenix/object/const_cast.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -20,7 +20,7 @@
         struct const_cast_
         {
             typedef T result_type;
-
+
             template<typename U>
             T operator()(U &u) const
             {

Modified: branches/proto/v4/boost/phoenix/object/construct.hpp
==============================================================================
--- branches/proto/v4/boost/phoenix/object/construct.hpp (original)
+++ branches/proto/v4/boost/phoenix/object/construct.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -21,7 +21,7 @@
             struct construct
             {
                 typedef T result_type;
-
+
                 T operator()() const
                 {
                     return T();

Modified: branches/proto/v4/boost/phoenix/object/dynamic_cast.hpp
==============================================================================
--- branches/proto/v4/boost/phoenix/object/dynamic_cast.hpp (original)
+++ branches/proto/v4/boost/phoenix/object/dynamic_cast.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -20,7 +20,7 @@
         struct dynamic_cast_
         {
             typedef T result_type;
-
+
             template<typename U>
             T operator()(U &u) const
             {

Modified: branches/proto/v4/boost/phoenix/object/new.hpp
==============================================================================
--- branches/proto/v4/boost/phoenix/object/new.hpp (original)
+++ branches/proto/v4/boost/phoenix/object/new.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -21,7 +21,7 @@
             struct new_
             {
                 typedef T *result_type;
-
+
                 T *operator()() const
                 {
                     return new T;

Modified: branches/proto/v4/boost/phoenix/object/reinterpret_cast.hpp
==============================================================================
--- branches/proto/v4/boost/phoenix/object/reinterpret_cast.hpp (original)
+++ branches/proto/v4/boost/phoenix/object/reinterpret_cast.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -20,7 +20,7 @@
         struct reinterpret_cast_
         {
             typedef T result_type;
-
+
             template<typename U>
             T operator()(U &u) const
             {

Modified: branches/proto/v4/boost/phoenix/object/static_cast.hpp
==============================================================================
--- branches/proto/v4/boost/phoenix/object/static_cast.hpp (original)
+++ branches/proto/v4/boost/phoenix/object/static_cast.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -20,7 +20,7 @@
         struct static_cast_
         {
             typedef T result_type;
-
+
             template<typename U>
             T operator()(U &u) const
             {

Added: branches/proto/v4/boost/phoenix/scope.hpp
==============================================================================
--- (empty file)
+++ branches/proto/v4/boost/phoenix/scope.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -0,0 +1,16 @@
+/*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+ Copyright (c) 2008 Eric Niebler
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#ifndef BOOST_PHOENIX_SCOPE_HPP_EAN_2008_05_23
+#define BOOST_PHOENIX_SCOPE_HPP_EAN_2008_05_23
+
+#include <boost//phoenix/version.hpp>
+//#include <boost/phoenix/scope/lambda.hpp>
+#include <boost/phoenix/scope/let.hpp>
+#include <boost/phoenix/scope/local_variable.hpp>
+
+#endif

Added: branches/proto/v4/boost/phoenix/scope/let.hpp
==============================================================================
--- (empty file)
+++ branches/proto/v4/boost/phoenix/scope/let.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -0,0 +1,170 @@
+#ifndef BOOST_PP_IS_ITERATING
+ /*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+ Copyright (c) 2008 Eric Niebler
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ ==============================================================================*/
+ #ifndef BOOST_PHOENIX_SCOPE_LET_HPP_EAN_2008_05_21
+ #define BOOST_PHOENIX_SCOPE_LET_HPP_EAN_2008_05_21
+
+ #include <boost/preprocessor.hpp>
+ #include <boost/fusion/include/map.hpp>
+ #include <boost/fusion/include/fold.hpp>
+ #include <boost/phoenix/scope/local_variable.hpp>
+
+ namespace boost { namespace phoenix
+ {
+ namespace tag
+ {
+ struct let_ {};
+ }
+
+ namespace detail
+ {
+ ////////////////////////////////////////////////////////////////////////////////////////
+ template<typename Map>
+ struct let_generator
+ {
+ typedef typename proto::terminal<Map>::type map_type;
+
+ explicit let_generator(Map const &map)
+ : map(map_type::make(map))
+ {}
+
+ template<typename Body>
+ typename proto::result_of::make_expr<
+ tag::let_
+ , domain
+ , map_type const &
+ , Body const &
+ >::type const
+ operator [](Body const &body) const
+ {
+ return proto::implicit_expr(this->map, body);
+ }
+
+ private:
+ typename proto::terminal<Map>::type map;
+ };
+
+ ////////////////////////////////////////////////////////////////////////////////////////
+ template<typename Map, typename State>
+ struct scope
+ {
+ scope(Map const &map, State const &state)
+ : map(map)
+ , state(state)
+ {}
+
+ typedef Map const map_type;
+ typedef State const state_type;
+
+ Map const &map; // local variables map
+ State const &state; // outer state
+ };
+
+ ////////////////////////////////////////////////////////////////////////////////////////
+ struct is_let_init_nullary
+ {
+ template<typename Sig>
+ struct result;
+
+ template<typename This, typename Elem, typename State>
+ struct result<This(Elem &, State &)>
+ : mpl::and_<
+ State
+ , typename result_of<is_nullary(typename fusion::result_of::second<Elem>::type)>::type
+ >
+ {};
+ };
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ // Evaluate a let() expression by evaluating the body with a state that contains
+ // a map of the local variables and a reference to the enclosing scope.
+ template<>
+ struct extension<tag::let_, void>
+ : proto::when<
+ proto::binary_expr<tag::let_, proto::terminal<proto::_>, evaluator>
+ , evaluator(
+ proto::_right
+ , proto::make<
+ detail::scope<proto::_value(proto::_left), proto::_state>(
+ proto::_value(proto::_left)
+ , proto::_state
+ )
+ >
+ , proto::_data
+ )
+ >
+ {};
+
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ // BUGBUG this isn't quite right. It gets the answer wrong for
+ // let(_a = 1)[ _a += arg1 ]
+ template<>
+ struct is_nullary_cases::case_<tag::let_>
+ : proto::otherwise<
+ fusion::result_of::fold<
+ proto::_value(proto::_left)
+ , mpl::true_()
+ , detail::is_let_init_nullary()
+ >()
+ >
+ {};
+
+ #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, PHOENIX_LIMIT, <boost/phoenix/scope/let.hpp>))
+ #include BOOST_PP_ITERATE()
+
+ }}
+
+ #endif
+
+#else
+
+ #define N BOOST_PP_ITERATION()
+
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ #define M0(Z, N, DATA) \
+ actor< \
+ proto::expr< \
+ proto::tag::assign \
+ , proto::list2< \
+ actor<local_variable<BOOST_PP_CAT(T, N)> > const & \
+ , BOOST_PP_CAT(A, N) \
+ > \
+ > \
+ > const & BOOST_PP_CAT(a, N) \
+ /**/
+
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ #define M1(Z, N, DATA) \
+ fusion::pair<BOOST_PP_CAT(T, N), BOOST_PP_CAT(A, N)> \
+ /**/
+
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ #define M2(Z, N, DATA) \
+ fusion::make_pair<BOOST_PP_CAT(T, N)>(BOOST_PP_CAT(a, N).proto_base().child1) \
+ /**/
+
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ template<
+ BOOST_PP_ENUM_PARAMS(N, typename T)
+ BOOST_PP_ENUM_TRAILING_PARAMS(N, typename A)
+ >
+ detail::let_generator<fusion::map<BOOST_PP_ENUM(N, M1, ~)> > const
+ let(BOOST_PP_ENUM(N, M0, ~))
+ {
+ typedef fusion::map<BOOST_PP_ENUM(N, M1, ~)> map_type;
+ return detail::let_generator<map_type>(map_type(BOOST_PP_ENUM(N, M2, ~)));
+ }
+
+ #undef M0
+ #undef M1
+ #undef M2
+
+ #undef N
+
+#endif

Added: branches/proto/v4/boost/phoenix/scope/local_variable.hpp
==============================================================================
--- (empty file)
+++ branches/proto/v4/boost/phoenix/scope/local_variable.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -0,0 +1,149 @@
+/*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+ Copyright (c) 2008 Eric Niebler
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#ifndef BOOST_PHOENIX_SCOPE_LOCAL_VARIABLE_HPP_EAN_2008_05_21
+#define BOOST_PHOENIX_SCOPE_LOCAL_VARIABLE_HPP_EAN_2008_05_21
+
+#include <boost/phoenix/core/actor.hpp>
+#include <boost/fusion/include/map.hpp>
+
+namespace boost { namespace phoenix
+{
+
+ namespace detail
+ {
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ template<typename Tag>
+ struct local_variable
+ {
+ typedef Tag tag_type;
+ };
+
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ // Find a variable in the immediately enclosing scope
+ template<
+ typename Tag
+ , typename State
+ , typename Map = typename State::map_type
+ , typename Elem = typename fusion::result_of::at_key<Map, Tag>::type
+ >
+ struct lookup
+ {
+ typedef Elem result_type;
+
+ result_type operator()(State &state) const
+ {
+ return fusion::at_key<Tag>(state.map);
+ }
+ };
+
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ // Find a variable in an outer scope
+ template<typename Tag, typename State, typename Map>
+ struct lookup<Tag, State, Map, fusion::void_ const &>
+ {
+ typedef typename State::state_type that_state;
+ typedef typename lookup<Tag, that_state>::result_type result_type;
+
+ result_type operator()(State &state) const
+ {
+ return lookup<Tag, that_state>()(state.state);
+ }
+ };
+
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ template<typename Tag, typename Callable = proto::callable>
+ struct local_variable_evaluator
+ : proto::transform<local_variable_evaluator<Tag> >
+ {
+ template<typename Expr, typename State, typename Data>
+ struct impl
+ : proto::transform_impl<Expr, State, Data>
+ {
+ typedef typename impl::state this_state;
+ typedef typename state::state_type that_state;
+
+ typedef
+ typename lookup<Tag, this_state>::result_type
+ local_var_init;
+
+ typedef
+ typename result_of<evaluator(local_var_init, that_state &, Data)>::type
+ result_type;
+
+ result_type operator()(
+ typename impl::expr_param expr
+ , typename impl::state_param state
+ , typename impl::data_param data
+ ) const
+ {
+ return evaluator()(lookup<Tag, this_state>()(state), state.state, data);
+ }
+ };
+ };
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////
+ template<typename Tag, typename _ = proto::is_proto_expr>
+ struct local_variable
+ {
+ typedef typename proto::terminal<detail::local_variable<Tag> >::type base_type;
+ BOOST_PROTO_BASIC_EXTENDS(base_type, local_variable<Tag>, proto::default_domain)
+
+ operator actor<local_variable<Tag> >() const
+ {
+ actor<local_variable<Tag> > that = {{{{}}}};
+ return that;
+ }
+ };
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////
+ template<typename Tag>
+ struct terminal_extension<detail::local_variable<Tag> >
+ : detail::local_variable_evaluator<Tag>
+ {};
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////
+ template<typename Tag>
+ struct is_terminal_nullary<detail::local_variable<Tag> >
+ : mpl::false_
+ {};
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////
+ namespace local_names
+ {
+ actor<local_variable<struct _a_key> > const _a = {{{{}}}};
+ actor<local_variable<struct _b_key> > const _b = {{{{}}}};
+ actor<local_variable<struct _c_key> > const _c = {{{{}}}};
+ actor<local_variable<struct _d_key> > const _d = {{{{}}}};
+ actor<local_variable<struct _e_key> > const _e = {{{{}}}};
+ actor<local_variable<struct _f_key> > const _f = {{{{}}}};
+ actor<local_variable<struct _g_key> > const _g = {{{{}}}};
+ actor<local_variable<struct _h_key> > const _h = {{{{}}}};
+ actor<local_variable<struct _i_key> > const _i = {{{{}}}};
+ actor<local_variable<struct _j_key> > const _j = {{{{}}}};
+ actor<local_variable<struct _k_key> > const _k = {{{{}}}};
+ actor<local_variable<struct _l_key> > const _l = {{{{}}}};
+ actor<local_variable<struct _m_key> > const _m = {{{{}}}};
+ actor<local_variable<struct _n_key> > const _n = {{{{}}}};
+ actor<local_variable<struct _o_key> > const _o = {{{{}}}};
+ actor<local_variable<struct _p_key> > const _p = {{{{}}}};
+ actor<local_variable<struct _q_key> > const _q = {{{{}}}};
+ actor<local_variable<struct _r_key> > const _r = {{{{}}}};
+ actor<local_variable<struct _s_key> > const _s = {{{{}}}};
+ actor<local_variable<struct _t_key> > const _t = {{{{}}}};
+ actor<local_variable<struct _u_key> > const _u = {{{{}}}};
+ actor<local_variable<struct _v_key> > const _v = {{{{}}}};
+ actor<local_variable<struct _w_key> > const _w = {{{{}}}};
+ actor<local_variable<struct _x_key> > const _x = {{{{}}}};
+ actor<local_variable<struct _y_key> > const _y = {{{{}}}};
+ actor<local_variable<struct _z_key> > const _z = {{{{}}}};
+ }
+
+}}
+
+#endif

Modified: branches/proto/v4/boost/phoenix/statement/switch.hpp
==============================================================================
--- branches/proto/v4/boost/phoenix/statement/switch.hpp (original)
+++ branches/proto/v4/boost/phoenix/statement/switch.hpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -59,14 +59,14 @@
             struct Case
               : proto::switch_<struct CaseCases>
             {};
-
+
             struct CaseCases
             {
                 template<typename Tag>
                 struct case_
                   : proto::not_<proto::_>
                 {};
-
+
                 template<int Label>
                 struct case_<tag::case_<Label> >
                   : proto::unary_expr<proto::_, evaluator>
@@ -76,7 +76,7 @@
             struct Default
               : proto::unary_expr<tag::default_, evaluator>
             {};
-
+
             struct CasesNoDefault
               : proto::or_<
                     Case
@@ -196,13 +196,13 @@
         #define M0(Z, N, DATA) \
             proto::expr<tag::case_<BOOST_PP_CAT(L, N)>, BOOST_PP_CAT(A, N), 1> const &BOOST_PP_CAT(a, N)\
             /**/
-
+
         #define M1(Z, N, DATA) \
             case BOOST_PP_CAT(L, N): \
                 evaluator()(BOOST_PP_CAT(a, N).child0, state, data); \
                 break; \
             /**/
-
+
         ////////////////////////////////////////////////////////////////////////////////////////////
         template<
             typename Expr, typename State, typename Data
@@ -268,7 +268,7 @@
 
         #undef M0
         #undef M1
-
+
     #undef N
 
 #endif

Modified: branches/proto/v4/libs/phoenix/test/Jamfile.v2
==============================================================================
--- branches/proto/v4/libs/phoenix/test/Jamfile.v2 (original)
+++ branches/proto/v4/libs/phoenix/test/Jamfile.v2 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -14,74 +14,74 @@
         <define>BOOST_MPL_LIMIT_METAFUNCTION_ARITY=10
     ;
 
-local multi-threading = <library>/boost/thread//boost_thread
+local multi-threading = <library>/boost/thread//boost_thread
                         <threading>multi <define>BOOST_ALL_NO_LIB=1 ;
 
 test-suite phoenix_detail :
- [ run detail/type_deduction_tests.cpp ]
+ [ run detail/type_deduction_tests.cpp ]
     ;
 
 test-suite phoenix_core :
- [ run core/primitives_tests.cpp ]
-# [ run core/compose_tests.cpp ]
+ [ run core/primitives_tests.cpp ]
+# [ run core/compose_tests.cpp ]
     ;
 
 test-suite phoenix_operator :
- [ run operator/arithmetic_tests.cpp ]
- [ run operator/bitwise_tests.cpp ]
- [ run operator/comparison_tests.cpp ]
- [ run operator/if_else_tests.cpp ]
- [ run operator/io_tests.cpp ]
- [ run operator/logical_tests.cpp ]
- [ run operator/misc_binary_tests.cpp ]
- [ run operator/self_tests.cpp ]
- [ run operator/unary_tests.cpp ]
+ [ run operator/arithmetic_tests.cpp ]
+ [ run operator/bitwise_tests.cpp ]
+ [ run operator/comparison_tests.cpp ]
+ [ run operator/if_else_tests.cpp ]
+ [ run operator/io_tests.cpp ]
+ [ run operator/logical_tests.cpp ]
+ [ run operator/misc_binary_tests.cpp ]
+ [ run operator/self_tests.cpp ]
+ [ run operator/unary_tests.cpp ]
 # [ run operator/member.cpp ]
     ;
 
 test-suite phoenix_object :
- [ run object/cast_tests.cpp ]
- [ run object/new_delete_tests.cpp ]
+ [ run object/cast_tests.cpp ]
+ [ run object/new_delete_tests.cpp ]
     ;
 
 test-suite phoenix_function :
- [ run function/function_tests.cpp ]
+ [ run function/function_tests.cpp ]
     ;
 
 test-suite phoenix_bind :
- [ run bind/bind_function_tests.cpp ]
- [ run bind/bind_function_object_tests.cpp ]
+ [ run bind/bind_function_tests.cpp ]
+ [ run bind/bind_function_object_tests.cpp ]
     [ run bind/bind_member_function_tests.cpp ]
     [ run bind/bind_member_variable_tests.cpp ]
     ;
-
+
 test-suite phoenix_statement :
- [ run statement/if_tests.cpp ]
- [ run statement/loops_tests.cpp ]
- [ run statement/switch_tests.cpp ]
+ [ run statement/if_tests.cpp ]
+ [ run statement/loops_tests.cpp ]
+ [ run statement/switch_tests.cpp ]
     [ run statement/exceptions.cpp ]
     ;
-
+
 test-suite phoenix_container :
- [ run container/container_tests1a.cpp ]
- [ run container/container_tests1b.cpp ]
- [ run container/container_tests2a.cpp ]
- [ run container/container_tests2b.cpp ]
- [ run container/container_tests3a.cpp ]
- [ run container/container_tests3b.cpp ]
- [ run container/container_tests4a.cpp ]
- [ run container/container_tests4b.cpp ]
- [ run container/container_tests5a.cpp ]
- [ run container/container_tests5b.cpp ]
- [ run container/container_tests6a.cpp ]
- [ run container/container_tests6b.cpp ]
+ [ run container/container_tests1a.cpp ]
+ [ run container/container_tests1b.cpp ]
+ [ run container/container_tests2a.cpp ]
+ [ run container/container_tests2b.cpp ]
+ [ run container/container_tests3a.cpp ]
+ [ run container/container_tests3b.cpp ]
+ [ run container/container_tests4a.cpp ]
+ [ run container/container_tests4b.cpp ]
+ [ run container/container_tests5a.cpp ]
+ [ run container/container_tests5b.cpp ]
+ [ run container/container_tests6a.cpp ]
+ [ run container/container_tests6b.cpp ]
     ;
 
 test-suite phoenix_scope :
- [ run scope/lambda_tests.cpp ]
- [ run scope/let_tests.cpp ]
- [ run scope/dynamic_tests.cpp ]
- [ run scope/bug_000008.cpp : : : $(multi-threading) ]
+ [ run scope/lambda_tests.cpp ]
+ [ run scope/let_tests.cpp ]
+ [ run scope/dynamic_tests.cpp ]
+ [ run scope/bug_000008.cpp : : : $(multi-threading) ]
     ;
 
 test-suite phoenix_algorithm :

Modified: branches/proto/v4/libs/phoenix/test/bind/bind_function_object_tests.cpp
==============================================================================
--- branches/proto/v4/libs/phoenix/test/bind/bind_function_object_tests.cpp (original)
+++ branches/proto/v4/libs/phoenix/test/bind/bind_function_object_tests.cpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -28,7 +28,7 @@
     {
         template <typename Sig>
         struct result;
-
+
         template <typename This, typename Arg>
         struct result<This(Arg)>
         {
@@ -51,7 +51,7 @@
     {
         template <typename Sig>
         struct result;
-
+
         template <typename This, typename Arg>
         struct result<This(Arg)>
         {
@@ -74,7 +74,7 @@
     {
         template <typename Sig>
         struct result;
-
+
         template <typename This, typename Arg1, typename Arg2>
         struct result<This(Arg1, Arg2)>
         {
@@ -97,7 +97,7 @@
     {
         template <typename Sig>
         struct result;
-
+
         template <typename This, typename Arg1, typename Arg2, typename Arg3, typename Arg4>
         struct result<This(Arg1, Arg2, Arg3, Arg4)>
         {

Modified: branches/proto/v4/libs/phoenix/test/function/function_tests.cpp
==============================================================================
--- branches/proto/v4/libs/phoenix/test/function/function_tests.cpp (original)
+++ branches/proto/v4/libs/phoenix/test/function/function_tests.cpp 2008-05-23 13:45:30 EDT (Fri, 23 May 2008)
@@ -30,13 +30,13 @@
     {
         template <typename Sig>
         struct result;
-
+
         template <typename This, typename Arg>
         struct result<This(Arg)>
         {
             typedef Arg type;
         };
-
+
         template <typename This, typename Arg>
         struct result<This(Arg &)>
           : result<This(Arg)>
@@ -55,13 +55,13 @@
     {
         template <typename Sig>
         struct result;
-
+
         template <typename This, typename Arg>
         struct result<This(Arg)>
         {
             typedef Arg type;
         };
-
+
         template <typename This, typename Arg>
         struct result<This(Arg &)>
           : result<This(Arg)>
@@ -80,13 +80,13 @@
     {
         template <typename Sig>
         struct result;
-
+
         template <typename This, typename Arg1, typename Arg2>
         struct result<This(Arg1, Arg2)>
         {
             typedef Arg1 type;
         };
-
+
         template <typename This, typename Arg1, typename Arg2>
         struct result<This(Arg1 &, Arg2)>
           : result<This(Arg1, Arg2)>


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