$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r67793 - in sandbox/SOC/2010/phoenix3: boost/phoenix boost/phoenix/bind boost/phoenix/core boost/phoenix/core/detail boost/phoenix/debug boost/phoenix/function boost/phoenix/function/detail boost/phoenix/fusion boost/phoenix/object boost/phoenix/object/detail boost/phoenix/operator boost/phoenix/operator/detail boost/phoenix/scope boost/phoenix/scope/detail boost/phoenix/statement boost/phoenix/statement/detail boost/phoenix/stl/algorithm boost/phoenix/support boost/phoenix/support/detail libs/phoenix/doc libs/phoenix/doc/html libs/phoenix/doc/html/phoenix libs/phoenix/doc/html/phoenix/advanced_topics libs/phoenix/doc/html/phoenix/reference libs/phoenix/doc/html/phoenix/reference/concepts libs/phoenix/doc/html/phoenix/reference/modules libs/phoenix/doc/html/phoenix/reference/modules/bind libs/phoenix/doc/html/phoenix/reference/modules/core libs/phoenix/doc/html/phoenix/reference/modules/object libs/phoenix/doc/html/phoenix/reference/modules/operator libs/phoenix/doc/html/phoenix/reference/modules/scope libs/phoenix/doc/html/phoenix/reference/modules/statement libs/phoenix/doc/html/phoenix/reference/modules/stl libs/phoenix/doc/html/phoenix/starter_kit libs/phoenix/doc/html/phoenix/starter_kit/composites libs/phoenix/doc/html/phoenix/starter_kit/primitives libs/phoenix/test/boost_bind_compatibility
From: thom.heller_at_[hidden]
Date: 2011-01-08 14:06:25
Author: theller
Date: 2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
New Revision: 67793
URL: http://svn.boost.org/trac/boost/changeset/67793
Log:
code cleanup take 1
Added:
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/let_local_gen.hpp   (contents, props changed)
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/make_locals.hpp   (contents, props changed)
   sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/catch_push_back.hpp   (contents, props changed)
   sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/try_catch_eval.hpp   (contents, props changed)
   sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/try_catch_expression.hpp   (contents, props changed)
Removed:
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/compose.hpp
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_fun_eval.hpp
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/compose_ex.hpp
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/compose_result_of.hpp
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/make_basic_environment.hpp
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/no_nullary.hpp
   sandbox/SOC/2010/phoenix3/boost/phoenix/debug/dump_env.hpp
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_variable.hpp
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scope_actor.hpp
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scope_domain.hpp
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scope_grammar.hpp
   sandbox/SOC/2010/phoenix3/boost/phoenix/support/element_at.hpp
Text files modified: 
   sandbox/SOC/2010/phoenix3/boost/phoenix/bind/bind.hpp                                                                       |    53 -                                       
   sandbox/SOC/2010/phoenix3/boost/phoenix/bind/bind_member_function.hpp                                                       |    56 -                                       
   sandbox/SOC/2010/phoenix3/boost/phoenix/core.hpp                                                                            |     5                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/actor.hpp                                                                      |    22                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/argument.hpp                                                                   |    11                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/arity.hpp                                                                      |    82 +-                                      
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_operator.hpp                                                      |    52 -                                       
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_result_of.hpp                                                     |    27                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/domain.hpp                                                                     |     4                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp                                                                |    13                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/expression.hpp                                                                 |    21                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/function_equal.hpp                                                             |    29                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_actor.hpp                                                                   |     8                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_nullary.hpp                                                                 |    17                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/limits.hpp                                                                     |     2                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/mem_obj_ptr.hpp                                                                |     5                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/meta_grammar.hpp                                                               |    33                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/nothing.hpp                                                                    |    21                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/reference.hpp                                                                  |    17                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/terminal.hpp                                                                   |    19                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/unpack.hpp                                                                     |   159 +++--                                   
   sandbox/SOC/2010/phoenix3/boost/phoenix/function/detail/function_operator.hpp                                               |     6                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/function/detail/function_result_of.hpp                                              |     7                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/function/function.hpp                                                               |    47 -                                       
   sandbox/SOC/2010/phoenix3/boost/phoenix/fusion/at.hpp                                                                       |    49 -                                       
   sandbox/SOC/2010/phoenix3/boost/phoenix/object/const_cast.hpp                                                               |    16                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/object/construct.hpp                                                                |    11                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/construct.hpp                                                         |     9                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/construct_eval.hpp                                                    |     4                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/new.hpp                                                               |     5                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/new_eval.hpp                                                          |     9                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/object/dynamic_cast.hpp                                                             |    16                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/object/new.hpp                                                                      |    11                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/object/reinterpret_cast.hpp                                                         |    14                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/object/static_cast.hpp                                                              |    14                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator.hpp                                                                        |    32                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp                                                 |    12                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/if_else.hpp                                                                |    24                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/io.hpp                                                                     |     8                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/member.hpp                                                                 |    81 ++                                      
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/operator.hpp                                                               |     2                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/dynamic.hpp                                                            |    45 +                                       
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_gen.hpp                                                          |    48                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/dynamic.hpp                                                                   |   101 --                                      
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/lambda.hpp                                                                    |   230 +++++--                                 
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/let.hpp                                                                       |    36                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/local_variable.hpp                                                            |   194 +++---                                  
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp                                                        |    10                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/switch.hpp                                                         |   230 +++----                                 
   sandbox/SOC/2010/phoenix3/boost/phoenix/statement/do_while.hpp                                                              |     2                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/statement/for.hpp                                                                   |     5                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/statement/if.hpp                                                                    |     8                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/statement/switch.hpp                                                                |    88 ---                                     
   sandbox/SOC/2010/phoenix3/boost/phoenix/statement/try_catch.hpp                                                             |   173 ------                                  
   sandbox/SOC/2010/phoenix3/boost/phoenix/stl/algorithm/iteration.hpp                                                         |   124 ++--                                    
   sandbox/SOC/2010/phoenix3/boost/phoenix/stl/algorithm/querying.hpp                                                          |  1090 ++++++++++++++++++++--------------------
   sandbox/SOC/2010/phoenix3/boost/phoenix/support/detail/iterate.hpp                                                          |    24                                         
   sandbox/SOC/2010/phoenix3/boost/phoenix/support/detail/iterate_define.hpp                                                   |   134 +++-                                    
   sandbox/SOC/2010/phoenix3/boost/phoenix/support/iterate.hpp                                                                 |     5                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/Jamfile                                                                          |    16                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/index.html                                                                  |    18                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/acknowledgments.html                                                |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics.html                                                |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/extending_actors.html                               |    10                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/porting_from_phoenix_2_0.html                       |     4                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/introduction.html                                                   |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference.html                                                      |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/basics.html                                               |    12                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts.html                                             |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/actor.html                                       |    12                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/environment.html                                 |    12                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluationpolicy.html                            |    12                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluator.html                                   |    12                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules.html                                              |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind.html                                         |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_functions.html                       |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_member_functions.html                |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_member_variables.html                |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/compatibility_with_other_bind_libraries.html |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core.html                                         |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/arguments.html                               |    10                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/constant_references.html                     |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/nothing.html                                 |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/references.html                              |     4                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/values.html                                  |     4                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/function.html                                     |     4                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object.html                                       |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/casts.html                                 |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/construction.html                          |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/delete.html                                |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/new.html                                   |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator.html                                     |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator/supported_operators.html                 |    10                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope.html                                        |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/lambda.html                                 |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/let.html                                    |     6                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/local_variables.html                        |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement.html                                    |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___do_while_____statement.html          |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___if_else_____statement.html           |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/block_statement.html                    |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/for__statement.html                     |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/if__statement.html                      |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/switch__statement.html                  |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/throw_.html                             |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/try__catch__statement.html              |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/while__statement.html                   |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl.html                                          |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/algorithm.html                                |    10                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/container.html                                |     8                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/organization.html                                         |    10                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/references.html                                                     |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit.html                                                    |     4                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites.html                                         |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/construct__new__delete__casts.html           |     4                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html                          |     6                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html                          |     8                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_statements.html                         |     4                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/more.html                                    |     4                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives.html                                         |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/arguments.html                               |     4                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/references.html                              |     4                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html                                  |     8                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/wrap_up.html                                                        |     2                                         
   sandbox/SOC/2010/phoenix3/libs/phoenix/test/boost_bind_compatibility/bind_placeholder_test.cpp                              |     3                                         
   125 files changed, 1841 insertions(+), 2038 deletions(-)
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/bind/bind.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/bind/bind.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/bind/bind.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -11,8 +11,6 @@
 #ifndef PHOENIX_BIND_BIND_HPP
 #define PHOENIX_BIND_BIND_HPP
 
-//#include <boost/phoenix/core/expression.hpp>
-//#include <boost/phoenix/core/unpack.hpp>
 #include <boost/phoenix/function.hpp>
 #include <boost/phoenix/support/iterate.hpp>
 #include <boost/utility/result_of.hpp>
@@ -22,52 +20,11 @@
     ////////////////////////////////////////////////////////////////////////////
     // Bind
     ////////////////////////////////////////////////////////////////////////////
-
-#if 0
-    PHOENIX_DEFINE_EXPRESSION_VARARG(bind, (meta_grammar), PHOENIX_ARG_LIMIT)
-
-    struct bind_eval
-        : proto::callable
-    {
-        template <typename Sig>
-        struct result;
-
-        template <typename This, typename Env, typename F>
-        struct result<This(Env &, F const &)>
-            /*: boost::result_of<
-                typename boost::result_of<evaluator(F const &, Env &)>::type()
-            >*/
-        {
-            typedef int type;
-        };
-        typedef int result_type;
-
-        template <typename Env, typename F>
-        result_type//typename result<bind_eval(Env &, F const &)>::type
-        operator()(Env & env, F const & f) const
-        {
-            eval(f, env);
-            std::cout << typeid(detail::wrap<typename boost::result_of<evaluator(F const&, Env&)>::type>).name() << "\n";
-            //std::cout << typeid(detail::wrap<typename boost::result_of<evaluator(F &, Env&)>::type>).name() << "\n";
-            //std::cout << typeid(detail::wrap<typename proto::result_of::value<F>::type>).name() << "\n";
-            //std::cout << typeid(detail::wrap<typename proto::result_of::value<F const &>::type>).name() << "\n";
-            //std::cout << typeid(detail::wrap<typename proto::result_of::value<F &>::type>).name() << "\n";
-            return 5;//typename result<bind_eval(Env &, F const &)>::type();
-        }
-    };
-
-    template <typename Dummy>
-    struct default_actions::when<rule::bind, Dummy>
-        : proto::call<bind_eval(_env, unpack)>
-    {};
-#endif
     
     template <typename F>
     typename boost::result_of<function<F>()>::type const
-    //typename expression::bind<F>::type
     bind(F f)
     {
-        //return expression::bind<F>::make(f);
         return function<F>(f)();
     }
 
@@ -83,16 +40,8 @@
 #else
     
     template <typename F, PHOENIX_typename_A>
-/*#if PHOENIX_ITERATION == 1
-    typename disable_if<
-        is_member_pointer<F>
-      , typename boost::result_of<function<F>(A0 const&)>::type const
-      >::type
-#else*/
-    //typename boost::result_of<function<F>(PHOENIX_A_const_ref)>::type const
     typename result_of::function<F, PHOENIX_A>::type const
-//#endif
-    bind(F f, PHOENIX_A_a)
+    bind(F f, PHOENIX_A_const_ref_a)
     {
         return function<F>(f)(PHOENIX_a);
     }
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/bind/bind_member_function.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/bind/bind_member_function.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/bind/bind_member_function.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -20,9 +20,9 @@
     template <typename RT, typename ClassT, typename ClassA>
     typename result_of::function<
         RT(ClassT::*)()
-      , ClassA// const&
+      , ClassA
     >::type
-    bind(RT(ClassT::*f)(), ClassA /*const&*/ obj)
+    bind(RT(ClassT::*f)(), ClassA obj)
     {
         return function<RT(ClassT::*)()>(f)(obj);
     }
@@ -30,35 +30,13 @@
     template <typename RT, typename ClassT, typename ClassA>
     typename result_of::function<
         RT(ClassT::*)() const
-      , ClassA// const&
+      , ClassA
     >::type
-    bind(RT(ClassT::*f)() const, ClassA /*const&*/ obj)
+    bind(RT(ClassT::*f)() const, ClassA obj)
     {
         return function<RT(ClassT::*)() const>(f)(obj);
     }
 
-    /*
-    template <typename RT, typename ClassT>
-    typename result_of::function<
-        RT(ClassT::*)()
-      , ClassT//&//typename make_reference<ClassT>::type const
-    >::type
-    bind(RT(ClassT::*f)(), ClassT& obj)
-    {
-        return function<RT(ClassT::*)()>(f)(obj);//ref(obj));
-    }
-
-    template <typename RT, typename ClassT>
-    typename result_of::function<
-        RT(ClassT::*)() const
-      , ClassT//&//typename make_reference<ClassT>::type const
-    >::type
-    bind(RT(ClassT::*f)() const, ClassT& obj)
-    {
-        return function<RT(ClassT::*)() const>(f)(obj);//ref(obj));
-    }
-    */
-
 #define PHOENIX_ITERATION_PARAMS                                                \
     (3, (1, PHOENIX_ARG_LIMIT,                                                  \
     <boost/phoenix/bind/bind_member_function.hpp>))
@@ -75,7 +53,8 @@
       , typename ClassT
       , BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, typename T)
       , typename ClassA
-      , PHOENIX_typename_A>
+      , PHOENIX_typename_A
+    >
     typename result_of::function<
         RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T))
       , ClassA const&
@@ -84,7 +63,8 @@
     bind(
         RT(ClassT::*f)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T))
       , ClassA const& obj
-      , PHOENIX_A_const_ref_a)
+      , PHOENIX_A_const_ref_a
+    )
     {
         return function<
             RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T))>(f)(
@@ -96,7 +76,8 @@
       , typename ClassT
       , BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, typename T)
       , typename ClassA
-      , PHOENIX_typename_A>
+      , PHOENIX_typename_A
+    >
     typename result_of::function<
         RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T)) const
       , ClassA const&
@@ -105,7 +86,8 @@
     bind(
         RT(ClassT::*f)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T)) const
       , ClassA const& obj
-      , PHOENIX_A_const_ref_a)
+      , PHOENIX_A_const_ref_a
+    )
     {
         return function<
             RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T)) const>(f)(
@@ -116,7 +98,8 @@
         typename RT
       , typename ClassT
       , BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, typename T)
-      , PHOENIX_typename_A>
+      , PHOENIX_typename_A
+    >
     typename result_of::function<
         RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T))
       , typename make_reference<ClassT>::type const
@@ -125,7 +108,8 @@
     bind(
         RT(ClassT::*f)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T))
       , ClassT& obj
-      , PHOENIX_A_const_ref_a)
+      , PHOENIX_A_const_ref_a
+    )
     {
         return function<
             RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T))>(f)(
@@ -136,7 +120,8 @@
         typename RT
       , typename ClassT
       , BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, typename T)
-      , PHOENIX_typename_A>
+      , PHOENIX_typename_A
+    >
     typename result_of::function<
         RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T)) const
       , typename make_reference<ClassT>::type const
@@ -147,8 +132,9 @@
       , ClassT& obj
       , PHOENIX_A_const_ref_a)
     {
-        return function<RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T)) const>(f)(
-            ref(obj), PHOENIX_a);
+        return function<
+            RT(ClassT::*)(BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, T)) const>(f)(
+                ref(obj), PHOENIX_a);
     }
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -10,13 +10,12 @@
 #include <boost/phoenix/version.hpp>
 #include <boost/phoenix/core/limits.hpp>
 #include <boost/phoenix/core/actor.hpp>
-//#include <boost/phoenix/core/compose.hpp>
 #include <boost/phoenix/core/is_actor.hpp>
 #include <boost/phoenix/core/argument.hpp>
 #include <boost/phoenix/core/value.hpp>
 #include <boost/phoenix/core/reference.hpp>
-//#include <boost/phoenix/core/nothing.hpp>
+#include <boost/phoenix/core/nothing.hpp>
 #include <boost/phoenix/core/function_equal.hpp>
-//#include <boost/phoenix/core/visit_each.hpp>
+#include <boost/phoenix/core/visit_each.hpp>
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/actor.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/actor.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/actor.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -58,18 +58,16 @@
         template <typename Expr>
         struct actor<Expr>
         {
-            //static const int arity = result_of::arity<Expr>::type::value;
-
             typedef
+                // avoid calling result_of::actor when this is false
                 typename mpl::eval_if<
-                    typename is_nullary<Expr>::type // avoid calling result_of::actor when this is false
+                    typename is_nullary<Expr>::type
                   , boost::result_of<
                         evaluator(
                             Expr const &
                           , fusion::vector2<fusion::vector0<>&, default_actions>&
                         )
                     >
-                    //evaluator<Expr const &, fusion::vector2<fusion::vector0<>&, default_actions>&>
                   , mpl::identity<detail::error_expecting_arguments>
                 >::type
             type;
@@ -98,21 +96,9 @@
         template <typename Sig>
         struct result;
 
-        /*
-        template <typename This>
-        struct result<This()>
-            : result_of::actor<Expr>
-        {};
-        */
-        //BOOST_MPL_ASSERT((proto::matches<actor<Expr>, meta_grammar>));
-
         typename result_of::actor<Expr>::type
         operator()()
         {
-            /*
-            typedef make_basic_environment<default_actions> env_type;
-            typename env_type::type env = env_type::make();
-            */
             typedef fusion::vector0<> args_type;
             args_type args;
             fusion::vector2<args_type&, default_actions> env(args, default_actions());
@@ -123,10 +109,6 @@
         typename result_of::actor<Expr>::type
         operator()() const
         {
-            /*
-            typedef make_basic_environment<default_actions> env_type;
-            typename env_type::type env = env_type::make();
-            */
             typedef fusion::vector0<> args_type;
             args_type args;
             fusion::vector2<args_type&, default_actions> env(args, default_actions());
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/argument.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/argument.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/argument.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -9,13 +9,6 @@
 #ifndef PHOENIX_CORE_ARGUMENT_HPP
 #define PHOENIX_CORE_ARGUMENT_HPP
 
-/*
-#include <boost/phoenix/core/compose.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/no_nullary.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/phoenix/core/environment.hpp>
-*/
 #include <boost/phoenix/core/limits.hpp>
 #include <boost/phoenix/core/actor.hpp>
 #include <boost/phoenix/core/terminal.hpp>
@@ -60,7 +53,7 @@
 namespace boost {
     template <typename I>
     struct is_placeholder<phoenix::argument<I> >
-        : mpl::true_
+        : I
     {};
 }
 
@@ -68,7 +61,7 @@
 {
     #define BOOST_PHOENIX_ARGUMENT_N(_, N, name)                                \
     actor<                                                                      \
-        proto::terminal<argument<mpl::int_<N> > >::type                         \
+        proto::terminal<argument<mpl::int_<BOOST_PP_INC(N)> > >::type           \
     > const BOOST_PP_CAT(name, BOOST_PP_INC(N)) = {};
 
     namespace placeholders
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/arity.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/arity.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/arity.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -22,63 +22,63 @@
 
 namespace boost { namespace phoenix
 {
-    ////////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
     //
     //  Calculate the arity of an expression using proto transforms
     //
-    ////////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
     
     struct argument;
 
-    template <typename F>
-    struct funcwrap;
-
-    struct env;
-
-    namespace detail
-    {
-        struct arity
-          : proto::or_<
-                proto::when<proto::terminal<proto::_>, mpl::int_<0>()>
-              , proto::when<
-                    proto::function<
-                        proto::terminal<funcwrap<argument> >
-                      , proto::terminal<env>
-                      , proto::_
-                    >
-                  , mpl::next<proto::_value(proto::_child2)>()
-                >
-              , proto::otherwise<
-                    proto::fold<
-                        proto::_
-                      , mpl::int_<0>()
-                      , mpl::max<arity, proto::_state>()
-                    >
-                >
-            >
-        {};
-    }
+    struct arity;
 
     namespace result_of
     {
         template <typename Expr>
         struct arity
-            : boost::result_of<detail::arity(Expr)>
+            : mpl::int_<
+                boost::result_of<
+                    evaluator(
+                        Expr const&
+                      , fusion::vector2<
+                            mpl::int_<0>
+                          , boost::phoenix::arity
+                        >&
+                    )
+                >::type::value
+            >
         {};
     }
 
-    template <typename Expr>
-    int arity()
+    struct arity
     {
-        return result_of::arity<Expr>::type::value;
-    }
-
-    template <typename Expr>
-    int arity(Expr const&)
-    {
-        return result_of::arity<Expr>::type::value;
-    }
+        template <typename Rule, typename Dummy = void>
+        struct when
+            : proto::fold<
+                proto::_
+              , mpl::int_<0>
+              , mpl::max<
+                    proto::_state
+                  , evaluator(proto::_, _env)
+                >()
+            >
+        {};
+    };
 
+    template <typename Dummy>
+    struct arity::when<rule::argument, Dummy>
+        : proto::make<is_placeholder<proto::_value>()>
+    {};
+    
+    template <typename Dummy>
+    struct arity::when<rule::custom_terminal, Dummy>
+        : proto::make<mpl::int_<0>()>
+    {};
+    
+    template <typename Dummy>
+    struct arity::when<rule::terminal, Dummy>
+        : proto::make<mpl::int_<0>()>
+    {};
 }}
 
 #endif
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/core/compose.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/compose.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,143 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2001-2010 Joel de Guzman
-    Copyright (c) 2010 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 PHOENIX_CORE_COMPOSE_HPP
-#define PHOENIX_CORE_COMPOSE_HPP
-
-#include <boost/call_traits.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/phoenix/support/iterate.hpp>
-#include <boost/proto/tags.hpp>
-#include <boost/proto/make_expr.hpp>
-
-namespace boost { namespace phoenix
-{
-    ////////////////////////////////////////////////////////////////////////////
-    // Create an actor (TR1 function) from a proto transform and data type
-    // we will associte with it (the actor).
-    ////////////////////////////////////////////////////////////////////////////
-
-    template <typename Expr>
-    struct actor;
-
-    struct default_domain_with_basic_expr
-      : proto::domain<proto::use_basic_expr<proto::default_generator> >
-    {};
-    
-    template <typename F, template< typename > class Actor
-        , PHOENIX_typename_A_void(PHOENIX_COMPOSITE_LIMIT)
-        , typename Dummy = void>
-    struct compose_ex;
-    
-    template <typename F
-        , PHOENIX_typename_A_void(PHOENIX_COMPOSITE_LIMIT)
-        , typename Dummy = void>
-    struct compose : compose_ex<F, actor, PHOENIX_A(PHOENIX_COMPOSITE_LIMIT)>
-    {};
-
-    template <typename F, template<typename> class Actor>
-    struct compose_ex<F, Actor>
-    {
-        typedef
-            typename proto::result_of::make_expr<
-                  proto::tag::function
-                , default_domain_with_basic_expr
-                , funcwrap<F>
-                , env>::type
-            base_type;
-        typedef Actor<base_type> result_type;
-        typedef result_type type;
-
-        result_type const
-        operator()() const
-        {
-            actor<base_type> const e = {{{funcwrap<F>()}, {env()}}};
-            return e;
-        }
-    };
-
-    template <typename F, template<typename> class Actor, typename A0>
-    struct compose_ex<F, Actor, A0>
-    {
-        typedef
-            typename proto::result_of::make_expr<
-                  proto::tag::function
-                , default_domain_with_basic_expr
-                , funcwrap<F>
-                , env
-                , A0>::type
-            base_type;
-        typedef Actor<base_type> result_type;
-        typedef result_type type;
-
-        result_type const
-        operator()(typename call_traits<A0>::param_type a0) const
-        {
-            actor<base_type> const e = {{{funcwrap<F>()}, {env()}, a0}};
-            return e;
-        }
-    };
-
-    template <typename F, template<typename> class Actor, typename A0, typename A1>
-    struct compose_ex<F, Actor, A0, A1>
-    {
-        typedef
-            typename proto::result_of::make_expr<
-                  proto::tag::function
-                , default_domain_with_basic_expr
-                , funcwrap<F>
-                , env
-                , A0
-                , A1>::type
-            base_type;
-        typedef Actor<base_type> result_type;
-        typedef result_type type;
-
-        result_type const
-        operator()(typename call_traits<A0>::param_type a0,typename call_traits<A1>::param_type a1) const
-        {
-            actor<base_type> const e = {{{funcwrap<F>()}, {env()}, a0, a1}};
-            return e;
-        }
-    };
-
-    template <typename F, template<typename> class Actor, typename A0, typename A1, typename A2>
-    struct compose_ex<F, Actor, A0, A1, A2>
-    {
-        typedef
-            typename proto::result_of::make_expr<
-                  proto::tag::function
-                , default_domain_with_basic_expr
-                , funcwrap<F>
-                , env
-                , A0
-                , A1
-                , A2>::type
-            base_type;
-        typedef Actor<base_type> result_type;
-        typedef result_type type;
-
-        result_type const
-        operator()(
-            typename call_traits<A0>::param_type a0,
-            typename call_traits<A1>::param_type a1,
-            typename call_traits<A2>::param_type a2) const
-        {
-            actor<base_type> const e = {{{funcwrap<F>()}, {env()}, a0, a1, a2}};
-            return e;
-        }
-    };
-
-    // Bring in the rest
-    #include <boost/phoenix/core/detail/compose_ex.hpp>
-
-}}
-
-#endif
-
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_fun_eval.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_fun_eval.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,67 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2005-2010 Joel de Guzman
-    Copyright (c) 2010 Thomas Heller
-
-    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)
-==============================================================================*/
-
-#if !PHOENIX_IS_ITERATING
-
-#ifndef PHOENIX_CORE_DETAIL_ACTOR_FUN_EVAL_HPP
-#define PHOENIX_CORE_DETAIL_ACTOR_FUN_EVAL_HPP
-
-#include <boost/phoenix/support/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_shifted_binary_params.hpp>
-#include <boost/preprocessor/punctuation/paren.hpp>
-
-#define PHOENIX_ITERATION_PARAMS                                                \
-        (3, (4, PHOENIX_ACTOR_LIMIT,                                            \
-        <boost/phoenix/core/detail/actor_fun_eval.hpp>))
-#include PHOENIX_ITERATE()
-
-#endif
-
-#else
-    template <PHOENIX_typename_A>
-    struct actor_fun_eval<PHOENIX_A>
-    {
-#define EVAL_RESULTS(_, n, __) BOOST_PP_COMMA_IF(BOOST_PP_DEC(n)) typename boost::result_of<eval_grammar(A ## n const&, Env&)>::type
-        template <typename Env, typename Dummy = void>
-        struct basic_environment
-            : make_basic_environment<
-                BOOST_PP_REPEAT_FROM_TO(
-                    1, PHOENIX_ITERATION, EVAL_RESULTS, _)>
-        {};
-
-        template <typename Sig>
-        struct result;
-
-        template <typename This, typename Env>
-        struct result<This(Env&, PHOENIX_A_const_ref)>
-        {
-            typedef typename boost::result_of<
-                eval_grammar(A0 const&, typename basic_environment<Env>::type&)
-                >::type
-                type;
-        };
-
-        template <typename Env>
-        typename boost::result_of<
-            eval_grammar(A0 const&, typename basic_environment<Env>::type&)
-            >::type
-        operator()(Env& env, PHOENIX_A_const_ref_a) const
-        {
-#define EVAL_ARGS(_, n, __) BOOST_PP_COMMA_IF(BOOST_PP_DEC(n)) eval(a ## n , env)
-            typename basic_environment<Env>::type args(
-                BOOST_PP_REPEAT_FROM_TO(1, PHOENIX_ITERATION, EVAL_ARGS, _));
-
-            return eval(a0, args);
-        }
-    };
-
-#undef EVAL_ARGS
-#undef EVAL_RESULTS
-
-#endif
-
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_operator.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_operator.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_operator.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -22,8 +22,6 @@
 
 #else
 
-#define PHOENIX_ENV( A ) typename make_basic_environment<A>::type
-        
         template <typename This, PHOENIX_typename_A>
         struct result<This(PHOENIX_A)>
             : result_of::actor<Expr, PHOENIX_A>
@@ -35,17 +33,14 @@
         typename result_of::actor<Expr, PHOENIX_A_ref>::type
         operator()(PHOENIX_A_ref_a)
         {
-            /*
-            typedef make_basic_environment<default_actions, PHOENIX_A_ref> env_type;
-            typename env_type::type env = env_type::make(PHOENIX_a);
-            */
             typedef
                 BOOST_PP_CAT(fusion::vector, PHOENIX_ITERATION)<
                     PHOENIX_A_ref
                 >
                 args_type;
             args_type args(PHOENIX_a);
-            fusion::vector2<args_type&, default_actions> env(args, default_actions());
+            fusion::vector2<args_type&, default_actions>
+                env(args, default_actions());
 
             return eval(*this, env);
         }
@@ -54,17 +49,14 @@
         typename result_of::actor<Expr, PHOENIX_A_ref>::type
         operator()(PHOENIX_A_ref_a) const
         {
-            /*
-            typedef make_basic_environment<default_actions, PHOENIX_A_ref> env_type;
-            typename env_type::type env = env_type::make(PHOENIX_a);
-            */
             typedef
                 BOOST_PP_CAT(fusion::vector, PHOENIX_ITERATION)<
                     PHOENIX_A_ref
                 >
                 args_type;
             args_type args(PHOENIX_a);
-            fusion::vector2<args_type&, default_actions> env(args, default_actions());
+            fusion::vector2<args_type&, default_actions>
+                env(args, default_actions());
             
             return eval(*this, env);
         }
@@ -73,17 +65,14 @@
         typename result_of::actor<Expr, PHOENIX_A_const_ref>::type
         operator()(PHOENIX_A_const_ref_a)
         {
-            /*
-            typedef make_basic_environment<default_actions, PHOENIX_A_ref> env_type;
-            typename env_type::type env = env_type::make(PHOENIX_a);
-            */
             typedef
                 BOOST_PP_CAT(fusion::vector, PHOENIX_ITERATION)<
                     PHOENIX_A_const_ref
                 >
                 args_type;
             args_type args(PHOENIX_a);
-            fusion::vector2<args_type&, default_actions> env(args, default_actions());
+            fusion::vector2<args_type&, default_actions>
+                env(args, default_actions());
             
             return eval(*this, env);
         }
@@ -92,17 +81,14 @@
         typename result_of::actor<Expr, PHOENIX_A_const_ref>::type
         operator()(PHOENIX_A_const_ref_a) const
         {
-            /*
-            typedef make_basic_environment<default_actions, PHOENIX_A_ref> env_type;
-            typename env_type::type env = env_type::make(PHOENIX_a);
-            */
             typedef
                 BOOST_PP_CAT(fusion::vector, PHOENIX_ITERATION)<
                     PHOENIX_A_const_ref
                 >
                 args_type;
             args_type args(PHOENIX_a);
-            fusion::vector2<args_type&, default_actions> env(args, default_actions());
+            fusion::vector2<args_type&, default_actions>
+                env(args, default_actions());
 
             return eval(*this, env);
         }
@@ -122,7 +108,7 @@
         operator()(PHOENIX_PERM_A_a(I)) const                                   \
         {                                                                       \
             typedef                                                             \
-                typename fusion::result_of::make_vector<PHOENIX_PERM_A(I)>::type         \
+                typename fusion::result_of::make_vector<PHOENIX_PERM_A(I)>::type\
                 args_type;                                                      \
             args_type args(PHOENIX_a);                                          \
             fusion::vector2<                                                    \
@@ -137,7 +123,7 @@
         operator()(PHOENIX_PERM_A_a(I))                                         \
         {                                                                       \
             typedef                                                             \
-                typename fusion::result_of::make_vector<PHOENIX_PERM_A(I)>::type         \
+                typename fusion::result_of::make_vector<PHOENIX_PERM_A(I)>::type\
                 args_type;                                                      \
             args_type args(PHOENIX_a);                                          \
             fusion::vector2<                                                    \
@@ -153,23 +139,5 @@
 #undef PHOENIX_ACTOR_OPERATOR
 
 #endif
-/*
-        template <PHOENIX_typename_A>
-        typename compose<
-            actor_fun_eval<
-                actor<Expr>, BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, actor<A, > BOOST_PP_INTERCEPT)
-            >
-          , actor<Expr>, BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, actor<A, > BOOST_PP_INTERCEPT)
-        >::type const
-        operator()(BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, actor<A, > const& a)) const
-        {
-            return compose<
-                actor_fun_eval<actor<Expr>, BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, actor<A, > BOOST_PP_INTERCEPT)>
-              , actor<Expr>, BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, actor<A, > BOOST_PP_INTERCEPT)
-              >()(*this, a0, a1, a2);
-        }
-*/
-
-#undef PHOENIX_ENV
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_result_of.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_result_of.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/actor_result_of.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -22,18 +22,28 @@
        
 #else
 
-#define PHOENIX_ENV( A ) typename make_basic_environment<A>::type
-
         template <typename Expr, PHOENIX_typename_A>
         struct actor<Expr, PHOENIX_A>
-            /*: boost::result_of<eval_grammar(
-                ::boost::phoenix::actor<Expr> const &,
-                    PHOENIX_ENV(PHOENIX_A)&)>
-						  */
+        {
+            typedef
+                typename phoenix::evaluator::
+                    impl<
+                        Expr const&
+                      , fusion::vector2<
+                            BOOST_PP_CAT(
+                                fusion::vector
+                              , PHOENIX_ITERATION
+                            )<PHOENIX_A>
+                          , default_actions
+                        >
+                      , int
+                    >::result_type
+                type;
+        };
+        /*
             : boost::result_of<
                 phoenix::evaluator(
                     Expr const&
-                  //, typename make_basic_environment<default_actions, PHOENIX_A>::type &
                   , fusion::vector2<
                         BOOST_PP_CAT(fusion::vector, PHOENIX_ITERATION)<
                             PHOENIX_A
@@ -43,8 +53,7 @@
                 )
             >
         {};
-
-#undef PHOENIX_ENV
+        */
 
 #endif
 
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/compose_ex.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/compose_ex.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,50 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2005-2010 Joel de Guzman
-    Copyright (c) 2010 Thomas Heller
-
-    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)
-==============================================================================*/
-
-#if !PHOENIX_IS_ITERATING
-
-#ifndef PHOENIX_CORE_DETAIL_COMPOSE_RESULT_OF_HPP
-#define PHOENIX_CORE_DETAIL_COMPOSE_RESULT_OF_HPP
-
-#include <boost/phoenix/support/iterate.hpp>
-
-#define PHOENIX_ITERATION_PARAMS                                                \
-    (3, (4, PHOENIX_COMPOSITE_LIMIT,                                            \
-    <boost/phoenix/core/detail/compose_ex.hpp>))
-#include PHOENIX_ITERATE()
-
-#endif
-
-#else
-    
-    template <typename F, template<typename> class Actor, PHOENIX_typename_A>
-    struct compose_ex<F, Actor, PHOENIX_A>
-    {
-        typedef
-            typename proto::result_of::make_expr<
-                  proto::tag::function
-                , default_domain_with_basic_expr
-                , funcwrap<F>
-                , env
-                , PHOENIX_A>::type
-            base_type;
-        typedef Actor<base_type> result_type;
-        typedef result_type type;
-
-        result_type const
-        operator()(
-            BOOST_PP_ENUM_BINARY_PARAMS(
-                PHOENIX_ITERATION,
-                typename call_traits< A, >::param_type a)) const
-        {
-            actor<base_type> const e = {{{funcwrap<F>()}, {env()}, PHOENIX_a}};
-            return e;
-        }
-    };
-
-#endif
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/compose_result_of.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/compose_result_of.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,58 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2005-2010 Joel de Guzman
-    Copyright (c) 2010 Thomas Heller
-
-    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)
-==============================================================================*/
-
-#if !PHOENIX_IS_ITERATING
-
-#ifndef PHOENIX_CORE_DETAIL_COMPOSE_RESULT_OF_HPP
-#define PHOENIX_CORE_DETAIL_COMPOSE_RESULT_OF_HPP
-
-#include <boost/phoenix/support/iterate.hpp>
-
-#define PHOENIX_ITERATION_PARAMS                                                \
-    (3, (3, PHOENIX_COMPOSITE_LIMIT,                                            \
-    <boost/phoenix/core/detail/compose_ex.hpp>))
-#include PHOENIX_ITERATE()
-
-#endif
-
-#else
-    
-    template <typename F, template<typename> class Actor, PHOENIX_typename_A>
-    struct compose_ex<F, Actor, PHOENIX_A>
-    {
-        typedef
-            typename proto::result_of::make_expr<
-                  proto::tag::function
-                , default_domain_with_basic_expr
-                , funcwrap<F>
-                , env
-                , PHOENIX_A>::type
-            base_type;
-        typedef Actor<base_type> result_type;
-        typedef result_type type;
-
-        result_type const
-        operator()(
-            BOOST_PP_ENUM_BINARY_PARAMS(
-                PHOENIX_ITERATION,
-                typename call_traits< A, >::param_type a)) const
-        {
-#if PHOENIX_ITERATION == 1
-            // silence gcc warnings
-            //actor<base_type> const e = {{{funcwrap<F>()}, {env()}, {a0}}};
-            actor<base_type> const e = {{{funcwrap<F>()}, {env()}, a0}};
-#elif PHOENIX_ITERATION == 2
-            actor<base_type> const e = {{{funcwrap<F>()}, {env()}, a0, a1}};
-#else
-            actor<base_type> const e = {{{funcwrap<F>()}, {env()}, PHOENIX_a}};
-#endif
-            return e;
-        }
-    };
-
-#endif
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/make_basic_environment.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/detail/make_basic_environment.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,37 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2005-2010 Joel de Guzman
-    Copyright (c) 2010 Thomas Heller
-
-    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)
-==============================================================================*/
-
-#if !PHOENIX_IS_ITERATING
-
-#ifndef PHOENIX_CORE_DETAIL_MAKE_BASIC_ENVIRONMENT_HPP
-#define PHOENIX_CORE_DETAIL_MAKE_BASIC_ENVIRONMENT_HPP
-
-#define PHOENIX_ITERATION_PARAMS                                                \
-    (3, (4, PHOENIX_ARG_LIMIT,                                                  \
-    <boost/phoenix/core/detail/make_basic_environment.hpp>))
-#include PHOENIX_ITERATE()
-
-#endif
-
-#else
-
-    template <typename Actions, PHOENIX_typename_A>
-    struct make_basic_environment<Actions, PHOENIX_A>
-    {
-		 typedef
-			 BOOST_PP_CAT(fusion::vector, PHOENIX_ITERATION)<PHOENIX_A>
-			 params_type;
-		 typedef fusion::vector2<params_type, Actions> type;
-
-		 static type make(PHOENIX_A_a)
-		 {
-			 return type(params_type(PHOENIX_a), Actions());
-		 }
-	 };
-
-#endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/domain.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/domain.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/domain.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -25,12 +25,12 @@
         : proto::domain<
             proto::pod_generator<actor>
           , meta_grammar
-          //, proto::_
           , proto::default_domain
         >
     {
         template <typename T>
-        struct as_child : as_expr<T>
+        struct as_child
+            : as_expr<T>
         {};
     };
 }}
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -39,17 +39,17 @@
             typename result<NAME(Env const &)>::type                            \
             operator()(Env const & env) const                                   \
             {                                                                   \
-                return proto::functional::at()(env, mpl::int_<N>());              \
+                return proto::functional::at()(env, mpl::int_<N>());            \
             }                                                                   \
                                                                                 \
             template <typename Env>                                             \
             typename result<args(Env &)>::type                                  \
             operator()(Env & env) const                                         \
             {                                                                   \
-                return proto::functional::at()(env, mpl::int_<N>());              \
+                return proto::functional::at()(env, mpl::int_<N>());            \
             }                                                                   \
         };                                                                      \
-        /**/
+    /**/
         BOOST_PHOENIX_GET_ENVIRONMENT(args, 0)
         BOOST_PHOENIX_GET_ENVIRONMENT(actions, 1)
     #undef BOOST_PHOENIX_GET_ENVIRONMENT
@@ -69,7 +69,12 @@
 
             template <typename This, typename N, typename Env>
             struct result<This(N, Env &)>
-                : boost::result_of<proto::functional::at(typename args::result<args(Env &)>::type, N)>
+                : boost::result_of<
+                    proto::functional::at(
+                        typename args::result<args(Env &)>::type
+                      , N
+                    )
+                >
             {};
 
             template <typename N, typename Env>
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/expression.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/expression.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/expression.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -37,9 +37,10 @@
         : proto::domain<proto::use_basic_expr<proto::default_generator> >
     {};
 
-    #define PHOENIX_ITERATION_PARAMS                                            \
-        (3, (1, PHOENIX_COMPOSITE_LIMIT,                                        \
-        <boost/phoenix/core/expression.hpp>))
+#define PHOENIX_ITERATION_PARAMS                                                \
+    (3, (1, PHOENIX_COMPOSITE_LIMIT,                                            \
+    <boost/phoenix/core/expression.hpp>))                                       \
+/**/
     #include PHOENIX_ITERATE()
 
 }}
@@ -93,7 +94,7 @@
             )                                                                   \
         >                                                                       \
     {};                                                                         \
-    /**/
+/**/
 
 #define PHOENIX_DEFINE_EXPRESSION_VARARG(NAME, GRAMMAR, LIMIT)                  \
     namespace tag {                                                             \
@@ -141,7 +142,7 @@
     struct meta_grammar::case_<tag:: NAME, Dummy>                               \
         : proto::when<rule:: NAME, proto::external_transform>                   \
     {};                                                                         \
-    /**/
+/**/
 
 #define PHOENIX_DEFINE_EXPRESSION_EXT(ACTOR, NAME, SEQ)                         \
     namespace tag {                                                             \
@@ -168,7 +169,7 @@
     struct meta_grammar::case_<tag:: NAME, Dummy>                               \
         : proto::when<rule:: NAME, proto::external_transform>                   \
     {};                                                                         \
-    /**/
+/**/
 
 #define PHOENIX_DEFINE_EXPRESSION_EXT_VARARG_R(_, N, NAME)                      \
     template <                                                                  \
@@ -242,7 +243,7 @@
     struct meta_grammar::case_<tag:: NAME, Dummy>                               \
         : proto::when<rule:: NAME, proto::external_transform>                   \
     {};                                                                         \
-    /**/
+/**/
 
 #endif
 
@@ -283,11 +284,11 @@
         {};
         
         typedef Tag proto_tag;
-        #define BOOST_PHOENIX_ENUM_CHILDREN(_, N, __)                           \
+    #define BOOST_PHOENIX_ENUM_CHILDREN(_, N, __)                               \
         typedef BOOST_PP_CAT(A, N) BOOST_PP_CAT(proto_child, N);                \
-        /**/
+    /**/
         BOOST_PP_REPEAT(PHOENIX_ITERATION, BOOST_PHOENIX_ENUM_CHILDREN, _)
-        #undef BOOST_PHOENIX_ENUM_CHILDREN
+    #undef BOOST_PHOENIX_ENUM_CHILDREN
     };
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/function_equal.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/function_equal.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/function_equal.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -9,9 +9,6 @@
 #define PHOENIX_CORE_FUNCTION_EQUAL_HPP
 
 #include <boost/phoenix/core/terminal.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/facilities/empty.hpp>
-#include <boost/preprocessor/facilities/identity.hpp>
 
 namespace boost
 {
@@ -44,6 +41,7 @@
             {
                 return a0.get_pointer() == a1.get_pointer();
             }
+
             template <typename A0, typename A1>
             result_type
             operator()(weak_ptr<A0> const & a0, weak_ptr<A1> const & a1) const
@@ -61,27 +59,10 @@
                   , proto::or_<
                         proto::when<
                             proto::terminal<proto::_>
-                          , proto::if_<
-                                mpl::false_()//is_custom_terminal<proto::_value>()
-                              , compare(
-                                    proto::lazy<
-                                        custom_terminal<proto::_value>(
-                                            proto::_value
-                                        )
-                                    >
-                                  , proto::lazy<
-                                        custom_terminal<
-                                            proto::_value(proto::_state)
-                                        >(
-                                            proto::_value(proto::_state)
-                                        )
-                                    >
-                                )
-                              , compare(
-                                    proto::_value
-                                  , proto::_value(proto::_state)
-                                )
-                            >
+                          , compare(
+                                proto::_value
+                              , proto::_value(proto::_state)
+                            )
                         >
                       , proto::otherwise<test(proto::_, proto::_state)>
                     >
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_actor.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_actor.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_actor.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -23,10 +23,14 @@
     struct actor;
 
     template <typename T, typename Enable = void>
-    struct is_actor : mpl::false_ {};
+    struct is_actor
+        : mpl::false_
+    {};
 
     template <typename Expr>
-    struct is_actor<actor<Expr> > : mpl::true_ {};
+    struct is_actor<actor<Expr> >
+        : mpl::true_
+    {};
 }}
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_nullary.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_nullary.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/is_nullary.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -43,7 +43,12 @@
 
                 template <typename Dummy>
                 struct is_nullary_::when<rule::custom_terminal, Dummy>
-            : proto::lazy<is_nullary<custom_terminal<proto::_value> >(proto::_, _env)>
+            : proto::lazy<
+                is_nullary<custom_terminal<proto::_value> >(
+                    proto::_
+                  , _env
+                )
+            >
                 {};
 
                 template <typename Dummy>
@@ -54,7 +59,15 @@
 
         template <typename Expr>
         struct is_nullary
-		: boost::result_of<evaluator(Expr const&, fusion::vector2<fusion::vector0<>&, detail::is_nullary_>&)>
+		: boost::result_of<
+            evaluator(
+                Expr const&
+              , fusion::vector2<
+                    mpl::true_
+                  , detail::is_nullary_
+                >&
+            )
+        >
         {};
 
     template <typename T>
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/limits.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/limits.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/limits.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -40,7 +40,7 @@
 #endif
 
 #if !defined(PHOENIX_COMPOSITE_LIMIT)
-# define PHOENIX_COMPOSITE_LIMIT BOOST_PP_INC(PHOENIX_LIMIT)
+# define PHOENIX_COMPOSITE_LIMIT PHOENIX_LIMIT
 #elif (PHOENIX_COMPOSITE_LIMIT < 5)
 # error "PHOENIX_COMPOSITE_LIMIT is set too low"
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/mem_obj_ptr.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/mem_obj_ptr.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/mem_obj_ptr.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -8,7 +8,6 @@
 #ifndef PHOENIX_CORE_MEM_OBJ_PTR_HPP
 #define PHOENIX_CORE_MEM_OBJ_PTR_HPP
 
-#include <boost/phoenix/core/compose.hpp>
 #include <boost/phoenix/core/meta_grammar.hpp>
 #include <boost/type_traits/is_const.hpp>
 #include <boost/type_traits/remove_pointer.hpp>
@@ -27,6 +26,8 @@
     //         To be used in bind and operator->*
     //
     ////////////////////////////////////////////////////////////////////////////
+    
+    /* FIXME
     namespace meta
     {
         template <typename T>
@@ -64,7 +65,6 @@
     {
         template <typename Env, typename Object, typename MemPtr>
         struct mem_obj_ptr
-            : boost::result_of<eval_grammar()>
         {
             typedef typename meta::object_type<
                 typename remove_const<
@@ -166,6 +166,7 @@
 
         };
     }
+    */
 
 }}
 
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/meta_grammar.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/meta_grammar.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/meta_grammar.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -21,7 +21,7 @@
 
 namespace boost { namespace phoenix
 {
-    ////////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
     // The grammar defining valid phoenix expressions
     struct meta_grammar
         : proto::switch_<meta_grammar>
@@ -33,17 +33,24 @@
     };
 
     struct evaluator
-        : proto::call<
-            meta_grammar(
-                proto::_
-              , functional::args(proto::_state)
-              , functional::actions(proto::_state)
-            )
-        >
-    {};
+    {
+        BOOST_PROTO_TRANSFORM(evaluator)
+
+        template <typename Expr, typename State, typename Data>
+        struct impl
+            : proto::call<
+                meta_grammar(
+                    proto::_
+                  , functional::args(proto::_state)
+                  , functional::actions(proto::_state)
+                )
+            >::impl<Expr, State, Data>
+        {};
+    };
     
-    ////////////////////////////////////////////////////////////////////////////
-    // Set of default actions. Extend this whenever you add a new phoenix construct
+    /////////////////////////////////////////////////////////////////////////////
+    // Set of default actions. Extend this whenever you add a new phoenix
+    // construct
     struct default_actions
     {
         template <typename Rule, typename Dummy = void>
@@ -52,9 +59,9 @@
         {};
     };
 
-    ////////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
     // A function object we can call to evaluate our expression
-    evaluator const eval = evaluator();
+    evaluator const eval = {};
 }}
 
 #endif
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/core/no_nullary.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/no_nullary.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,71 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2005-2010 Joel de Guzman
-    Copyright (c) 2010 Thomas Heller
-
-    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 PHOENIX_CORE_NO_NULLARY_HPP
-#define PHOENIX_CORE_NO_NULLARY_HPP
-
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/proto/proto_fwd.hpp>
-#include <boost/proto/matches.hpp>
-#include <boost/proto/traits.hpp>
-#include <boost/proto/tags.hpp>
-#include <boost/proto/transform/arg.hpp>
-#include <boost/proto/transform/when.hpp>
-#include <boost/proto/transform/fold.hpp>
-#include <boost/utility/result_of.hpp>
-
-namespace boost { namespace phoenix
-{
-    template <typename F>
-    struct funcwrap;
-
-    template <typename Func, typename Dummy = void>
-    struct enable_nullary
-        : mpl::true_
-    {};
-    
-
-    template <typename Expr>
-    struct no_nullary;
-
-    namespace detail
-    {
-        struct no_nullary_transform
-          : proto::or_<
-                proto::when<
-                    proto::terminal<funcwrap<proto::_> >
-                  , mpl::not_<
-                        mpl::deref<
-                            enable_nullary<
-                                mpl::deref<proto::_value>
-                            >
-                        >
-                    >()
-                >
-              , proto::when<proto::terminal<proto::_>, mpl::false_()>
-              , proto::otherwise<
-                    proto::fold<
-                        proto::_
-                      , mpl::false_()
-                      , mpl::or_<no_nullary_transform, proto::_state>()
-                    >
-                >
-            >
-        {};
-    }
-
-    template <typename Expr>
-    struct no_nullary
-        : boost::result_of<detail::no_nullary_transform(Expr const&)>
-    {};
-
-}}
-
-#endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/nothing.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/nothing.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/nothing.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -7,29 +7,38 @@
 #ifndef PHOENIX_CORE_NOTHING_HPP
 #define PHOENIX_CORE_NOTHING_HPP
 
+#include <boost/mpl/void.hpp>
 #include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/compose.hpp>
+#include <boost/phoenix/core/expression.hpp>
 
 namespace boost { namespace phoenix
 {
-    ////////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
     //
     //  null_actor
     //
     //      An actor that does nothing (a "bum", if you will :-).
     //
-    ////////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
+    
+    PHOENIX_DEFINE_EXPRESSION(null, (proto::terminal<mpl::void_>::type))
     
     struct null_eval
     {
+        BOOST_PROTO_CALLABLE()
+
         typedef void result_type;
 
-        template <typename Env>
-        void eval(Env const&) const
+        void operator()() const
         {}
     };
 
-    compose<null_eval>::type const nothing = {};
+    template <typename Dummy>
+    struct default_actions::when<rule::null, Dummy>
+        : proto::call<null_eval()>
+    {};
+
+    expression::null<mpl::void_>::type const nothing = {};
 }}
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/reference.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/reference.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/reference.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -15,13 +15,13 @@
 
 namespace boost { namespace phoenix
 {
-    ////////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
     //
     // reference
     //
     //      function for evaluating references, e.g. ref(123)
     //
-    ////////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
     template <typename T>
     struct reference
         : proto::terminal<reference_wrapper<T> >
@@ -57,25 +57,12 @@
     {
         typedef T &result_type;
 
-        T &operator()(boost::reference_wrapper<T> r) const
-        {
-            std::cout << "...\n";
-            return r;
-        }
-
         template <typename Env>
         T &operator()(boost::reference_wrapper<T> r, Env &) const
         {
             return r;
         }
     };
-
-    /*
-    template <typename T>
-    struct is_nullary<custom_terminal<reference_wrapper<T> > >
-        : proto::make<mpl::true_()>
-    {};
-    */
 }}
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/terminal.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/terminal.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/terminal.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -13,7 +13,8 @@
 namespace boost { namespace phoenix
 {
     template <typename T>
-    struct is_custom_terminal : mpl::false_ {};
+    struct is_custom_terminal
+        : mpl::false_ {};
 
     template <typename T>
     struct custom_terminal;
@@ -46,10 +47,24 @@
     struct default_actions::when<rule::custom_terminal, Grammar>
         : proto::lazy<custom_terminal<proto::_value>(proto::_value, _env)>
     {};
+
+    namespace detail
+    {
+        template <typename N>
+        struct placeholder_idx
+            : mpl::int_<N::value - 1>
+        {};
+    }
     
     template <typename Grammar>
     struct default_actions::when<rule::argument, Grammar>
-        : proto::call<functional::args_at(proto::_value, _env)>
+        : proto::call<
+            functional::args_at(
+                //mpl::prior<boost::is_placeholder<proto::_value>()>()
+                detail::placeholder_idx<boost::is_placeholder<proto::_value>()>()
+              , _env
+            )
+        >
     {};
 }}
 
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/unpack.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/unpack.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/unpack.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -24,12 +24,6 @@
 #include <boost/proto/proto.hpp>
 #include <boost/proto/functional.hpp>
 
-#define UNPACK_CHOICES \
-    (phoenix::unpack) \
-    (phoenix::unpack()) \
-    (phoenix::unpack(Seq)) \
-    (phoenix::unpack(Seq, Fun))
-
 namespace boost { namespace phoenix
 {
     struct unpack {};
@@ -54,23 +48,20 @@
     }
 }}
 
+#define PHOENIX_UNPACK_CHOICES                                                  \
+    (phoenix::unpack)                                                           \
+    (phoenix::unpack())                                                         \
+    (phoenix::unpack(Seq))                                                      \
+    (phoenix::unpack(Seq, Fun))                                                 \
+/**/
+
 #define BOOST_PP_ITERATION_PARAMS_1                                             \
-            (3, (1, BOOST_PP_SEQ_SIZE(UNPACK_CHOICES),                          \
+            (3, (1, BOOST_PP_SEQ_SIZE(PHOENIX_UNPACK_CHOICES),                  \
             <boost/phoenix/core/unpack.hpp>))                                   \
 /**/
 #include BOOST_PP_ITERATE()
 
-#undef M0
-#undef M1
-#undef M2
-#undef M3
-#undef M4
-#undef M5
-#undef I
-#undef J
-#undef K
-#undef L
-#undef UNPACK_CHOICES
+#undef PHOENIX_UNPACK_CHOICES
 
 #endif
 
@@ -78,12 +69,12 @@
 
 #if BOOST_PP_ITERATION_DEPTH() == 1
 
-#define I                                                                       \
+#define PHOENIX_UNPACK_I                                                        \
     BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(1))                                   \
 /**/
 
-#define UNPACK                                                                  \
-    BOOST_PP_SEQ_ELEM(I, UNPACK_CHOICES)                                        \
+#define PHOENIX_UNPACK                                                          \
+    BOOST_PP_SEQ_ELEM(PHOENIX_UNPACK_I, PHOENIX_UNPACK_CHOICES)                 \
 /**/
 
 #define BOOST_PP_ITERATION_PARAMS_2                                             \
@@ -91,50 +82,64 @@
     <boost/phoenix/core/unpack.hpp>))                                           \
 /**/
 #include BOOST_PP_ITERATE()
-#undef UNPACK
+
+#undef PHOENIX_UNPACK
+#undef PHOENIX_UNPACK_I
 
 #elif BOOST_PP_ITERATION_DEPTH() == 2
 
-#define J                                                                       \
+#define PHOENIX_UNPACK_J                                                        \
     BOOST_PP_FRAME_ITERATION(2)                                                 \
 /**/
 
 #define BOOST_PP_ITERATION_PARAMS_3                                             \
-    (3, (BOOST_PP_DEC(J), BOOST_PP_DEC(BOOST_PROTO_MAX_ARITY),                  \
+    (3, (BOOST_PP_DEC(PHOENIX_UNPACK_J), BOOST_PP_DEC(BOOST_PROTO_MAX_ARITY),   \
     <boost/phoenix/core/unpack.hpp>))                                           \
 /**/
 #include BOOST_PP_ITERATE()
 
+#undef PHOENIX_UNPACK_J
+
 #elif BOOST_PP_ITERATION_DEPTH() == 3
 
-#define K                                                                       \
+#define PHOENIX_UNPACK_K                                                        \
     BOOST_PP_FRAME_ITERATION(3)                                                 \
 /**/
 
-#define M0(Z, N, D)                                                             \
+#define PHOENIX_UNPACK_M0(Z, N, D)                                              \
     , A ## N                                                                    \
 /**/
 
-#define SIG                                                                     \
+#define PHOENIX_UNPACK_SIG                                                      \
     R(                                                                          \
-        BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(J), A)                                \
-        BOOST_PP_COMMA_IF(BOOST_PP_DEC(J))                                      \
-        UNPACK                                                                  \
-        BOOST_PP_REPEAT_FROM_TO(BOOST_PP_FRAME_START(3), K, M0, _)              \
+        BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(PHOENIX_UNPACK_J), A)                 \
+        BOOST_PP_COMMA_IF(BOOST_PP_DEC(PHOENIX_UNPACK_J))                       \
+        PHOENIX_UNPACK                                                          \
+        BOOST_PP_REPEAT_FROM_TO(                                                \
+            BOOST_PP_FRAME_START(3)                                             \
+          , PHOENIX_UNPACK_K                                                    \
+          , PHOENIX_UNPACK_M0                                                   \
+          , _                                                                   \
+        )                                                                       \
     )                                                                           \
 /**/
 
-#define M1(Z, N, D)                                                             \
+#define PHOENIX_UNPACK_M1(Z, N, D)                                              \
     BOOST_PP_COMMA_IF(BOOST_PP_NOT_EQUAL(N, D)) BOOST_PP_CAT(A, N)              \
 /**/
 
-#define M2(Z, N, D)                                                             \
+#define PHOENIX_UNPACK_M2(Z, N, D)                                              \
     , typename A ## N                                                           \
 /**/
 
-#define TYPENAME_SIG                                                            \
-    BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(J), typename A)                           \
-    BOOST_PP_REPEAT_FROM_TO(BOOST_PP_FRAME_START(3), K, M2, _)                  \
+#define PHOENIX_UNPACK_TYPENAME_SIG                                             \
+    BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(PHOENIX_UNPACK_J), typename A)            \
+    BOOST_PP_REPEAT_FROM_TO(                                                    \
+        BOOST_PP_FRAME_START(3)                                                 \
+      , PHOENIX_UNPACK_K                                                        \
+      , PHOENIX_UNPACK_M2                                                       \
+      , _                                                                       \
+    )                                                                           \
 /**/
     
 namespace boost { namespace phoenix
@@ -148,7 +153,8 @@
           , typename Seq
           , typename Fun
           , typename R
-          BOOST_PP_COMMA_IF(BOOST_PP_DEC(J)) TYPENAME_SIG
+          BOOST_PP_COMMA_IF(BOOST_PP_DEC(PHOENIX_UNPACK_J))
+          PHOENIX_UNPACK_TYPENAME_SIG
         >
         struct unpack_impl<
             Expr
@@ -156,7 +162,7 @@
           , Data
           , Seq
           , Fun
-          , SIG
+          , PHOENIX_UNPACK_SIG
           , 0
         >
             : proto::transform_impl<Expr, State, Data>
@@ -166,17 +172,20 @@
             typedef
                 proto::call<
                     R(
-                        BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(J), A)
+                        BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(PHOENIX_UNPACK_J), A)
                         BOOST_PP_COMMA_IF(
                             BOOST_PP_AND(
-                                BOOST_PP_DEC(J)
-                              , BOOST_PP_NOT_EQUAL(BOOST_PP_FRAME_START(3), K)
+                                BOOST_PP_DEC(PHOENIX_UNPACK_J)
+                              , BOOST_PP_NOT_EQUAL(
+                                    BOOST_PP_FRAME_START(3)
+                                  , PHOENIX_UNPACK_K
+                                )
                             )
                         )
                         BOOST_PP_REPEAT_FROM_TO(
                             BOOST_PP_FRAME_START(3)
-                          , K
-                          , M1
+                          , PHOENIX_UNPACK_K
+                          , PHOENIX_UNPACK_M1
                           , BOOST_PP_FRAME_START(3)
                         )
                     )
@@ -212,16 +221,17 @@
 namespace boost { namespace proto {
     template <
         typename R
-      #if I > 1
+      #if PHOENIX_UNPACK_I > 1
       , typename Seq
       #endif
-      #if I > 2
+      #if PHOENIX_UNPACK_I > 2
       , typename Fun
       #endif
-      BOOST_PP_COMMA_IF(BOOST_PP_DEC(J)) TYPENAME_SIG
+      BOOST_PP_COMMA_IF(BOOST_PP_DEC(PHOENIX_UNPACK_J))
+      PHOENIX_UNPACK_TYPENAME_SIG
       >
-    struct call<SIG>
-        : proto::transform<call<SIG> >
+    struct call<PHOENIX_UNPACK_SIG>
+        : proto::transform<call<PHOENIX_UNPACK_SIG> >
     {
         template <typename Expr, typename State, typename Data>
         struct impl
@@ -229,33 +239,38 @@
                 Expr
               , State
               , Data
-              #if I > 1
+              #if PHOENIX_UNPACK_I > 1
               , Seq
               #else
               , proto::_
               #endif
-              #if I > 2
+              #if PHOENIX_UNPACK_I > 2
               , Fun
               #else
               , proto::_
               #endif
-              , SIG
+              , PHOENIX_UNPACK_SIG
             >
         {};
     };
 
 }}
 
+#undef PHOENIX_UNPACK_K
+#undef PHOENIX_UNPACK_SIG
+#undef PHOENIX_UNPACK_TYPENAME_SIG
+#undef PHOENIX_UNPACK_M0
+#undef PHOENIX_UNPACK_M1
+#undef PHOENIX_UNPACK_M2
+
 #else
 
-#define L BOOST_PP_FRAME_ITERATION(4)
+#define PHOENIX_UNPACK_L BOOST_PP_FRAME_ITERATION(4)
 
-//BOOST_PP_SUB(BOOST_PP_ADD(BOOST_PP_ADD(J, K), L), 2)
-#if J + K + L - 2 > BOOST_PROTO_MAX_ARITY
-//SIG J K L too much ...
+#if PHOENIX_UNPACK_J + PHOENIX_UNPACK_K + PHOENIX_UNPACK_L - 2 > BOOST_PROTO_MAX_ARITY
+//PHOENIX_UNPACK_SIG PHOENIX_UNPACK_J PHOENIX_UNPACK_K PHOENIX_UNPACK_L too much ...
 #else
-    #undef M5
-    #define M5(__, N, ___)                                                      \
+    #define PHOENIX_UNPACK_M5(__, N, ___)                                       \
         fun_type(proto::functional::at(Seq, mpl::int_<N>()))                    \
     /**/
 
@@ -266,7 +281,8 @@
           , typename Seq
           , typename Fun
           , typename R
-          BOOST_PP_COMMA_IF(BOOST_PP_DEC(J)) TYPENAME_SIG
+          BOOST_PP_COMMA_IF(BOOST_PP_DEC(PHOENIX_UNPACK_J))
+          PHOENIX_UNPACK_TYPENAME_SIG
         >
         struct unpack_impl<
             Expr
@@ -274,8 +290,8 @@
           , Data
           , Seq
           , Fun
-          , SIG
-          , L
+          , PHOENIX_UNPACK_SIG
+          , PHOENIX_UNPACK_L
         >
             : proto::transform_impl<Expr, State, Data>
         {
@@ -284,19 +300,25 @@
             typedef
                 proto::call<
                     R(
-                        BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(J), A)
-                        BOOST_PP_COMMA_IF(BOOST_PP_AND(BOOST_PP_DEC(J), L))
-                        BOOST_PP_ENUM(L, M5, _)
+                        BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(PHOENIX_UNPACK_J), A)
+                        BOOST_PP_COMMA_IF(
+                            BOOST_PP_AND(BOOST_PP_DEC(PHOENIX_UNPACK_J)
+                          , PHOENIX_UNPACK_L)
+                        )
+                        BOOST_PP_ENUM(PHOENIX_UNPACK_L, PHOENIX_UNPACK_M5, _)
                         BOOST_PP_COMMA_IF(
                             BOOST_PP_AND(
-                                L
-                              , BOOST_PP_NOT_EQUAL(BOOST_PP_FRAME_START(3), K)
+                                PHOENIX_UNPACK_L
+                              , BOOST_PP_NOT_EQUAL(
+                                    BOOST_PP_FRAME_START(3)
+                                  , PHOENIX_UNPACK_K
+                                )
                             )
                         )
                         BOOST_PP_REPEAT_FROM_TO(
                             BOOST_PP_FRAME_START(3)
-                          , K
-                          , M1
+                          , PHOENIX_UNPACK_K
+                          , PHOENIX_UNPACK_M1
                           , BOOST_PP_FRAME_START(3)
                         )
                     )
@@ -321,8 +343,11 @@
 
         };
 
+    #undef PHOENIX_UNPACK_M5
 #endif
 
+#undef PHOENIX_UNPACK_L
+
 #endif
 
 #endif
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/debug/dump_env.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/debug/dump_env.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,78 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2010 Thomas Heller
-
-    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 PHOENIX_DEBUG_DUMP_ENVIRONMENT_HPP
-#define PHOENIX_DEBUG_DUMP_ENVIRONMENT_HPP
-
-#include <boost/fusion/algorithm/iteration/for_each.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/phoenix/core/extension.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/proto/proto_fwd.hpp>
-#include <boost/proto/matches.hpp>
-
-#include <iostream>
-
-namespace boost { namespace phoenix
-{
-    namespace detail
-    {
-        struct dump_env_tag {};
-
-        typedef extension<dump_env_tag> dump_env_ext;
-
-        struct dump
-        {
-            template<typename T>
-            void
-            operator()(T & t ) const
-            {
-                std::cout << t << std::endl;
-            }
-        };
-
-        struct dump_env
-            : proto::callable
-        {
-            typedef void result_type;
-
-            template<typename Env>
-            void
-            operator()(Env & env) const
-            {
-                if( fusion::size( env ) == 0 )
-                {
-                    std::cout << "current environment is empty.\n";
-                    return;
-                }
-
-                std::cout << "current environment is:\n";
-                fusion::for_each( env, dump() );
-            }
-        };
-    }
-
-    
-	/// FIXME: boost::result_of doesn't seem to like that...
-	//boost::result_of< detail::dump_environment_extension() >::type
-    /*
-	boost::result_of< detail::dump_env_ext( mpl::void_ ) >::type
-		dump_env()
-	{
-		return detail::dump_env_ext()( mpl::void_() );
-	}*/
-    
-    
-    template<>
-    struct eval_cases::case_<debug::detail::dump_env_tag>
-        : proto::or_<
-            proto::when<
-                proto::_, debug::detail::dump_env(proto::_state)> >
-	{};
-
-}}
-
-#endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/function/detail/function_operator.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/function/detail/function_operator.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/function/detail/function_operator.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -12,8 +12,8 @@
 #define PHOENIX_FUNCTION_DETAIL_FUNCTION_OPERATOR_HPP
 
 #define PHOENIX_ITERATION_PARAMS                                                \
-        (3, (1, PHOENIX_ACTOR_LIMIT,                                            \
-        <boost/phoenix/function/detail/function_operator.hpp>))
+    (3, (1, PHOENIX_ACTOR_LIMIT,                                                \
+    <boost/phoenix/function/detail/function_operator.hpp>))
 #include PHOENIX_ITERATE()
 
 #endif
@@ -21,7 +21,7 @@
 #else
         template <typename This, PHOENIX_typename_A>
         struct result<This(PHOENIX_A)>
-            :result<This(PHOENIX_A_const_ref)>//: result_of::function<F, PHOENIX_A>
+            :result<This(PHOENIX_A_const_ref)>
         {};
 
         template <typename This, PHOENIX_typename_A>
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/function/detail/function_result_of.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/function/detail/function_result_of.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/function/detail/function_result_of.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -12,7 +12,7 @@
 #define PHOENIX_FUNCTION_DETAIL_FUNCTION_RESULT_OF_HPP
 
 #define PHOENIX_ITERATION_PARAMS                                                \
-    (3, (4, PHOENIX_ACTOR_LIMIT,                                                \
+    (3, (1, PHOENIX_ACTOR_LIMIT,                                                \
     <boost/phoenix/function/detail/function_result_of.hpp>))
 #include PHOENIX_ITERATE()
 
@@ -22,11 +22,12 @@
 
         template <typename F, PHOENIX_typename_A>
         struct function<F, PHOENIX_A>
-          : proto::result_of::make_expr<
+            : proto::result_of::make_expr<
                 proto::tag::function
               , phoenix_domain
               , F
-              , PHOENIX_A>
+              , PHOENIX_A
+            >
         {};
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/function/function.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/function/function.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/function/function.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -18,15 +18,22 @@
 
 namespace boost { namespace phoenix
 {
-    ////////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
     // Functions
-    ////////////////////////////////////////////////////////////////////////////
-    
+    /////////////////////////////////////////////////////////////////////////////
+
+    namespace expression
+    {
+        using proto::function;
+    }
     
     namespace rule
     {
         struct function
-            : proto::nary_expr<proto::tag::function, proto::vararg<meta_grammar> >
+            : proto::nary_expr<
+                proto::tag::function
+              , proto::vararg<meta_grammar>
+            >
         {};
     }
 
@@ -37,9 +44,11 @@
 
     namespace result_of
     {
-        template <typename F,
-            PHOENIX_typename_A_void(PHOENIX_ACTOR_LIMIT),
-            typename Dummy = void>
+        template <
+            typename F
+          , PHOENIX_typename_A_void(PHOENIX_ACTOR_LIMIT)
+          , typename Dummy = void
+        >
         struct function;
 
         template <typename F>
@@ -50,30 +59,6 @@
               , F>
         {};
 
-        template <typename F, typename A0>
-        struct function<F, A0>
-            : proto::result_of::make_expr<
-                proto::tag::function
-              , phoenix_domain
-              , F, A0>
-        {};
-
-        template <typename F, typename A0, typename A1>
-        struct function<F, A0, A1>
-            : proto::result_of::make_expr<
-                proto::tag::function
-              , phoenix_domain
-              , F, A0, A1>
-        {};
-
-        template <typename F, typename A0, typename A1, typename A2>
-        struct function<F, A0, A1, A2>
-            : proto::result_of::make_expr<
-                proto::tag::function
-              , phoenix_domain
-              , F, A0, A1, A2>
-        {};
-
         // Bring in the rest
         #include <boost/phoenix/function/detail/function_result_of.hpp>
     }
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/fusion/at.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/fusion/at.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/fusion/at.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -21,52 +21,25 @@
       , (proto::terminal<proto::_>)
         (meta_grammar)
     )
-
-    namespace result_of
-    {
-        template <typename Env, typename Tuple, int N>
-        struct at_c
-            : fusion::result_of::at_c<
-                typename boost::remove_reference<
-                    typename boost::result_of<
-                        evaluator(Tuple const&, Env)
-                    >::type
-                >::type
-              , N
-            >
-        {};
-    }
-
-
-    template <typename N>
-    struct at_eval
-    {
-        template <typename Sig>
-        struct result;
-
-        template <typename This, typename Env, typename Tuple>
-        struct result<This(Env, Tuple const&)>
-            : result_of::at_c<Env, Tuple, N::value>
-        {};
-
-        template <typename Env, typename Tuple>
-        typename result_of::at_c<Env &, Tuple, N::value>::type
-        operator()(Env& env, Tuple const& tuple) const
-        {
-            return fusion::at_c<0>(eval(tuple, env));
-        }
-    };
-
+    
     template <typename Dummy>
     struct default_actions::when<rule::at_c, Dummy>
-        : proto::lazy<at_eval<proto::_value(proto::_child_c<0>)>(_env, proto::_child_c<1>)>
+        : proto::call<
+            proto::functional::at(
+                evaluator(proto::_child_c<1>, _env)
+              , proto::_value(proto::_child_c<0>)
+            )
+        >
     {};
 
     template <int N, typename Tuple>
     typename expression::at_c<mpl::int_<N>, Tuple>::type const
     at_c(Tuple const& tuple)
     {
-        return expression::at_c<mpl::int_<N>, Tuple>::make(mpl::int_<N>(), tuple);
+        return
+            expression::
+                at_c<mpl::int_<N>, Tuple>::
+                    make(mpl::int_<N>(), tuple);
     }
 }}
 
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/object/const_cast.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/object/const_cast.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/object/const_cast.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -35,21 +35,31 @@
 
     template <typename Dummy>
     struct default_actions::when<rule::const_cast_, Dummy>
-        : proto::lazy<const_cast_eval<evaluator(proto::_child_c<0>, _env) >(_env, proto::_child_c<1>)>
+        : proto::lazy<
+            const_cast_eval<
+                evaluator(proto::_child_c<0>, _env)
+            >(_env, proto::_child_c<1>)
+        >
     {};
 
     template <typename T, typename U>
     typename expression::const_cast_<detail::target<T>, U>::type const
     const_cast_(U const& u)
     {
-        return expression::const_cast_<detail::target<T>, U>::make(detail::target<T>(), u);
+        return
+            expression::
+                const_cast_<detail::target<T>, U>::
+                    make(detail::target<T>(), u);
     }
     
     template <typename T, typename U>
     typename expression::const_cast_<detail::target<T>, U>::type const
     const_cast_(U & u)
     {
-        return expression::const_cast_<detail::target<T>, U>::make(detail::target<T>(), u);
+        return
+            expression::
+                const_cast_<detail::target<T>, U>::
+                    make(detail::target<T>(), u);
     }
 
 }}
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/object/construct.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/object/construct.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/object/construct.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -41,14 +41,21 @@
 
     template <typename Dummy>
     struct default_actions::when<rule::construct, Dummy>
-        : proto::lazy<construct_eval<proto::_value(proto::_child_c<0>)>(_env, unpack(proto::functional::pop_front(proto::_)))>
+        : proto::lazy<
+            construct_eval<
+                proto::_value(proto::_child_c<0>)
+            >(_env, unpack(proto::functional::pop_front(proto::_)))
+        >
     {};
 
     template <typename T>
     typename expression::construct<detail::target<T> >::type const
     construct()
     {
-        return expression::construct<detail::target<T> >::make(detail::target<T>());
+        return
+            expression::
+                construct<detail::target<T> >::
+                    make(detail::target<T>());
     }
 
     // Bring in the rest
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/construct.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/construct.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/construct.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -12,8 +12,8 @@
 #define PHOENIX_OBJECT_DETAIL_CONSTRUCT_HPP
 
 #define PHOENIX_ITERATION_PARAMS                                                \
-        (3, (1, PHOENIX_COMPOSITE_LIMIT,                                        \
-        <boost/phoenix/object/detail/construct.hpp>))
+    (3, (1, PHOENIX_COMPOSITE_LIMIT,                                            \
+    <boost/phoenix/object/detail/construct.hpp>))
 #include PHOENIX_ITERATE()
 
 #endif
@@ -24,7 +24,10 @@
     typename expression::construct<detail::target<T>, PHOENIX_A>::type const
     construct(PHOENIX_A_const_ref_a)
     {
-        return expression::construct<detail::target<T>, PHOENIX_A>::make(detail::target<T>(), PHOENIX_a);
+        return
+            expression::
+                construct<detail::target<T>, PHOENIX_A>::
+                    make(detail::target<T>(), PHOENIX_a);
     }
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/construct_eval.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/construct_eval.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/construct_eval.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -12,8 +12,8 @@
 #define PHOENIX_OBJECT_DETAIL_CONSTRUCT_EVAL_HPP
 
 #define PHOENIX_ITERATION_PARAMS                                                \
-        (3, (1, PHOENIX_COMPOSITE_LIMIT,                                        \
-        <boost/phoenix/object/detail/construct_eval.hpp>))
+    (3, (1, PHOENIX_COMPOSITE_LIMIT,                                            \
+    <boost/phoenix/object/detail/construct_eval.hpp>))
 #include PHOENIX_ITERATE()
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/new.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/new.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/new.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -24,7 +24,10 @@
     typename expression::new_<detail::target<T>, PHOENIX_A>::type const
     new_(PHOENIX_A_const_ref_a)
     {
-        return expression::new_<detail::target<T>, PHOENIX_A>::make(detail::target<T>(), PHOENIX_a);
+        return
+            expression::
+                new_<detail::target<T>, PHOENIX_A>::
+                    make(detail::target<T>(), PHOENIX_a);
     }
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/new_eval.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/new_eval.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/object/detail/new_eval.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -12,8 +12,8 @@
 #define PHOENIX_OBJECT_DETAIL_NEW_EVAL_HPP
 
 #define PHOENIX_ITERATION_PARAMS                                                \
-        (3, (1, PHOENIX_COMPOSITE_LIMIT,                                        \
-        <boost/phoenix/object/detail/new_eval.hpp>))
+    (3, (1, PHOENIX_COMPOSITE_LIMIT,                                            \
+    <boost/phoenix/object/detail/new_eval.hpp>))
 #include PHOENIX_ITERATE()
 
 #endif
@@ -27,7 +27,10 @@
 #define EVAL_a(_,n,__) \
             BOOST_PP_COMMA_IF(n) eval(a ## n, env)
 
-            return new construct_type(BOOST_PP_REPEAT(PHOENIX_ITERATION, EVAL_a, _));
+            return
+                new construct_type(
+                    BOOST_PP_REPEAT(PHOENIX_ITERATION, EVAL_a, _)
+                );
 #undef EVAL_a
         }
 
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/object/dynamic_cast.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/object/dynamic_cast.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/object/dynamic_cast.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -35,21 +35,31 @@
 
     template <typename Dummy>
     struct default_actions::when<rule::dynamic_cast_, Dummy>
-        : proto::lazy<dynamic_cast_eval<evaluator(proto::_child_c<0>, _env) >(_env, proto::_child_c<1>)>
+        : proto::lazy<
+            dynamic_cast_eval<
+                evaluator(proto::_child_c<0>, _env)
+            >(_env, proto::_child_c<1>)
+        >
     {};
 
     template <typename T, typename U>
     typename expression::dynamic_cast_<detail::target<T>, U>::type const
     dynamic_cast_(U const& u)
     {
-        return expression::dynamic_cast_<detail::target<T>, U>::make(detail::target<T>(), u);
+        return
+            expression::
+                dynamic_cast_<detail::target<T>, U>::
+                    make(detail::target<T>(), u);
     }
     
     template <typename T, typename U>
     typename expression::dynamic_cast_<detail::target<T>, U>::type const
     dynamic_cast_(U & u)
     {
-        return expression::dynamic_cast_<detail::target<T>, U>::make(detail::target<T>(), u);
+        return
+            expression::
+                dynamic_cast_<detail::target<T>, U>::
+                    make(detail::target<T>(), u);
     }
 }}
 
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/object/new.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/object/new.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/object/new.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -42,14 +42,21 @@
 
     template <typename Dummy>
     struct default_actions::when<rule::new_, Dummy>
-        : proto::lazy<new_eval<proto::_value(proto::_child_c<0>)>(_env, unpack(proto::functional::pop_front(proto::_)))>
+        : proto::lazy<
+            new_eval<
+                proto::_value(proto::_child_c<0>)
+            >(_env, unpack(proto::functional::pop_front(proto::_)))
+        >
     {};
 
     template <typename T>
     typename expression::new_<detail::target<T> >::type const
     new_()
     {
-        return expression::new_<detail::target<T> >::make(detail::target<T>());
+        return
+            expression::
+                new_<detail::target<T> >::
+                    make(detail::target<T>());
     }
 
     // Bring in the rest
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/object/reinterpret_cast.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/object/reinterpret_cast.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/object/reinterpret_cast.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -35,21 +35,29 @@
 
     template <typename Dummy>
     struct default_actions::when<rule::reinterpret_cast_, Dummy>
-        : proto::lazy<reinterpret_cast_eval<evaluator(proto::_child_c<0>, _env) >(_env, proto::_child_c<1>)>
+        : proto::lazy<
+            reinterpret_cast_eval<evaluator(proto::_child_c<0>, _env)
+        >(_env, proto::_child_c<1>)>
     {};
 
     template <typename T, typename U>
     typename expression::reinterpret_cast_<detail::target<T>, U>::type const
     reinterpret_cast_(U const& u)
     {
-        return expression::reinterpret_cast_<detail::target<T>, U>::make(detail::target<T>(), u);
+        return
+            expression::
+                reinterpret_cast_<detail::target<T>, U>::
+                    make(detail::target<T>(), u);
     }
     
     template <typename T, typename U>
     typename expression::reinterpret_cast_<detail::target<T>, U>::type const
     reinterpret_cast_(U & u)
     {
-        return expression::reinterpret_cast_<detail::target<T>, U>::make(detail::target<T>(), u);
+        return
+            expression::
+                reinterpret_cast_<detail::target<T>, U>::
+                    make(detail::target<T>(), u);
     }
 
 }}
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/object/static_cast.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/object/static_cast.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/object/static_cast.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -35,21 +35,29 @@
 
     template <typename Dummy>
     struct default_actions::when<rule::static_cast_, Dummy>
-        : proto::lazy<static_cast_eval<evaluator(proto::_child_c<0>, _env) >(_env, proto::_child_c<1>)>
+        : proto::lazy<
+            static_cast_eval<evaluator(proto::_child_c<0>, _env)
+        >(_env, proto::_child_c<1>)>
     {};
 
     template <typename T, typename U>
     typename expression::static_cast_<detail::target<T>, U>::type const
     static_cast_(U const& u)
     {
-        return expression::static_cast_<detail::target<T>, U>::make(detail::target<T>(), u);
+        return
+            expression::
+                static_cast_<detail::target<T>, U>::
+                    make(detail::target<T>(), u);
     }
     
     template <typename T, typename U>
     typename expression::static_cast_<detail::target<T>, U>::type const
     static_cast_(U & u)
     {
-        return expression::static_cast_<detail::target<T>, U>::make(detail::target<T>(), u);
+        return
+            expression::
+                static_cast_<detail::target<T>, U>::
+                    make(detail::target<T>(), u);
     }
 
 }}
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -1,44 +1,46 @@
 /*==============================================================================
     Copyright (c) 2005-2010 Joel de Guzman
+    Copyright (c) 2010 Thomas Heller
 
     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 PHOENIX_OPERATOR_HPP
 #define PHOENIX_OPERATOR_HPP
 
-#define PHOENIX_UNARY_RULE(__, ___, name)                                         \
-        struct name                                                             \
-            : proto::unary_expr<proto::tag::name, proto::_>                 \
-        {};                                                                     \
-    /**/
-
-#define PHOENIX_BINARY_RULE(__, ___, name)                                        \
-        struct name                                                             \
-            : proto::binary_expr<proto::tag::name, proto::_, proto::_>  \
-        {};                                                                     \
-    /**/
+#define PHOENIX_UNARY_RULE(__, ___, name)                                       \
+    struct name                                                                 \
+        : proto::unary_expr<proto::tag::name, proto::_>                         \
+    {};                                                                         \
+/**/
+
+#define PHOENIX_BINARY_RULE(__, ___, name)                                      \
+    struct name                                                                 \
+        : proto::binary_expr<proto::tag::name, proto::_, proto::_>              \
+    {};                                                                         \
+/**/
 
 #define PHOENIX_GRAMMAR(_, __, name)                                            \
     template <typename Dummy>                                                   \
     struct meta_grammar::case_<proto::tag::name, Dummy>                         \
-        : proto::when<rule::name, proto::external_transform>           \
+        : proto::when<rule::name, proto::external_transform>                    \
     {};                                                                         \
-    /**/
+/**/
 
 #define PHOENIX_UNARY_OPERATORS(ops)                                            \
     namespace rule {                                                            \
         BOOST_PP_SEQ_FOR_EACH(PHOENIX_UNARY_RULE, _, ops)                       \
     }                                                                           \
     BOOST_PP_SEQ_FOR_EACH(PHOENIX_GRAMMAR, _, ops)                              \
-    /**/
+/**/
 
 #define PHOENIX_BINARY_OPERATORS(ops)                                           \
     namespace rule {                                                            \
         BOOST_PP_SEQ_FOR_EACH(PHOENIX_BINARY_RULE, _, ops)                      \
     }                                                                           \
     BOOST_PP_SEQ_FOR_EACH(PHOENIX_GRAMMAR, _, ops)                              \
-    /**/
+/**/
 
 #include <boost/phoenix/version.hpp>
 #include <boost/phoenix/operator/arithmetic.hpp>
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -95,7 +95,11 @@
 #elif BOOST_PP_ITERATION_FLAGS() == PHOENIX_ITERATE_OPERATOR
 
             template <PHOENIX_typename_A>
-            typename result_of::mem_fun_ptr_gen<Object, MemPtr, PHOENIX_A>::type const
+            typename result_of::mem_fun_ptr_gen<
+                Object
+              , MemPtr
+              , PHOENIX_A
+            >::type const
             operator()(PHOENIX_A_const_ref_a) const
             {
                 return proto::make_expr<
@@ -103,7 +107,11 @@
             }
 
             template <PHOENIX_typename_A>
-            typename result_of::mem_fun_ptr_gen<Object, MemPtr, PHOENIX_A>::type const
+            typename result_of::mem_fun_ptr_gen<
+                Object
+              , MemPtr
+              , PHOENIX_A
+            >::type const
             operator()(PHOENIX_A_ref_a) const
             {
                 return proto::make_expr<
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/if_else.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/if_else.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/if_else.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -8,16 +8,26 @@
 #ifndef PHOENIX_OPERATOR_IF_ELSE_HPP
 #define PHOENIX_OPERATOR_IF_ELSE_HPP
 
-//#include <boost/phoenix/core/compose.hpp>
-//#include <boost/utility/result_of.hpp>
-
 namespace boost { namespace phoenix
 {
+    namespace tag
+    {
+        typedef proto::tag::if_else_ if_else_operator;
+    }
+
+    namespace expression
+    {
+        template <typename A0, typename A1, typename A2>
+        struct if_else_operator
+            : expr<tag::if_else_operator, A0, A1, A2>
+        {};
+    }
+
         namespace rule
         {
-		struct if_else
+		struct if_else_operator
                   : proto::nary_expr<
-		    proto::tag::if_else_
+		    tag::if_else_operator
                   , meta_grammar
                   , meta_grammar
                   , meta_grammar>
@@ -25,8 +35,8 @@
         }
 
         template <typename Dummy>
-	struct meta_grammar::case_<proto::tag::if_else_, Dummy>
-		: proto::when<rule::if_else, proto::external_transform>
+	struct meta_grammar::case_<tag::if_else_operator, Dummy>
+		: proto::when<rule::if_else_operator, proto::external_transform>
         {};
 
         using proto::if_else;
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/io.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/io.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/io.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -18,15 +18,15 @@
     namespace detail
     {
         typedef std::ios_base&  (*iomanip_type)(std::ios_base&);
-          typedef std::istream&   (*imanip_type)(std::istream&);
-          typedef std::ostream&   (*omanip_type)(std::ostream&);
+        typedef std::istream&   (*imanip_type)(std::istream&);
+        typedef std::ostream&   (*omanip_type)(std::ostream&);
     }
 
-    ///////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
     //
     //  overloads for I/O manipulators.
     //
-    ///////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
     template <typename Expr>
     typename proto::result_of::make_expr<
           proto::tag::shift_left
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/member.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/member.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/member.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -34,18 +34,24 @@
         template<typename Sig>
         struct result;
 
-        #define PHOENIX_MEMBER_RESULT_OF(_, N, __) \
-                  typename boost::result_of<evaluator(BOOST_PP_CAT(A, N) const&, Env&)>::type
-        #define PHOENIX_MEMBER_EVAL(_, N, __) \
-                  eval(BOOST_PP_CAT(a, N), env)
-
-        #define PHOENIX_ITERATION_PARAMS                                                \
-            (4, (0, PHOENIX_LIMIT,                                                  \
-            <boost/phoenix/operator/member.hpp>,                                    \
-            PHOENIX_ITERATE_OPERATOR))
+    #define PHOENIX_MEMBER_RESULT_OF(_, N, __)                                  \
+        typename boost::result_of<                                              \
+            evaluator(BOOST_PP_CAT(A, N) const&, Env&)                          \
+        >::type                                                                 \
+    /**/
+
+    #define PHOENIX_MEMBER_EVAL(_, N, __)                                       \
+        eval(BOOST_PP_CAT(a, N), env)
+    /**/
+
+    #define PHOENIX_ITERATION_PARAMS                                            \
+        (4, (0, PHOENIX_LIMIT,                                                  \
+        <boost/phoenix/operator/member.hpp>,                                    \
+        PHOENIX_ITERATE_OPERATOR))                                              \
+    /**/
         #include PHOENIX_ITERATE()
-        #undef PHOENIX_MEMBER_RESULT_OF
-        #undef PHOENIX_MEMBER_EVAL
+    #undef PHOENIX_MEMBER_RESULT_OF
+    #undef PHOENIX_MEMBER_EVAL
         };
 
     template <typename Dummy>
@@ -59,7 +65,13 @@
 #else // PHOENIX_IS_ITERATING
         
         
-        template<typename This, typename Env, typename T1, typename T2 BOOST_PP_COMMA_IF(PHOENIX_ITERATION) PHOENIX_typename_A>
+        template<
+            typename This
+          , typename Env
+          , typename T1
+          , typename T2
+          BOOST_PP_COMMA_IF(PHOENIX_ITERATION) PHOENIX_typename_A
+        >
         struct result<
             This(
                 Env
@@ -78,13 +90,20 @@
             >
         {};
         
-        template<typename This, typename Env, typename T1, typename T2 BOOST_PP_COMMA_IF(PHOENIX_ITERATION) PHOENIX_typename_A>
+        template<
+            typename This
+          , typename Env
+          , typename T1
+          , typename T2
+          BOOST_PP_COMMA_IF(PHOENIX_ITERATION) PHOENIX_typename_A
+        >
         struct result<
             This(
                 Env &
               , T1 const&
               , T2 const&
-              BOOST_PP_COMMA_IF(PHOENIX_ITERATION) PHOENIX_A_const_ref)
+              BOOST_PP_COMMA_IF(PHOENIX_ITERATION) PHOENIX_A_const_ref
+            )
         >
             : boost::result_of<
                 typename boost::remove_reference<
@@ -94,16 +113,40 @@
                     typename boost::result_of<
                         evaluator(T1 const&, Env&)
                     >::type
-                    BOOST_PP_ENUM_TRAILING(PHOENIX_ITERATION, PHOENIX_MEMBER_RESULT_OF, _)
+                    BOOST_PP_ENUM_TRAILING(
+                        PHOENIX_ITERATION, PHOENIX_MEMBER_RESULT_OF, _
+                    )
                 )
             >
         {};
                 
-        template <typename Env, typename T1, typename T2 BOOST_PP_ENUM_TRAILING_PARAMS(PHOENIX_ITERATION, typename A)>
-		typename result<mem_fun_ptr_eval(Env &, T1 const&, T2 const&  BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(PHOENIX_ITERATION, A, const & BOOST_PP_INTERCEPT))>::type
-		operator()(Env & env, T1 const& t1, T2 const& t2 BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(PHOENIX_ITERATION, A, const & a)) const
+        template <
+            typename Env
+          , typename T1
+          , typename T2
+          BOOST_PP_ENUM_TRAILING_PARAMS(PHOENIX_ITERATION, typename A)
+        >
+		typename result<
+            mem_fun_ptr_eval(
+                Env &
+              , T1 const&
+              , T2 const&
+              BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(
+                    PHOENIX_ITERATION
+                  , A
+                  , const & BOOST_PP_INTERCEPT
+                )
+            )
+        >::type
+		operator()(
+            Env & env
+          , T1 const& t1
+          , T2 const& t2
+          BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(PHOENIX_ITERATION, A, const & a)
+        ) const
                 {
-			return (get_pointer(eval(t1, env))->*eval(t2, env))(BOOST_PP_ENUM(PHOENIX_ITERATION, PHOENIX_MEMBER_EVAL, _));
+			return (get_pointer(eval(t1, env))->*eval(t2, env))
+                (BOOST_PP_ENUM(PHOENIX_ITERATION, PHOENIX_MEMBER_EVAL, _));
                 }
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/operator.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/operator.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/operator.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -8,8 +8,6 @@
 #ifndef PHOENIX_OPERATOR_OPERATOR_HPP
 #define PHOENIX_OPERATOR_OPERATOR_HPP
 
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
 #include <boost/proto/operators.hpp>
 
 #endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/dynamic.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/dynamic.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/dynamic.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -5,43 +5,54 @@
     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)
 ==============================================================================*/
-
 #if !PHOENIX_IS_ITERATING
 
+#define PHOENIX_SCOPE_DYNAMIC_MEMBER(_, N, __)                                  \
+        typedef                                                                 \
+            typename expression::dynamic_member<                                \
+                mpl::int_<N>                                                    \
+              , self_type *                                                     \
+            >::type                                                             \
+            BOOST_PP_CAT(member, BOOST_PP_INC(N));                              \
+/**/
+
 #define PHOENIX_ITERATION_PARAMS                                                \
-    (3, (4, PHOENIX_DYNAMIC_LIMIT,                                              \
+    (3, (1, PHOENIX_DYNAMIC_LIMIT,                                              \
     <boost/phoenix/scope/detail/dynamic.hpp>))
 #include PHOENIX_ITERATE()
 
-#else
-
-#define PHOENIX_SCOPE_DYNAMIC_MEMBER_I(_, n, __) \
-        typedef typename expression::dynamic_member<mpl::int_<n>, self_type>::type BOOST_PP_CAT(member, BOOST_PP_INC(n));
-    
-
-//typedef typename make_dynamic_member<n, self_type>::type BOOST_PP_CAT(member, BOOST_PP_INC(n));
+#undef PHOENIX_SCOPE_DYNAMIC_MEMBER
 
-#define PHOENIX_SCOPE_DYNAMIC_MEMBER BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_SCOPE_DYNAMIC_MEMBER_I, _)
+#else
 
     template <PHOENIX_typename_A>
     struct dynamic<PHOENIX_A> : noncopyable
     {
-        typedef BOOST_PP_CAT(fusion::vector, PHOENIX_ITERATION)<PHOENIX_A> tuple_type;
-        typedef dynamic<PHOENIX_A> self_type;
-        typedef dynamic_frame<self_type> dynamic_frame_type;
+        typedef
+            BOOST_PP_CAT(fusion::vector, PHOENIX_ITERATION)<PHOENIX_A>
+            tuple_type;
+        typedef
+            dynamic<PHOENIX_A>
+            self_type;
+        typedef
+            dynamic_frame<self_type>
+            dynamic_frame_type;
 
         dynamic()
             : frame(0) {}
 
         template <int N>
         static
-        void //typename make_dynamic_member<N, self_type>::type
-        init(self_type& scope)
+        typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
+        init(self_type * scope)
         {
-            //return make_dynamic_member<N, self_type>()(dynamic_member_data<N, self_type>(static_cast<self_type &>(scope)));
+            return
+                expression::
+                    dynamic_member<mpl::int_<N>, self_type *>::
+                        make(mpl::int_<N>(), scope);
         }
 
-        PHOENIX_SCOPE_DYNAMIC_MEMBER
+        BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_SCOPE_DYNAMIC_MEMBER, _)
 
         mutable dynamic_frame_type* frame;
     };
Added: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/let_local_gen.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/let_local_gen.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -0,0 +1,33 @@
+/*==============================================================================
+    Copyright (c) 2005-2010 Joel de Guzman
+    Copyright (c) 2010 Thomas Heller
+
+    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)
+==============================================================================*/
+#if !PHOENIX_IS_ITERATING
+
+#ifndef PHOENIX_SCOPE_DETAIL_LET_LOCAL_GEN_HPP
+#define PHOENIX_SCOPE_DETAIL_LET_LOCAL_GEN_HPP
+
+#include <boost/phoenix/support/iterate.hpp>
+
+#define PHOENIX_ITERATION_PARAMS                                                \
+    (3, (2, PHOENIX_LOCAL_LIMIT,                                                \
+    <boost/phoenix/scope/detail/let_local_gen.hpp>))
+#include PHOENIX_ITERATE()
+
+#endif
+
+#else
+
+        template <PHOENIX_typename_A>
+        let_actor_gen<
+            typename detail::make_locals<PHOENIX_A>::type
+        > const
+        operator()(PHOENIX_A_const_ref_a) const
+        {
+            return detail::make_locals<PHOENIX_A>::make(PHOENIX_a);
+        }
+
+#endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_gen.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_gen.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_gen.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -8,43 +8,45 @@
 
 #if !PHOENIX_IS_ITERATING
 
+#define PHOENIX_LOCAL_GEN_KEY_TYPES(_, N, __)                                   \
+	BOOST_PP_COMMA_IF(N)                                                        \
+    typename proto::result_of::value<                                           \
+        typename proto::result_of::child_c<                                     \
+            typename proto::result_of::child_c<A ## N, 0>::type                 \
+          , 0                                                                   \
+        >::type                                                                 \
+    >::type::type::key_type                                                     \
+/**/
+
+#define PHOENIX_LOCAL_GEN_ACTOR(_, N, __)                                     \
+	BOOST_PP_COMMA_IF(N) proto::child_c<1>(a ## N)                              \
+/**/
+
+#define PHOENIX_LOCAL_GEN_ACTOR_TYPES(_, n, __)                               \
+	BOOST_PP_COMMA_IF(n) typename proto::result_of::child_c<A ## n, 1>::type    \
+/**/
+
 #define PHOENIX_ITERATION_PARAMS                                                \
-    (3, (3, PHOENIX_LOCAL_LIMIT,                                                  \
+    (3, (3, PHOENIX_LOCAL_LIMIT,                                                \
     <boost/phoenix/scope/detail/local_gen.hpp>))
 #include PHOENIX_ITERATE()
 
-#else
-
-#define PHOENIX_LOCAL_GEN_ACTOR_TYPES_I(_, n, __) \
-	BOOST_PP_COMMA_IF(n) typename proto::result_of::child_c<A ## n, 1>::type
-
-#define PHOENIX_LOCAL_GEN_ACTOR_TYPES BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_LOCAL_GEN_ACTOR_TYPES_I, _)
+#undef PHOENIX_LOCAL_GEN_KEY_TYPES
+#undef PHOENIX_LOCAL_GEN_ACTOR
+#undef PHOENIX_LOCAL_GEN_ACTOR_TYPES
 
-#define PHOENIX_LOCAL_GEN_ACTOR_I(_, n, __) \
-	BOOST_PP_COMMA_IF(n) proto::child_c<1>(a ## n)
-
-#define PHOENIX_LOCAL_GEN_ACTOR BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_LOCAL_GEN_ACTOR_I, _)
-
-#define PHOENIX_LOCAL_GEN_KEY_TYPES_I(_, n, __) \
-	BOOST_PP_COMMA_IF(n) \
-                typename proto::result_of::value< \
-                    typename proto::result_of::child_c< \
-                        typename proto::result_of::child_c<A ## n, 0>::type, 0 \
-                    >::type \
-                >::type::type::key_type \
-
-#define PHOENIX_LOCAL_GEN_KEY_TYPES BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_LOCAL_GEN_KEY_TYPES_I, _)
+#else
 
         template <PHOENIX_typename_A>
         PHOENIX_LOCAL_GEN_NAME<
             BOOST_PP_CAT(fusion::vector, PHOENIX_ITERATION)<PHOENIX_LOCAL_GEN_ACTOR_TYPES>
-          , detail::map_local_index_to_tuple<PHOENIX_LOCAL_GEN_KEY_TYPES>
+          , detail::map_local_index_to_tuple<BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_LOCAL_GEN_KEY_TYPES, _)>
         > const
         operator()(PHOENIX_A_const_ref_a) const
         {
             return
                 BOOST_PP_CAT(
-                     fusion::vector, PHOENIX_ITERATION)<PHOENIX_LOCAL_GEN_ACTOR_TYPES>(PHOENIX_LOCAL_GEN_ACTOR);
+                     fusion::vector, PHOENIX_ITERATION)<BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_LOCAL_GEN_ACTOR_TYPES_I, _)>(BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_LOCAL_GEN_ACTOR, _));
         }
 
 #endif
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_variable.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_variable.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,183 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2005-2010 Joel de Guzman
-    Copyright (c) 2010 Thomas Heller
-
-    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 PHOENIX_SCOPE_DETAIL_LOCAL_VARIABLE_HPP
-#define PHOENIX_SCOPE_DETAIL_LOCAL_VARIABLE_HPP
-
-#define PHOENIX_MAP_LOCAL_TEMPLATE_PARAM(z, n, data) \
-    typename T##n = unused<n>
-
-#define PHOENIX_MAP_LOCAL_DISPATCH(z, n, data)  \
-    typedef char(&result##n)[n+2];              \
-    static result##n get(T##n*);
-
-
-namespace boost { namespace phoenix
-{
-    namespace detail
-    {
-        struct compute_no_nullary
-        {
-            template <typename State, typename T>
-            struct apply
-            {
-                typedef typename 
-                    mpl::or_<typename no_nullary<T>::type, State>::type
-                type;
-            };
-        };
-
-        template <typename Env>
-        struct initialize_local
-        {
-            template <typename Sig>
-            struct result;
-
-            template <typename This, typename Expr>
-            struct result<This(Expr)>
-            {
-                typedef typename remove_reference<Expr>::type expr_type;
-                typedef typename boost::result_of<eval_grammar(expr_type const&, Env &)>::type type;
-            };
-
-            initialize_local(Env& env)
-                : env(env) {}
-
-            template <typename Expr>
-            typename result<initialize_local(Expr)>::type
-            operator()(Expr const& expr) const
-            {
-                return eval(expr, env);
-            }
-
-            Env& env;
-        };
-
-        template <int N>
-        struct unused;
-
-        template <BOOST_PP_ENUM(
-                PHOENIX_LOCAL_LIMIT, PHOENIX_MAP_LOCAL_TEMPLATE_PARAM, _)>
-        struct map_local_index_to_tuple
-        {
-            typedef char(¬_found)[1];
-            static not_found get(...);
-
-            BOOST_PP_REPEAT(PHOENIX_LOCAL_LIMIT, PHOENIX_MAP_LOCAL_DISPATCH, _)
-        };
-
-        template<typename T>
-        T* generate_pointer();
-
-        template <typename Map, typename Tag>
-        struct get_index
-        {
-            BOOST_STATIC_CONSTANT(int,
-                value = (
-                    static_cast<int>((sizeof(Map::get(generate_pointer<Tag>()))) / sizeof(char)) - 2
-                ));
-
-            // if value == -1, Tag is not found
-            typedef mpl::int_<value> type;
-        };
-
-        template <typename Key, typename Env>
-        struct apply_local;
-
-        template <typename Key, typename Env>
-        struct outer_local
-        {
-            typedef typename
-                apply_local<Key, typename Env::outer_env_type>::type
-            type;
-        };
-
-        template <typename Locals, typename Index>
-        struct get_local_or_void
-        {
-            typedef typename
-                mpl::eval_if<
-                    mpl::less<Index, mpl::size<Locals> >
-                  , fusion::result_of::at<Locals, Index>
-                  , mpl::identity<fusion::void_>
-                >::type
-            type;
-        };
-
-        template <typename Key, typename Env, typename Index>
-        struct get_local_from_index
-        {
-            typedef typename
-                mpl::eval_if<
-                    mpl::equal_to<Index, mpl::int_<-1> >
-                  , outer_local<Key, Env>
-                  , get_local_or_void<typename Env::locals_type, Index>
-                >::type
-            type;
-        };
-
-        template <typename Key, typename Env>
-        struct get_local
-        {
-            typedef typename
-                get_index<
-                    typename Env::map_type, Key>::type
-            index_type;
-
-            typedef typename
-                get_local_from_index<Key, Env, index_type>::type
-            type;
-        };
-
-        template <typename Key, typename Env>
-        struct apply_local
-        {
-            //BOOST_STATIC_ASSERT( is_scoped_environment<Env>::value );
-            // $$$ TODO: static assert that Env is a scoped_environment $$$
-            typedef typename get_local<Key, Env>::type type;
-        };
-
-        template <typename Key>
-        struct eval_local
-        {
-            template <typename RT, typename Env, typename Index>
-            static RT
-            get(Env & env, Index, mpl::false_)
-            {
-                return fusion::at<Index>(env.locals);
-            }
-
-            template <typename RT, typename Env, typename Index>
-            static RT
-            get(Env & env, Index index, mpl::true_)
-            {
-                typedef typename
-                    get_index<typename Env::outer_env_type::map_type, Key>::type
-                index_type;
-
-                return get<RT>(
-                    env.outer_env
-                  , index_type()
-                  , mpl::equal_to<index_type, mpl::int_<-1> >());
-            }
-
-            template <typename RT, typename Env, typename Index>
-            static RT
-            get(Env & env, Index index)
-            {
-                return get<RT>(
-                    env
-                  , index
-                  , mpl::equal_to<Index, mpl::int_<-1> >());
-            }
-        };
-
-    }
-
-}}
-
-#endif
Added: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/make_locals.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/make_locals.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -0,0 +1,63 @@
+/*==============================================================================
+    Copyright (c) 2005-2010 Joel de Guzman
+    Copyright (c) 2010 Thomas Heller
+
+    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)
+==============================================================================*/
+#if !PHOENIX_IS_ITERATING
+
+#ifndef PHOENIX_SCOPE_DETAIL_MAKE_LOCALS_HPP
+#define PHOENIX_SCOPE_DETAIL_MAKE_LOCALS_HPP
+
+#include <boost/phoenix/support/iterate.hpp>
+
+#define PHOENIX_ITERATION_PARAMS                                                \
+    (3, (3, PHOENIX_LOCAL_LIMIT,                                                \
+    <boost/phoenix/scope/detail/make_locals.hpp>))
+#include PHOENIX_ITERATE()
+
+#endif
+
+#else
+
+        template <PHOENIX_typename_A>
+        struct make_locals<PHOENIX_A>
+        {
+            typedef
+                typename make_locals<
+                    BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(PHOENIX_ITERATION), A)
+                >::type const
+                type0;
+
+            typedef
+                typename expression::sequence<
+                    type0
+                  , BOOST_PP_CAT(A, BOOST_PP_DEC(PHOENIX_ITERATION))
+                >::type
+                type;
+
+            static type const make(PHOENIX_A_a)
+            {
+                return
+                    expression::sequence<
+                        type0
+                      , BOOST_PP_CAT(A, BOOST_PP_DEC(PHOENIX_ITERATION))
+                    >::make(
+                        make_locals<
+                            BOOST_PP_ENUM_PARAMS(
+                                BOOST_PP_DEC(PHOENIX_ITERATION)
+                              , A
+                            )
+                        >::make(
+                            BOOST_PP_ENUM_PARAMS(
+                                BOOST_PP_DEC(PHOENIX_ITERATION)
+                              , a
+                            )
+                        )
+                      , BOOST_PP_CAT(a, BOOST_PP_DEC(PHOENIX_ITERATION))
+                    );
+            }
+        };
+
+#endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/dynamic.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/dynamic.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/dynamic.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -123,9 +123,16 @@
                     typename proto::detail::uncvref<Scope>::type
                 >::type
                 scope_type;
-            typedef typename scope_type::dynamic_frame_type::tuple_type tuple_type;
-
-            typedef typename fusion::result_of::at_c<tuple_type, proto::detail::uncvref<N>::type::value>::type type;
+            typedef 
+                typename scope_type::dynamic_frame_type::tuple_type
+                tuple_type;
+
+            typedef
+                typename fusion::result_of::at_c<
+                    tuple_type
+                  , proto::detail::uncvref<N>::type::value
+                >::type
+                type;
 
         };
 
@@ -139,87 +146,21 @@
 
     template <typename Dummy>
     struct default_actions::when<rule::dynamic_member, Dummy>
-        : proto::call<dynamic_member_eval(_env, proto::_value(proto::_child_c<0>), proto::_value(proto::_child_c<1>))>
+        : proto::call<
+            dynamic_member_eval(
+                _env
+              , proto::_value(proto::_child_c<0>)
+              , proto::_value(proto::_child_c<1>)
+            )
+        >
     {};
     
-    template <PHOENIX_typename_A_void(PHOENIX_DYNAMIC_LIMIT), typename Dummy = void>
+    template <
+        PHOENIX_typename_A_void(PHOENIX_DYNAMIC_LIMIT)
+      , typename Dummy = void
+    >
     struct dynamic;
     
-    template <typename A0>
-    struct dynamic<A0> : noncopyable
-    {
-        typedef fusion::vector1<A0> tuple_type;
-        typedef dynamic<A0> self_type;
-        typedef dynamic_frame<self_type> dynamic_frame_type;
-
-        dynamic()
-            : frame(0) {}
-
-        template <int N>
-        static
-        void//typename make_dynamic_member<N, self_type>::type
-        init(self_type& scope)
-        {
-            //return make_dynamic_member<N, self_type>()(dynamic_member_data<N, self_type>(static_cast<self_type &>(scope)));
-        }
-
-        //typedef typename make_dynamic_member<0, self_type>::type member1;
-        typedef typename expression::dynamic_member<mpl::int_<0>, self_type>::type member1;
-
-        mutable dynamic_frame_type* frame;
-    };
-    
-    template <typename A0, typename A1>
-    struct dynamic<A0, A1> : noncopyable
-    {
-        typedef fusion::vector2<A0, A1> tuple_type;
-        typedef dynamic<A0, A1> self_type;
-        typedef dynamic_frame<self_type> dynamic_frame_type;
-
-        dynamic()
-            : frame(0) {}
-
-        template <int N>
-        static 
-        void//typename make_dynamic_member<N, self_type>::type
-        init(self_type& scope)
-        {
-            //return make_dynamic_member<N, self_type>()(dynamic_member_data<N, self_type>(static_cast<self_type &>(scope)));
-        }
-
-        //typedef typename make_dynamic_member<0, self_type>::type member1;
-        typedef typename expression::dynamic_member<mpl::int_<0>, self_type>::type member1;
-        //typedef typename make_dynamic_member<1, self_type>::type member2;
-        typedef typename expression::dynamic_member<mpl::int_<1>, self_type>::type member2;
-
-        mutable dynamic_frame_type* frame;
-    };
-    
-    template <typename A0, typename A1, typename A2>
-    struct dynamic<A0, A1, A2> : noncopyable
-    {
-        typedef fusion::vector3<A0, A1, A2> tuple_type;
-        typedef dynamic<A0, A1, A2> self_type;
-        typedef dynamic_frame<self_type> dynamic_frame_type;
-
-        dynamic()
-            : frame(0) {}
-
-        template <int N>
-        static
-        typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
-        init(self_type * scope)
-        {
-            return expression::dynamic_member<mpl::int_<N>, self_type *>::make(mpl::int_<N>(), scope);
-        }
-
-        typedef typename expression::dynamic_member<mpl::int_<0>, dynamic *>::type member1;
-        typedef typename expression::dynamic_member<mpl::int_<1>, dynamic *>::type member2;
-        typedef typename expression::dynamic_member<mpl::int_<2>, dynamic *>::type member3;
-
-        mutable dynamic_frame_type* frame;
-    };
-
     // Bring in the rest ...
     #include <boost/phoenix/scope/detail/dynamic.hpp>
 }}
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/lambda.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/lambda.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/lambda.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -9,17 +9,6 @@
 #ifndef PHOENIX_SCOPE_LAMBDA_HPP
 #define PHOENIX_SCOPE_LAMBDA_HPP
 
-/*
-#include <boost/fusion/include/transform.hpp>
-#include <boost/fusion/include/as_vector.hpp>
-#include <boost/fusion/include/mpl.hpp>
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/scope/scoped_environment.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/scope/detail/local_variable.hpp>
-#include <boost/phoenix/support/element_at.hpp>
-#include <boost/phoenix/support/iterate.hpp>
-*/
 #include <boost/phoenix/core/limits.hpp>
 #include <boost/mpl/int.hpp>
 #include <boost/phoenix/core/actor.hpp>
@@ -35,22 +24,41 @@
     )
 
     struct lambda_eval
-        : proto::callable
     {
+        BOOST_PROTO_CALLABLE()
+
         template <typename Sig>
         struct result;
 
-        template <typename This, typename Env, typename OuterEnv, typename Locals, typename Lambda>
+        template <
+            typename This
+          , typename Env
+          , typename OuterEnv
+          , typename Locals
+          , typename Lambda
+        >
         struct result<This(Env, OuterEnv, Locals, Lambda)>
             : result<This(Env const &, OuterEnv &, Locals &, Lambda &)>
         {};
 
-        template <typename This, typename Env, typename OuterEnv, typename Locals, typename Lambda>
+        template <
+            typename This
+          , typename Env
+          , typename OuterEnv
+          , typename Locals
+          , typename Lambda
+        >
         struct result<This(Env, OuterEnv &, Locals &, Lambda &)>
             : result<This(Env const &, OuterEnv &, Locals &, Lambda &)>
         {};
 
-        template <typename This, typename Env, typename OuterEnv, typename Locals, typename Lambda>
+        template <
+            typename This
+          , typename Env
+          , typename OuterEnv
+          , typename Locals
+          , typename Lambda
+        >
         struct result<This(Env &, OuterEnv &, Locals &, Lambda &)>
         {
             typedef
@@ -60,6 +68,7 @@
                     >::type
                 >::type
                 args_type;
+
             typedef
                 typename proto::detail::uncvref<
                     typename boost::result_of<
@@ -67,22 +76,47 @@
                     >::type
                 >::type
                 actions_type;
-            typedef fusion::vector2<args_type, actions_type> env_type;
 
-            typedef typename proto::detail::uncvref<Locals>::type locals_type;
+            typedef
+                fusion::vector2<args_type, actions_type>
+                env_type;
 
-            typedef typename proto::detail::uncvref<OuterEnv>::type outer_env_type;
+            typedef
+                typename proto::detail::uncvref<Locals>::type
+                locals_type;
 
-            typedef scoped_environment<env_type, outer_env_type const, locals_type const> scoped_env;
+            typedef
+                typename proto::detail::uncvref<OuterEnv>::type
+                outer_env_type;
+
+            typedef
+                scoped_environment<env_type, outer_env_type const, locals_type const>
+                scoped_env;
 
-            typedef fusion::vector2<scoped_env, actions_type&> new_env_type;
+            typedef
+                fusion::vector2<scoped_env, actions_type&>
+                new_env_type;
 
-            typedef typename boost::result_of<evaluator(Lambda const &, new_env_type &)>::type type;
+            typedef
+                typename evaluator::impl<Lambda const &, new_env_type&, int>::result_type
+                type;
         };
         
-        template <typename Env, typename OuterEnv, typename Locals, typename Lambda>
-        typename result<lambda_eval(Env &, OuterEnv const&, Locals &, Lambda &)>::type
-        operator()(Env& env, OuterEnv const & outer_env, Locals const& locals, Lambda const& lambda) const
+        template <
+            typename Env
+          , typename OuterEnv
+          , typename Locals
+          , typename Lambda
+        >
+        typename result<
+            lambda_eval(Env &, OuterEnv const&, Locals &, Lambda &)
+        >::type
+        operator()(
+            Env& env
+          , OuterEnv const & outer_env
+          , Locals const& locals
+          , Lambda const& lambda
+        ) const
         {
             typedef
                 typename proto::detail::uncvref<
@@ -91,6 +125,7 @@
                     >::type
                 >::type
                 args_type;
+
             typedef
                 typename proto::detail::uncvref<
                     typename boost::result_of<
@@ -98,11 +133,22 @@
                     >::type
                 >::type
                 actions_type;
-            typedef fusion::vector2<args_type, actions_type> env_type;
+
+            typedef
+                fusion::vector2<args_type, actions_type>
+                env_type;
             
-            typedef typename proto::detail::uncvref<Locals>::type locals_type;
-            typedef typename proto::detail::uncvref<OuterEnv>::type outer_env_type;
-            typedef scoped_environment<env_type, OuterEnv const, locals_type const> scoped_env_type;
+            typedef
+                typename proto::detail::uncvref<Locals>::type
+                locals_type;
+
+            typedef
+                typename proto::detail::uncvref<OuterEnv>::type
+                outer_env_type;
+
+            typedef
+                scoped_environment<env_type, OuterEnv const, locals_type const>
+                scoped_env_type;
 
             env_type e(functional::args()(env), functional::actions()(env));
 
@@ -121,7 +167,14 @@
 
     template <typename Dummy>
     struct default_actions::when<rule::lambda, Dummy>
-        : proto::call<lambda_eval(_env, proto::_value(proto::_child_c<0>), proto::_child_c<1>, proto::_child_c<2>)>
+        : proto::call<
+            lambda_eval(
+                _env
+              , proto::_value(proto::_child_c<0>)
+              , proto::_child_c<1>
+              , proto::_child_c<2>
+            )
+        >
     {};
 
     namespace detail
@@ -134,7 +187,13 @@
                   , rule::local_var_def_list
                   , meta_grammar
                 >
-              , evaluator(proto::_child_c<2>, fusion::vector2<fusion::vector0<>&, scope_is_nullary_actions>())
+              , evaluator(
+                    proto::_child_c<2>
+                  , fusion::vector2<
+                        mpl::true_
+                      , scope_is_nullary_actions
+                    >()
+                )
             >
         {};
     }
@@ -151,12 +210,12 @@
 
         template <typename A0>
         struct lambda_actor<A0>
-            : expr/*_ext<lambda_actor,*/< tag::lambda_actor, A0>
+            : expr<tag::lambda_actor, A0>
         {};
 
         template <typename A0, typename A1>
         struct lambda_actor<A0, A1>
-            : expr/*_ext<lambda_actor,*/< tag::lambda_actor, A0, A1>
+            : expr< tag::lambda_actor, A0, A1>
         {};
     }
 
@@ -177,7 +236,7 @@
             : proto::or_<
                 proto::when<
                     expression::lambda_actor<meta_grammar>
-                  , mpl::true_()//evaluator(proto::_child_c<0>, _env)
+                  , mpl::true_()
                 >
               , proto::when<
                     expression::lambda_actor<
@@ -205,7 +264,9 @@
         template <typename This, typename Env, typename Lambda>
         struct result<This(Env, Lambda &)>
         {
-            typedef typename proto::detail::uncvref<Env>::type env_type;
+            typedef
+                typename proto::detail::uncvref<Env>::type
+                env_type;
 
             typedef
                 typename proto::detail::uncvref<
@@ -219,9 +280,17 @@
                 >::type
                 actions_type;
 
-            typedef fusion::vector2<args_type, actions_type> outer_env_type;
+            typedef
+                fusion::vector2<args_type, actions_type>
+                outer_env_type;
 
-            typedef typename expression::lambda<outer_env_type, mpl::void_, typename proto::detail::uncvref<Lambda>::type>::type type;
+            typedef
+                typename expression::lambda<
+                    outer_env_type
+                  , mpl::void_
+                  , typename proto::detail::uncvref<Lambda>::type
+                >::type
+                type;
         };
 
         template <typename This, typename Env, typename Locals, typename Lambda>
@@ -237,7 +306,10 @@
                     >::type
                 >::type
                 locals_type;
-            typedef typename proto::detail::uncvref<Env>::type env_type;
+
+            typedef
+                typename proto::detail::uncvref<Env>::type
+                env_type;
 
             typedef
                 typename proto::detail::uncvref<
@@ -251,17 +323,26 @@
                 >::type
                 actions_type;
 
-            typedef fusion::vector2<args_type, actions_type> outer_env_type;
+            typedef
+                fusion::vector2<args_type, actions_type>
+                outer_env_type;
             
             typedef
-                typename expression::lambda<outer_env_type, locals_type, typename proto::detail::uncvref<Lambda>::type>::type const type;
+                typename expression::lambda<
+                    outer_env_type
+                  , locals_type
+                  , typename proto::detail::uncvref<Lambda>::type
+                >::type const
+                type;
         };
 
         template <typename Env, typename Lambda>
         typename result<lambda_actor_eval(Env&, Lambda const&)>::type
         operator()(Env & env, Lambda const& lambda) const
         {
-            typedef typename proto::detail::uncvref<Env>::type env_type;
+            typedef
+                typename proto::detail::uncvref<Env>::type
+                env_type;
 
             typedef
                 typename proto::detail::uncvref<
@@ -275,16 +356,28 @@
                 >::type
                 actions_type;
 
-            typedef fusion::vector2<args_type, actions_type> outer_env_type;
+            typedef
+                fusion::vector2<args_type, actions_type>
+                outer_env_type;
 
-            outer_env_type outer_env(fusion::at_c<0>(env), fusion::at_c<1>(env));
+            outer_env_type
+                outer_env(fusion::at_c<0>(env), fusion::at_c<1>(env));
 
             mpl::void_ t;
-            return expression::lambda<outer_env_type, mpl::void_, Lambda>::make(outer_env, t, lambda);
+            return
+                expression::
+                    lambda<outer_env_type, mpl::void_, Lambda>::
+                        make(outer_env, t, lambda);
         }
 
-        template <typename Env, typename Locals, typename Lambda>
-        typename result<lambda_actor_eval(Env&, Locals const&, Lambda const&)>::type
+        template <
+            typename Env
+          , typename Locals
+          , typename Lambda
+        >
+        typename result<
+            lambda_actor_eval(Env&, Locals const&, Lambda const&)
+        >::type
         operator()(Env & env, Locals const& locals, Lambda const& lambda) const
         {
             typedef
@@ -316,32 +409,23 @@
                 >::type
                 actions_type;
 
-            typedef fusion::vector2<args_type, actions_type> outer_env_type;
+            typedef
+                fusion::vector2<args_type, actions_type>
+                outer_env_type;
 
-            outer_env_type outer_env(fusion::at_c<0>(env), fusion::at_c<1>(env));
+            outer_env_type
+                outer_env(fusion::at_c<0>(env), fusion::at_c<1>(env));
 
-            return expression::lambda<outer_env_type, locals_type, Lambda>::make(outer_env, l, lambda);
+            return
+                expression::
+                    lambda<outer_env_type, locals_type, Lambda>::
+                        make(outer_env, l, lambda);
         }
     };
 
     template <typename Dummy>
     struct default_actions::when<rule::lambda_actor, Dummy>
         : proto::call<lambda_actor_eval(_env, unpack)>
-        /*
-            : proto::or_<
-                proto::when<
-                    expression::lambda_actor<meta_grammar>
-                  , lambda_actor_eval(_env, unpack)//lambda_actor_eval(_env, proto::_child_c<0>)
-                >
-              , proto::when<
-                    expression::lambda_actor<
-                        rule::local_var_def_list
-                      , meta_grammar
-                    >
-                  , lambda_actor_eval(_env, proto::_child_c<0>, proto::_child_c<1>)
-                >
-            >
-            */
     {};
     
     template <typename Locals = void, typename Dummy = void>
@@ -394,16 +478,16 @@
             return expr0;
         }
 
-#define PHOENIX_LAMBDA_LOCAL_GEN(Z, N, DATA) \
-        template <PHOENIX_typename_A(N)> \
-        lambda_actor_gen< \
-            typename detail::make_locals<PHOENIX_A(N)>::type \
-        > const \
-        operator()(PHOENIX_A_const_ref_a(N)) const \
-        { \
-            return detail::make_locals<PHOENIX_A(N)>::make(PHOENIX_a(N)); \
-        } \
-        /**/
+    #define PHOENIX_LAMBDA_LOCAL_GEN(Z, N, DATA)                                \
+        template <PHOENIX_typename_A(N)>                                        \
+        lambda_actor_gen<                                                       \
+            typename detail::make_locals<PHOENIX_A(N)>::type                    \
+        > const                                                                 \
+        operator()(PHOENIX_A_const_ref_a(N)) const                              \
+        {                                                                       \
+            return detail::make_locals<PHOENIX_A(N)>::make(PHOENIX_a(N));       \
+        }                                                                       \
+    /**/
         BOOST_PP_REPEAT_FROM_TO(2, PHOENIX_LOCAL_LIMIT, PHOENIX_LAMBDA_LOCAL_GEN, _)
 
     };
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/let.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/let.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/let.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -30,14 +30,15 @@
             : proto::make<
                 mpl::and_<
                     detail::local_var_def_is_nullary(proto::_child_c<0>, _env)
-                    //mpl::true_()
-                  //, mpl::true_()//let_evaluator(proto::_child_c<1>, _env)
-                  , evaluator(proto::_child_c<1>, //fusion::vector2<scoped_environment<_env, _env, mpl::void_()>(), functional::actions(_env)>()
-                          fusion::vector2<fusion::vector0<>&, scope_is_nullary_actions>()
-                          )
+                  , evaluator(
+                        proto::_child_c<1>
+                      , fusion::vector2<
+                            mpl::true_
+                          , scope_is_nullary_actions
+                        >()
+                    )
                 >()
             >
-            //: proto::make<mpl::true_()>
         {};
     }
 
@@ -72,7 +73,10 @@
                 typename boost::result_of<
                     evaluator(
                         Let const &
-                      , fusion::vector2<scoped_environment<Env, Env, locals_type> &, actions_type> &
+                      , fusion::vector2<
+                            scoped_environment<Env, Env, locals_type> &
+                          , actions_type
+                        > &
                     )
                 >::type
                 type;
@@ -114,8 +118,10 @@
                   , l
                 );
 
-            fusion::vector2<scoped_environment<Env, Env, locals_type &> &, actions_type>
-                new_env(scoped_env, functional::actions()(env));
+            fusion::vector2<
+                scoped_environment<Env, Env, locals_type &> &
+              , actions_type
+            > new_env(scoped_env, functional::actions()(env));
 
             return eval(let, new_env);
         }
@@ -176,17 +182,7 @@
             return expr0;
         }
 
-#define PHOENIX_LET_LOCAL_GEN(Z, N, DATA) \
-        template <PHOENIX_typename_A(N)> \
-        let_actor_gen< \
-            typename detail::make_locals<PHOENIX_A(N)>::type \
-        > const \
-        operator()(PHOENIX_A_const_ref_a(N)) const \
-        { \
-            return detail::make_locals<PHOENIX_A(N)>::make(PHOENIX_a(N)); \
-        } \
-        /**/
-        BOOST_PP_REPEAT_FROM_TO(2, PHOENIX_LOCAL_LIMIT, PHOENIX_LET_LOCAL_GEN, _)
+        #include <boost/phoenix/scope/detail/let_local_gen.hpp>
     };
 
     let_local_gen const let = {};
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/local_variable.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/local_variable.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/local_variable.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -10,7 +10,6 @@
 
 #include <boost/phoenix/core/actor.hpp>
 #include <boost/phoenix/core/expression.hpp>
-#include <boost/phoenix/scope/scope_actor.hpp>
 #include <boost/phoenix/scope/scoped_environment.hpp>
 #include <boost/phoenix/statement/sequence.hpp>
 
@@ -45,14 +44,7 @@
     namespace rule
     {
         struct local_variable
-            //: expression::local_variable<proto::_>
-            : proto::and_<
-                //proto::if_<is_scoped_environment<_env>()>
-                //proto::if_<blubb<_env>()>
-              //, rule::local_variable
-              expression::local_variable<proto::_>
-            >
-            //: proto::terminal< ::boost::phoenix::local_variable<proto::_> >
+            : expression::local_variable<proto::_>
         {};
 
         struct local_var_def
@@ -81,7 +73,9 @@
                 typedef
                     typename mpl::eval_if<
                         is_reference<result_type>
-                      , reference<typename boost::remove_reference<result_type>::type>
+                      , reference<
+                            typename boost::remove_reference<result_type>::type
+                        >
                       , value<result_type>
                     >::type
                     type;
@@ -91,9 +85,16 @@
             typename result<local_eval(Expr const&, Env&)>::type
             operator()(Expr const& expr, Env & env) const
             {
-                typedef typename result<local_eval(Expr const&, Env&)>::result_type result_type;
+                typedef
+                    typename result<local_eval(Expr const&, Env&)>::result_type
+                    result_type;
 
-                return this->make(expr, env, typename is_reference<result_type>::type());
+                return
+                    this->make(
+                        expr
+                      , env
+                      , typename is_reference<result_type>::type()
+                    );
             }
 
             private:
@@ -103,11 +104,18 @@
                 {
                     typedef
                         typename remove_reference<
-                            typename result<local_eval(Expr const&, Env&)>::result_type
+                            typename result<
+                                local_eval(Expr const&, Env&)
+                            >::result_type
                         >::type
                         result_type;
                 
-                    return this->make_ref(expr, env, typename is_const<result_type>::type());
+                    return
+                        this->make_ref(
+                            expr
+                          , env
+                          , typename is_const<result_type>::type()
+                        );
                 }
                 
                 template <typename Expr, typename Env>
@@ -161,7 +169,6 @@
     }
 
     template <typename Dummy>
-    //struct scope_grammar::case_<tag::local_variable, Dummy>
     struct meta_grammar::case_<tag::local_variable, Dummy>
         : proto::when<
             rule::local_variable
@@ -173,10 +180,8 @@
     {
         template <typename Dummy>
         struct is_nullary_::when<rule::local_variable, Dummy>
-            //: proto::make<mpl::true_()>
             : proto::if_<
                 is_scoped_environment<functional::args(_env)>()
-                //foo(functional::args(proto::_state))
               , mpl::true_()
               , mpl::false_()
             >
@@ -185,22 +190,30 @@
         struct local_var_def_is_nullary
             : proto::or_<
                 proto::when<
-                    proto::comma<local_var_def_is_nullary, rule::local_var_def>
+                    proto::comma<
+                        local_var_def_is_nullary
+                      , rule::local_var_def
+                    >
                   , mpl::and_<
                         local_var_def_is_nullary(proto::_left, proto::_state)
-                      //, mpl::false_()//, local_var_def_is_nullary(proto::_right, proto::_state)
-                      //, evaluator(proto::_right(proto::_right), proto::_state)
-                      //, is_nullary<proto::_right(proto::_right)>()
-                      , evaluator(proto::_right(proto::_right), fusion::vector2<fusion::vector0<>, detail::is_nullary_>(), int())
+                      , evaluator(
+                            proto::_right(proto::_right)
+                          , fusion::vector2<
+                                mpl::true_
+                              , detail::is_nullary_
+                            >()
+                        )
                     >()
                 >
               , proto::when<
-                    //proto::_
                     rule::local_var_def
-                  //, mpl::false_()
-                  , evaluator(proto::_child_c<1>, fusion::vector2<fusion::vector0<>, detail::is_nullary_>(), int())
-                  //, is_nullary<proto::_child_c<1> >()
-                  //, proto::lazy<is_nullary<custom_terminal<proto::_child_c<1> > >(proto::_child_c<1>, _env)>
+                  , evaluator(
+                        proto::_child_c<1>
+                      , fusion::vector2<
+                            mpl::true_
+                          , detail::is_nullary_
+                        >()
+                    )
                 >
             >
         {};
@@ -231,31 +244,28 @@
             }
         };
 
-        template <typename T>
-        T operator+(local_var_not_found const&, T const & t)
-        {
-            return t;
-        }
-
-        /*
-        template <typename T>
-        T operator+(T const & t, local_var_not_found const&)
-        {
-            return t;
-        }
-        */
-
         struct find_local
             : proto::or_<
-                proto::when<proto::terminal<mpl::void_>, detail::local_var_not_found()>
+                proto::when<
+                    proto::terminal<mpl::void_>
+                  , detail::local_var_not_found()
+                >
               , proto::when<
                     proto::comma<find_local, rule::local_var_def>
                   , proto::if_<
-                        proto::matches<proto::_left(proto::_right), proto::_data>()
-                      //, evaluator(proto::_right(proto::_right), proto::_state)
-                      , evaluator(proto::_right(proto::_right), proto::_state)
-                      //, int()
-                      , find_local(proto::_left, proto::_state, proto::_data)
+                        proto::matches<
+                            proto::_left(proto::_right)
+                          , proto::_data
+                        >()
+                      , evaluator(
+                            proto::_right(proto::_right)
+                          , proto::_state
+                        )
+                      , find_local(
+                            proto::_left
+                          , proto::_state
+                          , proto::_data
+                        )
                     >
                 >
               , proto::when<
@@ -284,7 +294,11 @@
                     is_same<
                         typename proto::detail::uncvref<
                             typename boost::result_of<
-                                detail::find_local(typename Args::locals_type &, Env, Key)
+                                detail::find_local(
+                                    typename Args::locals_type &
+                                  , Env
+                                  , Key
+                                )
                             >::type
                         >::type
                       , detail::local_var_not_found
@@ -293,28 +307,14 @@
                         This(typename Args::outer_env_type&)
                     >
                   , boost::result_of<
-                        detail::find_local(typename Args::locals_type &, Env, Key)
+                        detail::find_local(
+                            typename Args::locals_type &
+                          , Env
+                          , Key
+                        )
                     >
                 >
             >
-        /*
-        : mpl::if_<
-                typename is_same<
-                    typename proto::detail::uncvref<
-                        typename boost::result_of<
-                            detail::find_local(typename Args::locals_type &, Env, Key)
-                       >::type
-                    >::type
-                  , detail::local_var_not_found
-                >::type
-              , typename boost::result_of<
-                    This(typename Args::outer_env_type&)
-                >::type
-              , typename boost::result_of<
-                    detail::find_local(typename Args::locals_type &, Env, Key)
-                >::type
-            >
-            */
         {};
 
     }
@@ -369,7 +369,6 @@
         }
 
         private:
-            
             // is a scoped environment
             template <typename Env>
             typename result<get_local<Key>(Env&)>::type
@@ -388,7 +387,11 @@
                         env
                       , typename is_same<
                             typename proto::detail::uncvref<
-                                typename boost::result_of<detail::find_local(typename env_type::locals_type, Env &, Key)>::type
+                                typename detail::find_local::impl<
+                                    typename env_type::locals_type
+                                  , Env &
+                                  , Key
+                                >::result_type
                             >::type
                           , detail::local_var_not_found
                         >::type()
@@ -396,16 +399,23 @@
                     
             }
 
-            // is a scoped environment, and we need to look in the outer environment
+            // is a scoped environment
+            // --> we need to look in the outer environment
             template <typename Env>
             typename result<get_local<Key>(Env&)>::type
             evaluate_scoped(Env & env, mpl::false_) const
             {
                 Key k;
-                return detail::find_local()(functional::args()(env).locals, env, k);
+                return
+                    detail::find_local()(
+                        functional::args()(env).locals
+                      , env
+                      , k
+                    );
             }
             
-            // is a scoped environment, and we have the local in our environment
+            // is a scoped environment
+            // --> we have the local in our environment
             template <typename Env>
             typename result<get_local<Key>(Env&)>::type
             evaluate_scoped(Env & env, mpl::true_) const
@@ -488,7 +498,10 @@
     
     namespace detail
     {
-        template <PHOENIX_typename_A_void(PHOENIX_LOCAL_LIMIT)>
+        template <
+            PHOENIX_typename_A_void(PHOENIX_LOCAL_LIMIT)
+          , typename Dummy = void
+        >
         struct make_locals;
 
         template <typename A0, typename A1>
@@ -504,40 +517,7 @@
             }
         };
 
-        #define PHOENIX_MAKE_LOCALS(Z, N, DATA)                                 \
-        template <PHOENIX_typename_A(N)>                                        \
-        struct make_locals<PHOENIX_A(N)>                                        \
-        {                                                                       \
-            typedef                                                             \
-                typename make_locals<PHOENIX_A(BOOST_PP_DEC(N))>::type const         \
-                type0;                                                          \
-                                                                                \
-            typedef                                                             \
-                typename expression::sequence<                                  \
-                    type0                                                       \
-                  , BOOST_PP_CAT(A, BOOST_PP_DEC(N))                            \
-                >::type                                                         \
-                type;                                                           \
-                                                                                \
-            static type const make(PHOENIX_A_a(N))                                    \
-            {                                                                   \
-                return                                                          \
-                    expression::sequence<                                       \
-                        type0                                                   \
-                      , BOOST_PP_CAT(A, BOOST_PP_DEC(N))                        \
-                    >::make(                                                    \
-                        make_locals<                                            \
-                            PHOENIX_A(BOOST_PP_DEC(N))                          \
-                        >::make(                                                \
-                            PHOENIX_a(BOOST_PP_DEC(N))                          \
-                        )                                                       \
-                      , BOOST_PP_CAT(a, BOOST_PP_DEC(N))                        \
-                    );                                                          \
-            }                                                                   \
-        };                                                                      \
-        /**/
-        BOOST_PP_REPEAT_FROM_TO(3, PHOENIX_LOCAL_LIMIT, PHOENIX_MAKE_LOCALS, _)
-        #undef PHOENIX_MAKE_LOCALS
+        #include <boost/phoenix/scope/detail/make_locals.hpp>
     }
 }}
 
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scope_actor.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scope_actor.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,26 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2005-2010 Joel de Guzman
-    Copyright (c) 2010 Thomas Heller
-
-    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 PHOENIX_SCOPE_SCOPE_ACTOR_HPP
-#define PHOENIX_SCOPE_SCOPE_ACTOR_HPP
-
-#include <boost/phoenix/scope/scope_domain.hpp>
-#include <boost/phoenix/scope/scope_grammar.hpp>
-
-namespace boost { namespace phoenix
-{
-    template <typename Expr>
-    struct scope_actor
-    {
-        BOOST_PROTO_BASIC_EXTENDS(Expr, scope_actor<Expr>, scope_domain)
-        BOOST_PROTO_EXTENDS_ASSIGN()
-        BOOST_PROTO_EXTENDS_SUBSCRIPT()
-
-    };
-}}
-
-#endif
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scope_domain.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scope_domain.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,33 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2005-2010 Joel de Guzman
-    Copyright (c) 2010 Thomas Heller
-
-    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 PHOENIX_SCOPE_SCOPE_DOMAIN_HPP
-#define PHOENIX_SCOPE_SCOPE_DOMAIN_HPP
-
-namespace boost { namespace phoenix
-{
-    template <typename Expr>
-    struct scope_actor;
-    
-    struct scope_grammar;
-    
-    struct scope_domain
-        : proto::domain<
-            proto::pod_generator<scope_actor>
-          , scope_grammar
-          //, proto::_
-          //, proto::default_domain
-          , phoenix_domain
-        >
-    {
-        template <typename T>
-        struct as_child : as_expr<T>
-        {};
-    };
-}}
-
-#endif
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scope_grammar.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scope_grammar.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,23 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2005-2010 Joel de Guzman
-    Copyright (c) 2010 Thomas Heller
-
-    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 PHOENIX_SCOPE_SCOPE_GRAMMAR_HPP
-#define PHOENIX_SCOPE_SCOPE_GRAMMAR_HPP
-
-namespace boost { namespace phoenix
-{
-    struct scope_grammar
-        : proto::switch_<scope_grammar>
-    {
-        template <typename Tag, typename Dummy = void>
-        struct case_
-            : meta_grammar::case_<Tag, Dummy>
-        {};
-    };
-}}
-
-#endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -30,7 +30,11 @@
         typedef typename boost::remove_reference<OuterEnv>::type outer_env_type;
         typedef typename boost::remove_reference<Locals>::type locals_type;
 
-        scoped_environment(env_type& env, outer_env_type& outer_env, locals_type & locals)
+        scoped_environment(
+            env_type& env
+          , outer_env_type& outer_env
+          , locals_type & locals
+        )
             : env(env)
             , outer_env(outer_env)
             , locals(locals)
@@ -80,7 +84,9 @@
                     >::type
                 >::type
                 env_type;
-            typedef typename fusion::result_of::value_at<env_type, N>::type type;
+            typedef
+                typename fusion::result_of::value_at<env_type, N>::type
+                type;
         };
         
         template <typename Seq, typename N>
Added: sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/catch_push_back.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/catch_push_back.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -0,0 +1,110 @@
+/*==============================================================================
+    Copyright (c) 2005-2010 Joel de Guzman
+    Copyright (c) 2010 Thomas Heller
+
+    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)
+==============================================================================*/
+#if !PHOENIX_IS_ITERATING
+
+#ifndef PHOENIX_STATEMENT_DETAIL_CATCH_PUSH_BACK_HPP
+#define PHOENIX_STATEMENT_DETAIL_CATCH_PUSH_BACK_HPP
+
+#include <boost/phoenix/support/iterate.hpp>
+    
+    #define PHOENIX_CATCH_PUSH_BACK_R0(Z, N, DATA)                              \
+        BOOST_PP_COMMA_IF(N)                                                    \
+        typename proto::result_of::child_c<TryCatch, N>::type                   \
+    /**/
+
+    #define PHOENIX_CATCH_PUSH_BACK_R1(Z, N, DATA)                              \
+        BOOST_PP_COMMA_IF(N) proto::child_c<N>(try_catch)                       \
+    /**/
+
+#define PHOENIX_ITERATION_PARAMS                                                \
+        (3, (2, PHOENIX_CATCH_LIMIT,                                            \
+        <boost/phoenix/statement/detail/catch_push_back.hpp>))
+#include PHOENIX_ITERATE()
+    
+    #undef PHOENIX_CATCH_PUSH_BACK_R0
+    #undef PHOENIX_CATCH_PUSH_BACK_R1
+
+#endif
+
+#else
+        template <typename TryCatch, typename Exception, typename Expr>
+        struct catch_push_back<TryCatch, Exception, Expr, PHOENIX_ITERATION>
+        {
+            typedef
+                typename proto::result_of::make_expr<
+                    tag::catch_
+                  , default_domain_with_basic_expr
+                  , catch_exception<Exception>
+                  , Expr
+                >::type
+                catch_expr;
+
+            typedef expression::try_catch<
+                BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_CATCH_PUSH_BACK_R0, _)
+              , catch_expr> gen_type;
+            typedef typename gen_type::type type;
+
+            static type
+            make(
+                TryCatch const& try_catch
+              , Expr const& catch_
+            )
+            {
+                return
+                    gen_type::make(
+                        BOOST_PP_REPEAT(
+                            PHOENIX_ITERATION
+                          , PHOENIX_CATCH_PUSH_BACK_R1
+                          , _
+                        )
+                      , proto::make_expr<
+                            tag::catch_
+                          , default_domain_with_basic_expr
+                        >(catch_exception<Exception>(), catch_)
+                    );
+            }
+        };
+        
+        template <typename TryCatch, typename Expr>
+        struct catch_all_push_back<TryCatch, Expr, PHOENIX_ITERATION>
+        {
+            typedef
+                typename proto::result_of::make_expr<
+                    tag::catch_all
+                  , default_domain_with_basic_expr
+                  , Expr
+                >::type
+                catch_expr;
+
+            typedef expression::try_catch<
+                BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_CATCH_PUSH_BACK_R0, _)
+              , catch_expr> gen_type;
+            typedef typename gen_type::type type;
+
+            static type
+            make(
+                TryCatch const& try_catch
+              , Expr const& catch_
+            )
+            {
+                return
+                    gen_type::make(
+                        BOOST_PP_REPEAT(
+                            PHOENIX_ITERATION
+                          , PHOENIX_CATCH_PUSH_BACK_R1
+                          , _
+                        )
+                      , proto::make_expr<
+                            tag::catch_all
+                          , default_domain_with_basic_expr
+                        >(catch_)
+                    );
+            }
+        };
+
+#endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/switch.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/switch.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/switch.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -11,147 +11,113 @@
 #ifndef PHOENIX_STATEMENT_DETAIL_SWITCH_HPP
 #define PHOENIX_STATEMENT_DETAIL_SWITCH_HPP
 
-#include <boost/preprocessor/cat.hpp>
+#include <boost/phoenix/support/iterate.hpp>
 
-    struct switch_eval
-    {
-        typedef void result_type;
-        
-        template <typename Env, typename Cond, typename Case0>
-        void
-        operator()(Env& env, Cond const& cond, Case0 const& case0) const
-        {
-            return evaluate(env, cond, case0, result_of::is_default_case<Case0>());
-        }
-        
-        template <typename Env, typename Cond, typename Case0>
-        void
-        evaluate(Env& env, Cond const& cond, Case0 const& case0, mpl::false_) const
-        {
-            typedef typename result_of::case_label<Case0>::type label0;
-
-            switch(eval(cond, env))
-            {
-                case label0::value: eval(case_statement(case0), env); break;
-            }
-        }
-        
-        template <typename Env, typename Cond, typename Case0>
-        void
-        evaluate(Env& env, Cond const& cond, Case0 const& case0, mpl::true_) const
-        {
-            switch(eval(cond, env))
-            {
-                default: eval(proto::child(case0), env); break;
-            }
-        }
-
-#define PHOENIX_SWITCH_EVAL_LABEL_TYPEDEF(_,n,__)\
-        typedef typename result_of::case_label<BOOST_PP_CAT(A, n)>::type BOOST_PP_CAT(label, n);
-
-#define PHOENIX_SWITCH_EVAL_CASE_EVAL(_,n,__)\
-        case BOOST_PP_CAT(label,n)::value: eval(case_statement(BOOST_PP_CAT(a, n)), env); break;
-
-
-#define PHOENIX_SWITCH_EVAL_OVERLOADS(_,n,__) \
-        template <typename Env, typename Cond, PHOENIX_typename_A(n)> \
-        void \
-        operator()(Env& env, Cond const& cond, PHOENIX_A_const_ref_a(n)) const \
-        { \
-            return evaluate(env, cond, PHOENIX_a(n), result_of::is_default_case<BOOST_PP_CAT(A, BOOST_PP_DEC(n))>()); \
-        }\
-        \
-        template <typename Env, typename Cond, PHOENIX_typename_A(n)>\
-        void\
-        evaluate(Env& env, Cond const& cond, PHOENIX_A_const_ref_a(n), mpl::false_) const\
-        {\
-            BOOST_PP_REPEAT(n, PHOENIX_SWITCH_EVAL_LABEL_TYPEDEF, _)\
-            switch(eval(cond, env))\
-            {\
-                BOOST_PP_REPEAT(n, PHOENIX_SWITCH_EVAL_CASE_EVAL, _)\
-            }\
-        }\
-        \
-        template <typename Env, typename Cond, PHOENIX_typename_A(n)>\
-        void\
-        evaluate(Env& env, Cond const& cond, PHOENIX_A_const_ref_a(n), mpl::true_) const\
-        {\
-            BOOST_PP_REPEAT(BOOST_PP_DEC(n), PHOENIX_SWITCH_EVAL_LABEL_TYPEDEF, _)\
-            switch(eval(cond, env))\
-            {\
-                BOOST_PP_REPEAT(BOOST_PP_DEC(n), PHOENIX_SWITCH_EVAL_CASE_EVAL, _)\
-                default: eval(proto::child(BOOST_PP_CAT(a, BOOST_PP_DEC(n))), env); break;\
-            }\
-        }
-
-        BOOST_PP_REPEAT_FROM_TO(2, PHOENIX_COMPOSITE_LIMIT, PHOENIX_SWITCH_EVAL_OVERLOADS, _)
-
-#undef PHOENIX_SWITCH_EVAL_LABEL_TYPEDEF
-#undef PHOENIX_SWITCH_EVAL_CASE_EVAL
-#undef PHOENIX_SWITCH_EVAL_OVERLOADS
-    };
-
-    template <typename Cond, typename Cases>
-    struct make_switch<Cond, Cases, 1>
-    {
-        typedef typename result_of::case_compound<Cases, mpl::int_<0> >::type case0;
-
-        typedef
-            compose<
-                switch_eval
-              , Cond
-              , case0
-            >
-            composite_type;
-
-        typedef typename composite_type::type type;
-
-        type const
-        operator()( Cond const& cond, Cases const& cases) const
-        {
-            return composite_type()(cond, case_compound_c<0>(cases));
-        }
-    };
+        #define PHOENIX_SWITCH_EVAL_TYPEDEF_R(Z, N, DATA)                       \
+            typedef                                                             \
+                typename boost::result_of<                                      \
+                    detail::switch_grammar(                                     \
+                        Cases                                                   \
+                      , mpl::int_<N>                                            \
+                      , mpl::int_<DATA>                                         \
+                    )                                                           \
+                >::type                                                         \
+                BOOST_PP_CAT(case, N);                                          \
+            typedef                                                             \
+                typename proto::result_of::value<                               \
+                    typename proto::result_of::child_c<                         \
+                        BOOST_PP_CAT(case, N)                                   \
+                      , 0                                                       \
+                    >::type                                                     \
+                >::type                                                         \
+                BOOST_PP_CAT(case_label, N);                                    \
+            mpl::int_<N> BOOST_PP_CAT(idx, N);                                  \
+    /**/
+
+    #define PHOENIX_SWITCH_EVAL_R(Z, N, DATA)                                   \
+        case BOOST_PP_CAT(case_label, N)::value :                               \
+            eval(                                                               \
+                proto::child_c<1>(                                              \
+                    detail::switch_grammar()(                                   \
+                        cases, BOOST_PP_CAT(idx, N), size                       \
+                    )                                                           \
+                )                                                               \
+              , env                                                             \
+            );                                                                  \
+            break;
+    /**/
 
 #define PHOENIX_ITERATION_PARAMS                                                \
-    (3, (2, PHOENIX_COMPOSITE_LIMIT,                                            \
-    <boost/phoenix/statement/detail/switch.hpp>))
+        (3, (0, PHOENIX_LIMIT,                                                  \
+        <boost/phoenix/statement/detail/switch.hpp>))
 #include PHOENIX_ITERATE()
 
+        #undef PHOENIX_SWITCH_EVAL_R
+        #undef PHOENIX_SWITCH_EVAL_TYPEDEF
+
 #endif
 
 #else
+            template <typename Env, typename Cond, typename Cases>
+            result_type
+            evaluate(
+                Env & env
+              , Cond const & cond
+              , Cases const & cases
+              , mpl::int_<PHOENIX_ITERATION> size
+              , mpl::false_
+            ) const
+            {
+                BOOST_PP_REPEAT(
+                    PHOENIX_ITERATION
+                  , PHOENIX_SWITCH_EVAL_TYPEDEF_R
+                  , PHOENIX_ITERATION
+                )
+                switch(eval(cond, env))
+                {
+                    BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_SWITCH_EVAL_R, _)
+                }
+            }
 
-    template <typename Cond, typename Cases>
-    struct make_switch<Cond, Cases, PHOENIX_ITERATION>
-    {
-#define CASE_TYPEDEF(_,n,__) \
-        typedef typename result_of::case_compound<Cases, mpl::int_< n > >::type BOOST_PP_CAT(case, n);
-        BOOST_PP_REPEAT(PHOENIX_ITERATION, CASE_TYPEDEF, _)
-
-        typedef
-            compose<
-                switch_eval
-              , Cond
-              , BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, case)
-            >
-            composite_type;
-
-        typedef typename composite_type::type type;
-
-        type const
-        operator()( Cond const& cond, Cases const& cases) const
-        {
-            return composite_type()(
-                cond,
-#define CASE_COMPOUND(_,n,__)\
-                BOOST_PP_COMMA_IF(n) case_compound_c< n >(cases)
-                BOOST_PP_REPEAT(PHOENIX_ITERATION, CASE_COMPOUND, _));
-        }
-    };
-
-#undef CASE_TYPEDEF
-#undef CASE_COMPOUND
+            template <typename Env, typename Cond, typename Cases>
+            result_type
+            evaluate(
+                Env & env
+              , Cond const & cond
+              , Cases const & cases
+              , mpl::int_<PHOENIX_ITERATION> size
+              , mpl::true_
+            ) const
+            {
+                BOOST_PP_REPEAT(
+                    BOOST_PP_DEC(PHOENIX_ITERATION)
+                  , PHOENIX_SWITCH_EVAL_TYPEDEF_R
+                  , PHOENIX_ITERATION
+                )
+                mpl::int_<BOOST_PP_DEC(PHOENIX_ITERATION)>
+                    BOOST_PP_CAT(idx, BOOST_PP_DEC(PHOENIX_ITERATION));
+                switch(eval(cond, env))
+                {
+                    BOOST_PP_REPEAT(
+                        BOOST_PP_DEC(PHOENIX_ITERATION)
+                      , PHOENIX_SWITCH_EVAL_R, _
+                    )
+                    default:
+                        eval(
+                            proto::child_c<0>(
+                                detail::switch_grammar()(
+                                    cases
+                                  , BOOST_PP_CAT(
+                                        idx
+                                      , BOOST_PP_DEC(PHOENIX_ITERATION)
+                                    )
+                                  , size
+                                )
+                            )
+                            , env
+                        );
+                }
+            }
 
 #endif
 
Added: sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/try_catch_eval.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/try_catch_eval.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -0,0 +1,86 @@
+/*==============================================================================
+    Copyright (c) 2005-2010 Joel de Guzman
+    Copyright (c) 2010 Thomas Heller
+
+    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)
+==============================================================================*/
+#if !PHOENIX_IS_ITERATING
+
+#ifndef PHOENIX_STATEMENT_DETAIL_TRY_CATCH_EVAL_HPP
+#define PHOENIX_STATEMENT_DETAIL_TRY_CATCH_EVAL_HPP
+
+#include <boost/phoenix/support/iterate.hpp>
+    
+    #define PHOENIX_TRY_CATCH_EVAL_R(Z, N, DATA)                                \
+            catch(                                                              \
+                typename proto::result_of::value<                               \
+                    typename proto::result_of::child_c<                         \
+                        BOOST_PP_CAT(A, N)                                      \
+                      , 0                                                       \
+                    >::type                                                     \
+                >::type::type &                                                 \
+            )                                                                   \
+            {                                                                   \
+                eval(proto::child_c<1>(BOOST_PP_CAT(a, N)), env);               \
+            }                                                                   \
+    /**/
+
+
+#define PHOENIX_ITERATION_PARAMS                                                \
+        (3, (1, PHOENIX_CATCH_LIMIT,                                            \
+        <boost/phoenix/statement/detail/try_catch_eval.hpp>))
+#include PHOENIX_ITERATE()
+
+    #undef PHOENIX_TRY_CATCH_EVAL_R
+
+#endif
+
+#else
+
+        template <typename Env, typename Try, PHOENIX_typename_A>
+        typename boost::enable_if<
+            proto::matches<
+                BOOST_PP_CAT(A, BOOST_PP_DEC(PHOENIX_ITERATION))
+              , rule::catch_
+            >
+          , result_type
+        >::type
+        operator()(Env & env, Try const & try_, PHOENIX_A_const_ref_a) const
+        {
+            try
+            {
+                eval(proto::child_c<0>(try_), env);
+            }
+            BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_TRY_CATCH_EVAL_R, _)
+        }
+
+        template <typename Env, typename Try, PHOENIX_typename_A>
+        typename boost::disable_if<
+            proto::matches<
+                BOOST_PP_CAT(A, BOOST_PP_DEC(PHOENIX_ITERATION))
+              , rule::catch_
+            >
+          , result_type
+        >::type
+        operator()(Env & env, Try const & try_, PHOENIX_A_const_ref_a) const
+        {
+            try
+            {
+                eval(proto::child_c<0>(try_), env);
+            }
+            BOOST_PP_REPEAT(
+                BOOST_PP_DEC(PHOENIX_ITERATION)
+              , PHOENIX_TRY_CATCH_EVAL_R, _
+            )
+            catch(...)
+            {
+                eval(
+                    proto::child_c<0>(
+                        BOOST_PP_CAT(a, BOOST_PP_DEC(PHOENIX_ITERATION))
+                    )
+                  , env);
+            }
+        }
+
+#endif
Added: sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/try_catch_expression.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/statement/detail/try_catch_expression.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -0,0 +1,34 @@
+/*==============================================================================
+    Copyright (c) 2005-2010 Joel de Guzman
+    Copyright (c) 2010 Thomas Heller
+
+    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)
+==============================================================================*/
+#if !PHOENIX_IS_ITERATING
+
+#ifndef PHOENIX_STATEMENT_DETAIL_TRY_CATCH_EXPRESSION_HPP
+#define PHOENIX_STATEMENT_DETAIL_TRY_CATCH_EXPRESSION_HPP
+
+#include <boost/phoenix/support/iterate.hpp>
+
+#define PHOENIX_ITERATION_PARAMS                                                \
+    (3, (0, PHOENIX_CATCH_LIMIT,                                                \
+    <boost/phoenix/statement/detail/try_catch_expression.hpp>))
+#include PHOENIX_ITERATE()
+
+#endif
+
+#else
+
+        template <typename Try BOOST_PP_COMMA_IF(PHOENIX_ITERATION) PHOENIX_typename_A>
+        struct try_catch<Try BOOST_PP_COMMA_IF(PHOENIX_ITERATION) PHOENIX_A>
+            : expr_ext<
+                try_catch_actor
+              , tag::try_catch
+              , Try
+              BOOST_PP_COMMA_IF(PHOENIX_ITERATION) PHOENIX_A>
+        {};
+    /**/
+
+#endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/statement/do_while.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/statement/do_while.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/statement/do_while.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -70,7 +70,7 @@
         }
     };
 
-    do_gen const do_ = do_gen();
+    do_gen const do_ = {};
 
 }}
 
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/statement/for.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/statement/for.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/statement/for.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -66,7 +66,10 @@
         typename expression::for_<Init, Cond, Step, Do>::type const
         operator[](Do const& do_) const
         {
-            return expression::for_<Init, Cond, Step, Do>::make(init, cond, step, do_);
+            return
+                expression::
+                    for_<Init, Cond, Step, Do>::
+                        make(init, cond, step, do_);
         }
 
         Init const& init;
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/statement/if.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/statement/if.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/statement/if.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -36,7 +36,7 @@
     )
     
     PHOENIX_DEFINE_EXPRESSION(
-        if_else_
+        if_else
       , (meta_grammar) // Cond
         (meta_grammar) // Then
         (meta_grammar) // Else
@@ -86,7 +86,7 @@
     {};
     
     template <typename Dummy>
-    struct default_actions::when<rule::if_else_, Dummy>
+    struct default_actions::when<rule::if_else, Dummy>
         : proto::call<
             if_else_eval(
                 _env
@@ -107,10 +107,10 @@
             , then( then ) {}
 
         template<typename Else>
-        typename expression::if_else_<Cond, Then, Else>::type const
+        typename expression::if_else<Cond, Then, Else>::type const
         operator[](Else const & else_) const
         {
-            return expression::if_else_<Cond, Then, Else>::make(cond, then, else_);
+            return expression::if_else<Cond, Then, Else>::make(cond, then, else_);
         }
 
         Cond const & cond;
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/statement/switch.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/statement/switch.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/statement/switch.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -180,92 +180,8 @@
         }
 
         private:
-        #define PHOENIX_SWITCH_EVAL_TYPEDEF_R(Z, N, DATA)                       \
-            typedef                                                             \
-                typename boost::result_of<                                      \
-                    detail::switch_grammar(                                     \
-                        Cases                                                   \
-                      , mpl::int_<N>                                            \
-                      , mpl::int_<DATA>                                         \
-                    )                                                           \
-                >::type                                                         \
-                BOOST_PP_CAT(case, N);                                          \
-            typedef                                                             \
-                typename proto::result_of::value<                               \
-                    typename proto::result_of::child_c<                         \
-                        BOOST_PP_CAT(case, N)                                   \
-                      , 0                                                       \
-                    >::type                                                     \
-                >::type                                                         \
-                BOOST_PP_CAT(case_label, N);                                    \
-            mpl::int_<N> BOOST_PP_CAT(idx, N);                                  \
-        /**/
-
-        #define PHOENIX_SWITCH_EVAL_R(Z, N, DATA)                               \
-        case BOOST_PP_CAT(case_label, N)::value :                               \
-            eval(                                                               \
-                proto::child_c<1>(                                              \
-                    detail::switch_grammar()(                                   \
-                        cases, BOOST_PP_CAT(idx, N), size                       \
-                    )                                                           \
-                )                                                               \
-              , env                                                             \
-            );                                                                  \
-            break;
-        /**/
-
-        #define PHOENIX_SWITCH_EVAL(Z, N, DATA)                                 \
-            template <typename Env, typename Cond, typename Cases>              \
-            result_type                                                         \
-            evaluate(                                                           \
-                Env & env                                                       \
-              , Cond const & cond                                               \
-              , Cases const & cases                                             \
-              , mpl::int_<N> size                                               \
-              , mpl::false_                                                     \
-            ) const                                                             \
-            {                                                                   \
-                BOOST_PP_REPEAT(N, PHOENIX_SWITCH_EVAL_TYPEDEF_R, N)            \
-                switch(eval(cond, env))                                         \
-                {                                                               \
-                    BOOST_PP_REPEAT(N, PHOENIX_SWITCH_EVAL_R, _)                \
-                }                                                               \
-            }                                                                   \
-                                                                                \
-            template <typename Env, typename Cond, typename Cases>              \
-            result_type                                                         \
-            evaluate(                                                           \
-                Env & env                                                       \
-              , Cond const & cond                                               \
-              , Cases const & cases                                             \
-              , mpl::int_<N> size                                               \
-              , mpl::true_                                                      \
-            ) const                                                             \
-            {                                                                   \
-                BOOST_PP_REPEAT(                                                \
-                    BOOST_PP_DEC(N)                                             \
-                  , PHOENIX_SWITCH_EVAL_TYPEDEF_R                               \
-                  , N                                                           \
-                )                                                               \
-                mpl::int_<BOOST_PP_DEC(N)> BOOST_PP_CAT(idx, BOOST_PP_DEC(N));  \
-                switch(eval(cond, env))                                         \
-                {                                                               \
-                    BOOST_PP_REPEAT(BOOST_PP_DEC(N), PHOENIX_SWITCH_EVAL_R, _)  \
-                    default:                                                    \
-                        eval(                                                   \
-                            proto::child_c<0>(                                  \
-                                detail::switch_grammar()(                       \
-                                    cases                                       \
-                                  , BOOST_PP_CAT(idx, BOOST_PP_DEC(N))          \
-                                  , size                                        \
-                                )                                               \
-                            )                                                   \
-                            , env                                               \
-                        ); \
-                } \
-            } \
-        /**/
-        BOOST_PP_REPEAT_FROM_TO(0, PHOENIX_LIMIT, PHOENIX_SWITCH_EVAL, _)
+            // Bring in the evaluation functions
+            #include <boost/phoenix/statement/detail/switch.hpp>
     };
     
     template <typename Dummy>
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/statement/try_catch.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/statement/try_catch.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/statement/try_catch.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -12,7 +12,6 @@
 
 #include <boost/phoenix/core/expression.hpp>
 #include <boost/phoenix/core/unpack.hpp>
-#include <boost/phoenix/support/iterate.hpp>
 
 namespace boost { namespace phoenix
 {
@@ -41,19 +40,8 @@
         >
         struct try_catch;
 
-    #define PHOENIX_TRY_CATCH_EXPRESSION(Z, N, DATA)                        \
-        template <typename Try BOOST_PP_COMMA_IF(N) PHOENIX_typename_A(N)>      \
-        struct try_catch<Try BOOST_PP_COMMA_IF(N) PHOENIX_A(N)>                 \
-            : expr_ext<                                                         \
-                try_catch_actor                                                 \
-              , tag::try_catch                                                  \
-              , Try                                                             \
-              BOOST_PP_COMMA_IF(N) PHOENIX_A(N)>                                \
-        {};                                                                     \
-        /**/
-
-        BOOST_PP_REPEAT(PHOENIX_CATCH_LIMIT, PHOENIX_TRY_CATCH_EXPRESSION, _)
-        #undef PHOENIX_TRY_CATCH_EXPRESSION
+        // bring in the expression definitions
+        #include <boost/phoenix/statement/detail/try_catch_expression.hpp>
 
         template <typename A0, typename A1>
         struct catch_
@@ -109,62 +97,8 @@
     {
         typedef void result_type;
 
-    #define PHOENIX_TRY_CATCH_EVAL_R(Z, N, DATA)                                \
-            catch(                                                              \
-                typename proto::result_of::value<                               \
-                    typename proto::result_of::child_c<                         \
-                        BOOST_PP_CAT(A, N)                                      \
-                      , 0                                                       \
-                    >::type                                                     \
-                >::type::type &                                                 \
-            )                                                                   \
-            {                                                                   \
-                eval(proto::child_c<1>(BOOST_PP_CAT(a, N)), env);               \
-            }                                                                   \
-        /**/
-
-    #define PHOENIX_TRY_CATCH_EVAL(Z, N, DATA)                                  \
-        template <typename Env, typename Try, PHOENIX_typename_A(N)>            \
-        typename boost::enable_if<                                              \
-            proto::matches<BOOST_PP_CAT(A, BOOST_PP_DEC(N)), rule::catch_>      \
-          , result_type                                                         \
-        >::type                                                                 \
-        operator()(Env & env, Try const & try_, PHOENIX_A_const_ref_a(N)) const \
-        {                                                                       \
-            try                                                                 \
-            {                                                                   \
-                eval(proto::child_c<0>(try_), env);                             \
-            }                                                                   \
-            BOOST_PP_REPEAT(N, PHOENIX_TRY_CATCH_EVAL_R, _)                     \
-        }                                                                       \
-                                                                                \
-        template <typename Env, typename Try, PHOENIX_typename_A(N)>            \
-        typename boost::disable_if<                                             \
-            proto::matches<BOOST_PP_CAT(A, BOOST_PP_DEC(N)), rule::catch_>      \
-          , result_type                                                         \
-        >::type                                                                 \
-        operator()(Env & env, Try const & try_, PHOENIX_A_const_ref_a(N)) const \
-        {                                                                       \
-            try                                                                 \
-            {                                                                   \
-                eval(proto::child_c<0>(try_), env);                             \
-            }                                                                   \
-            BOOST_PP_REPEAT(BOOST_PP_DEC(N), PHOENIX_TRY_CATCH_EVAL_R, _)       \
-            catch(...)                                                          \
-            {                                                                   \
-                eval(proto::child_c<0>(BOOST_PP_CAT(a, BOOST_PP_DEC(N))), env); \
-            }                                                                   \
-        }                                                                       \
-        /**/
-
-        BOOST_PP_REPEAT_FROM_TO(
-            1
-          , PHOENIX_CATCH_LIMIT
-          , PHOENIX_TRY_CATCH_EVAL
-          , _
-        )
-        #undef PHOENIX_TRY_CATCH_EVAL
-        #undef PHOENIX_TRY_CATCH_EVAL_R
+        // bring in the operator overloads
+        #include <boost/phoenix/statement/detail/try_catch_eval.hpp>
     };
 
     template <typename Dummy>
@@ -250,59 +184,6 @@
                     );
             }
         };
-
-    #define PHOENIX_CATCH_PUSH_BACK_R0(Z, N, DATA)                              \
-        BOOST_PP_COMMA_IF(N)                                                    \
-        typename proto::result_of::child_c<TryCatch, N>::type                   \
-        /**/
-
-    #define PHOENIX_CATCH_PUSH_BACK_R1(Z, N, DATA)                              \
-        BOOST_PP_COMMA_IF(N) proto::child_c<N>(try_catch)                       \
-        /**/
-
-    #define PHOENIX_CATCH_PUSH_BACK(Z, N, DATA)                                 \
-        template <typename TryCatch, typename Exception, typename Expr>         \
-        struct catch_push_back<TryCatch, Exception, Expr, N>                    \
-        {                                                                       \
-            typedef                                                             \
-                typename proto::result_of::make_expr<                           \
-                    tag::catch_                                                 \
-                  , default_domain_with_basic_expr                              \
-                  , catch_exception<Exception>                                  \
-                  , Expr                                                        \
-                >::type                                                         \
-                catch_expr;                                                     \
-                                                                                \
-            typedef expression::try_catch<                                      \
-                BOOST_PP_REPEAT(N, PHOENIX_CATCH_PUSH_BACK_R0, _)               \
-              , catch_expr> gen_type;                                           \
-            typedef typename gen_type::type type;                               \
-                                                                                \
-            static type                                                         \
-            make(                                                               \
-                TryCatch const& try_catch                                       \
-              , Expr const& catch_                                              \
-            )                                                                   \
-            {                                                                   \
-                return                                                          \
-                    gen_type::make(                                             \
-                        BOOST_PP_REPEAT(N, PHOENIX_CATCH_PUSH_BACK_R1, _)       \
-                      , proto::make_expr<                                       \
-                            tag::catch_                                         \
-                          , default_domain_with_basic_expr                      \
-                        >(catch_exception<Exception>(), catch_)                 \
-                    );                                                          \
-            }                                                                   \
-        };                                                                      \
-        /**/
-
-        BOOST_PP_REPEAT_FROM_TO(
-            2
-          , PHOENIX_CATCH_LIMIT
-          , PHOENIX_CATCH_PUSH_BACK
-          , _
-        )
-        #undef PHOENIX_CATCH_PUSH_BACK
         
         template <
             typename TryCatch
@@ -342,51 +223,7 @@
                     );
             }
         };
-
-    #define PHOENIX_CATCH_ALL_PUSH_BACK(Z, N, DATA)                             \
-        template <typename TryCatch, typename Expr>                             \
-        struct catch_all_push_back<TryCatch, Expr, N>                           \
-        {                                                                       \
-            typedef                                                             \
-                typename proto::result_of::make_expr<                           \
-                    tag::catch_all                                              \
-                  , default_domain_with_basic_expr                              \
-                  , Expr                                                        \
-                >::type                                                         \
-                catch_expr;                                                     \
-                                                                                \
-            typedef expression::try_catch<                                      \
-                BOOST_PP_REPEAT(N, PHOENIX_CATCH_PUSH_BACK_R0, _)               \
-              , catch_expr> gen_type;                                           \
-            typedef typename gen_type::type type;                               \
-                                                                                \
-            static type                                                         \
-            make(                                                               \
-                TryCatch const& try_catch                                       \
-              , Expr const& catch_                                              \
-            )                                                                   \
-            {                                                                   \
-                return                                                          \
-                    gen_type::make(                                             \
-                        BOOST_PP_REPEAT(N, PHOENIX_CATCH_PUSH_BACK_R1, _)       \
-                      , proto::make_expr<                                       \
-                            tag::catch_all                                      \
-                          , default_domain_with_basic_expr                      \
-                        >(catch_)                                               \
-                    );                                                          \
-            }                                                                   \
-        };                                                                      \
-        /**/
-        
-        BOOST_PP_REPEAT_FROM_TO(
-            2
-          , PHOENIX_CATCH_LIMIT
-          , PHOENIX_CATCH_ALL_PUSH_BACK
-          , _
-        )
-        #undef PHOENIX_CATCH_ALL_PUSH_BACK
-        #undef PHOENIX_CATCH_PUSH_BACK_R0
-        #undef PHOENIX_CATCH_PUSH_BACK_R1
+        #include <boost/phoenix/statement/detail/catch_push_back.hpp>
     }
 
     template <typename TryCatch, typename Exception>
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/stl/algorithm/iteration.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/stl/algorithm/iteration.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/stl/algorithm/iteration.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -20,76 +20,76 @@
 #include <boost/phoenix/function/function.hpp>
 
 namespace boost { namespace phoenix {
-namespace impl
-{
-    struct for_each
+    namespace impl
     {
-        template <typename Sig>
-        struct result;
-
-        template<typename This, class R, class F>
-        struct result<This(R&, F)>
-            : result<This(R&, F const &)>
-        {};
-
-        template<typename This, class R, class F>
-        struct result<This(R&, F &)>
+        struct for_each
         {
-            typedef F type;
-        };
+            template <typename Sig>
+            struct result;
 
-        template<class R, class F>
-        F operator()(R& r, F fn) const
-        {        
-            return std::for_each(detail::begin_(r), detail::end_(r), fn);
-        }
-    };
-
-    struct accumulate
-    {
-        template <typename Sig>
-        struct result;
-        
-        template<typename This, class R, class I>
-        struct result<This(R&, I)>
-            : result<This(R&, I const &)>
-        {};
-        
-        template<typename This, class R, class I>
-        struct result<This(R&, I &)>
-        {
-            typedef I type;
+            template<typename This, class R, class F>
+            struct result<This(R&, F)>
+                : result<This(R&, F const &)>
+            {};
+
+            template<typename This, class R, class F>
+            struct result<This(R&, F &)>
+            {
+                typedef F type;
+            };
+
+            template<class R, class F>
+            F operator()(R& r, F fn) const
+            {        
+                return std::for_each(detail::begin_(r), detail::end_(r), fn);
+            }
         };
-        
-        template<typename This, class R, class I, class C>
-        struct result<This(R&, I, C)>
-            : result<This(R&, I const &, C)>
-        {};
 
-        template<typename This, class R, class I, class C>
-        struct result<This(R&, I &, C)>
+        struct accumulate
         {
-            typedef I type;
+            template <typename Sig>
+            struct result;
+            
+            template<typename This, class R, class I>
+            struct result<This(R&, I)>
+                : result<This(R&, I const &)>
+            {};
+            
+            template<typename This, class R, class I>
+            struct result<This(R&, I &)>
+            {
+                typedef I type;
+            };
+            
+            template<typename This, class R, class I, class C>
+            struct result<This(R&, I, C)>
+                : result<This(R&, I const &, C)>
+            {};
+
+            template<typename This, class R, class I, class C>
+            struct result<This(R&, I &, C)>
+            {
+                typedef I type;
+            };
+
+            template<class R, class I>
+            I
+            operator()(R& r, I i) const
+            {
+                return std::accumulate(detail::begin_(r), detail::end_(r), i);
+            }
+
+            template<class R, class I, class C>
+            I
+            operator()(R& r, I i, C c) const
+            {
+                return std::accumulate(detail::begin_(r), detail::end_(r), i, c);
+            }
         };
+    }
 
-        template<class R, class I>
-        I
-        operator()(R& r, I i) const
-        {
-            return std::accumulate(detail::begin_(r), detail::end_(r), i);
-        }
-
-        template<class R, class I, class C>
-        I
-        operator()(R& r, I i, C c) const
-        {
-            return std::accumulate(detail::begin_(r), detail::end_(r), i, c);
-        }
-    };
-}
-
-function<impl::for_each> const for_each = impl::for_each();
-function<impl::accumulate> const accumulate = impl::accumulate();
+    function<impl::for_each> const for_each = impl::for_each();
+    function<impl::accumulate> const accumulate = impl::accumulate();
 
 }}
 
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/stl/algorithm/querying.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/stl/algorithm/querying.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/stl/algorithm/querying.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -29,614 +29,614 @@
 #include <boost/range/difference_type.hpp>
 
 namespace boost { namespace phoenix {
-namespace impl
-{
-    struct find
+    namespace impl
     {
-        template <typename Sig>
-        struct result;
-
-        template <typename This, class R, class T>
-        struct result<This(R&, T const&)>
-            : range_result_iterator<R>
-        {};
-
-        template<class R, class T>
-        typename range_result_iterator<R>::type
-        execute(R& r, T const& x, mpl::true_) const
+        struct find
         {
-            return r.find(x);
-        }
+            template <typename Sig>
+            struct result;
 
-        template<class R, class T>
-        typename range_result_iterator<R>::type
-        execute(R& r, T const& x, mpl::false_) const
-        {
-            return std::find(detail::begin_(r), detail::end_(r), x);
-        }
+            template <typename This, class R, class T>
+            struct result<This(R&, T const&)>
+                : range_result_iterator<R>
+            {};
+
+            template<class R, class T>
+            typename range_result_iterator<R>::type
+            execute(R& r, T const& x, mpl::true_) const
+            {
+                return r.find(x);
+            }
+
+            template<class R, class T>
+            typename range_result_iterator<R>::type
+            execute(R& r, T const& x, mpl::false_) const
+            {
+                return std::find(detail::begin_(r), detail::end_(r), x);
+            }
+
+            template<class R, class T>
+            typename range_result_iterator<R>::type
+            operator()(R& r, T const& x) const
+            {
+                return execute(r, x, has_find<R>());
+            }
+        };
 
-        template<class R, class T>
-        typename range_result_iterator<R>::type
-        operator()(R& r, T const& x) const
+        struct find_if
         {
-            return execute(r, x, has_find<R>());
-        }
-    };
+            template <typename Sig>
+            struct result;
 
-    struct find_if
-    {
-        template <typename Sig>
-        struct result;
+            template <typename This, class R, class P>
+            struct result<This(R&, P)>
+                : range_result_iterator<R>
+            {};
+
+            template<class R, class P>
+            typename range_result_iterator<R>::type
+            operator()(R& r, P p) const
+            {
+                return std::find_if(detail::begin_(r), detail::end_(r), p);
+            }
+        };
 
-        template <typename This, class R, class P>
-        struct result<This(R&, P)>
-            : range_result_iterator<R>
-        {};
-
-        template<class R, class P>
-        typename range_result_iterator<R>::type
-        operator()(R& r, P p) const
+        struct find_end
         {
-            return std::find_if(detail::begin_(r), detail::end_(r), p);
-        }
-    };
-
-    struct find_end
-    {
-        template <typename Sig>
-        struct result;
-
-        template<typename This, class R, class R2>
-        struct result<This(R&, R2&)>
-            : range_result_iterator<R>
-        {};
-
-        template<typename This, class R, class R2, class P>
-        struct result<This(R&, R2&, P)>
-            : range_result_iterator<R>
-        {};
-
-        template<class R, class R2>
-        typename range_result_iterator<R>::type
-        operator()(R& r, R2& r2) const
-        {
-            return std::find_end(
-                detail::begin_(r)
-                , detail::end_(r)
-                , detail::begin_(r2)
-                , detail::end_(r2)
-                );
-        }
-
-        template<class R, class R2, class P>
-        typename range_result_iterator<R>::type
-        operator()(R& r, R2& r2, P p) const
-        {
-            return std::find_end(
-                detail::begin_(r)
-                , detail::end_(r)
-                , detail::begin_(r2)
-                , detail::end_(r2)
-                , p
-                );
-        }
-    };
+            template <typename Sig>
+            struct result;
 
-    struct find_first_of
-    {
-        template <typename Sig>
-        struct result;
-
-        template<typename This, class R, class R2>
-        struct result<This(R&, R2&)>
-            : range_result_iterator<R>
-        {};
-
-        template<typename This, class R, class R2, class P>
-        struct result<This(R&, R2&, P)>
-            : range_result_iterator<R>
-        {};
-
-        template<class R, class R2>
-        typename range_result_iterator<R>::type
-        operator()(R& r, R2& r2) const
-        {
-            return std::find_first_of(
-                detail::begin_(r)
-                , detail::end_(r)
-                , detail::begin_(r2)
-                , detail::end_(r2)
-                );
-        }
-
-        template<class R, class R2, class P>
-        typename range_result_iterator<R>::type
-        operator()(R& r, R2& r2, P p) const
-        {
-            return std::find_first_of(
-                detail::begin_(r)
-                , detail::end_(r)
-                , detail::begin_(r2)
-                , detail::end_(r2)
-                , p
-                );
-        }
-    };
-
-    struct adjacent_find
-    {
-        template <typename Sig>
-        struct result;
-
-        template <typename This, class R>
-        struct result<This(R&)>
-            : range_result_iterator<R>
-        {};
-
-        template <typename This, class R, class P>
-        struct result<This(R&, P)>
-            : range_result_iterator<R>
-        {};
-
-        template<class R>
-        typename range_result_iterator<R>::type
-        operator()(R& r) const
-        {
-            return std::adjacent_find(detail::begin_(r), detail::end_(r));
-        }
+            template<typename This, class R, class R2>
+            struct result<This(R&, R2&)>
+                : range_result_iterator<R>
+            {};
+
+            template<typename This, class R, class R2, class P>
+            struct result<This(R&, R2&, P)>
+                : range_result_iterator<R>
+            {};
+
+            template<class R, class R2>
+            typename range_result_iterator<R>::type
+            operator()(R& r, R2& r2) const
+            {
+                return std::find_end(
+                    detail::begin_(r)
+                    , detail::end_(r)
+                    , detail::begin_(r2)
+                    , detail::end_(r2)
+                    );
+            }
+
+            template<class R, class R2, class P>
+            typename range_result_iterator<R>::type
+            operator()(R& r, R2& r2, P p) const
+            {
+                return std::find_end(
+                    detail::begin_(r)
+                    , detail::end_(r)
+                    , detail::begin_(r2)
+                    , detail::end_(r2)
+                    , p
+                    );
+            }
+        };
 
-        template<class R, class P>
-        typename range_result_iterator<R>::type
-        operator()(R& r, P p) const
+        struct find_first_of
         {
-            return std::adjacent_find(detail::begin_(r), detail::end_(r), p);
-        }
-    };
+            template <typename Sig>
+            struct result;
 
-    struct count
-    {
-        template <typename Sig>
-        struct result;
-
-        template <typename This, class R, class T>
-        struct result<This(R&, T const&)>
-            : range_difference<R>
-        {};
-
-        template<class R, class T>
-        typename range_difference<R>::type
-        operator()(R& r, T const& x) const
-        {
-            return std::count(detail::begin_(r), detail::end_(r), x);
-        }
-    };
-
-    struct count_if
-    {
-        template <typename Sig>
-        struct result;
+            template<typename This, class R, class R2>
+            struct result<This(R&, R2&)>
+                : range_result_iterator<R>
+            {};
+
+            template<typename This, class R, class R2, class P>
+            struct result<This(R&, R2&, P)>
+                : range_result_iterator<R>
+            {};
+
+            template<class R, class R2>
+            typename range_result_iterator<R>::type
+            operator()(R& r, R2& r2) const
+            {
+                return std::find_first_of(
+                    detail::begin_(r)
+                    , detail::end_(r)
+                    , detail::begin_(r2)
+                    , detail::end_(r2)
+                    );
+            }
+
+            template<class R, class R2, class P>
+            typename range_result_iterator<R>::type
+            operator()(R& r, R2& r2, P p) const
+            {
+                return std::find_first_of(
+                    detail::begin_(r)
+                    , detail::end_(r)
+                    , detail::begin_(r2)
+                    , detail::end_(r2)
+                    , p
+                    );
+            }
+        };
 
-        template <typename This, class R, class P>
-        struct result<This(R&, P)>
-            : range_difference<R>
-        {};
-
-        template<class R, class P>
-        typename range_difference<R>::type
-        operator()(R& r, P p) const
+        struct adjacent_find
         {
-            return std::count_if(detail::begin_(r), detail::end_(r), p);
-        }
-    };
+            template <typename Sig>
+            struct result;
 
-    struct distance
-    {
-        template <typename Sig>
-        struct result;
+            template <typename This, class R>
+            struct result<This(R&)>
+                : range_result_iterator<R>
+            {};
+
+            template <typename This, class R, class P>
+            struct result<This(R&, P)>
+                : range_result_iterator<R>
+            {};
+
+            template<class R>
+            typename range_result_iterator<R>::type
+            operator()(R& r) const
+            {
+                return std::adjacent_find(detail::begin_(r), detail::end_(r));
+            }
+
+            template<class R, class P>
+            typename range_result_iterator<R>::type
+            operator()(R& r, P p) const
+            {
+                return std::adjacent_find(detail::begin_(r), detail::end_(r), p);
+            }
+        };
 
-        template <typename This, class R>
-        struct result<This(R&)>
-            : range_difference<R>
-        {};
-
-        template<class R>
-        typename range_difference<R>::type
-        operator()(R& r) const
+        struct count
         {
-            return std::distance(detail::begin_(r), detail::end_(r));
-        }
-    };
+            template <typename Sig>
+            struct result;
 
-    struct equal
-    {
-        typedef bool result_type;
-
-        template<class R, class I>
-        bool operator()(R& r, I i) const
-        {
-            return std::equal(detail::begin_(r), detail::end_(r), i);
-        }
+            template <typename This, class R, class T>
+            struct result<This(R&, T const&)>
+                : range_difference<R>
+            {};
+
+            template<class R, class T>
+            typename range_difference<R>::type
+            operator()(R& r, T const& x) const
+            {
+                return std::count(detail::begin_(r), detail::end_(r), x);
+            }
+        };
 
-        template<class R, class I, class P>
-        bool operator()(R& r, I i, P p) const
+        struct count_if
         {
-            return std::equal(detail::begin_(r), detail::end_(r), i, p);
-        }
-    };
-
-    struct search
-    {
-        template <typename Sig>
-        struct result;
+            template <typename Sig>
+            struct result;
 
-        template <typename This, class R, typename R2>
-        struct result<This(R&, R2&)>
-            : range_result_iterator<R>
-        {};
-
-        template <typename This, class R, typename R2, class P>
-        struct result<This(R&, R2&, P)>
-            : range_result_iterator<R>
-        {};
-
-        template<class R, class R2>
-        typename range_result_iterator<R>::type
-        operator()(R& r, R2& r2) const
-        {
-            return std::search(
-                detail::begin_(r)
-                , detail::end_(r)
-                , detail::begin_(r2)
-                , detail::end_(r2)
-                );
-        }
-
-        template<class R, class R2, class P>
-        typename range_result_iterator<R>::type
-        operator()(R& r, R2& r2, P p) const
-        {
-            return std::search(
-                detail::begin_(r)
-                , detail::end_(r)
-                , detail::begin_(r2)
-                , detail::end_(r2)
-                , p
-                );
-        }
-    };
-
-    struct lower_bound 
-    {
-        template <typename Sig>
-        struct result;
-
-        template <typename This, class R, class T>
-        struct result<This(R&, T const&)>
-            : range_result_iterator<R>
-        {};
-
-        template <typename This, class R, class T, class C>
-        struct result<This(R&, T const&, C)>
-            : range_result_iterator<R>
-        {};
-
-        template<class R, class T>
-        typename range_result_iterator<R>::type
-        execute(R& r, T const& val, mpl::true_) const
-        {
-            return r.lower_bound(val);
-        }
+            template <typename This, class R, class P>
+            struct result<This(R&, P)>
+                : range_difference<R>
+            {};
+
+            template<class R, class P>
+            typename range_difference<R>::type
+            operator()(R& r, P p) const
+            {
+                return std::count_if(detail::begin_(r), detail::end_(r), p);
+            }
+        };
 
-        template<class R, class T>
-        typename range_result_iterator<R>::type
-        execute(R& r, T const& val, mpl::false_) const
+        struct distance
         {
-            return std::lower_bound(detail::begin_(r), detail::end_(r), val);
-        }
+            template <typename Sig>
+            struct result;
 
-        template<class R, class T>
-        typename range_result_iterator<R>::type
-        operator()(R& r, T const& val) const
-        {
-            return execute(r, val, has_lower_bound<R>());
-        }
+            template <typename This, class R>
+            struct result<This(R&)>
+                : range_difference<R>
+            {};
+
+            template<class R>
+            typename range_difference<R>::type
+            operator()(R& r) const
+            {
+                return std::distance(detail::begin_(r), detail::end_(r));
+            }
+        };
 
-        template<class R, class T, class C>
-        typename range_result_iterator<R>::type
-        operator()(R& r, T const& val, C c) const
+        struct equal
         {
-            return std::lower_bound(detail::begin_(r), detail::end_(r), val, c);
-        }
-    };
+            typedef bool result_type;
 
-    struct upper_bound 
-    {
-        template <typename Sig>
-        struct result;
+            template<class R, class I>
+            bool operator()(R& r, I i) const
+            {
+                return std::equal(detail::begin_(r), detail::end_(r), i);
+            }
+
+            template<class R, class I, class P>
+            bool operator()(R& r, I i, P p) const
+            {
+                return std::equal(detail::begin_(r), detail::end_(r), i, p);
+            }
+        };
 
-        template <typename This, class R, class T>
-        struct result<This(R&, T const&)>
-            : range_result_iterator<R>
-        {};
-
-        template <typename This, class R, class T, class C>
-        struct result<This(R&, T const&, C)>
-            : range_result_iterator<R>
-        {};
-
-        template<class R, class T>
-        typename range_result_iterator<R>::type
-        execute(R& r, T const& val, mpl::true_) const
+        struct search
         {
-            return r.upper_bound(val);
-        }
+            template <typename Sig>
+            struct result;
 
-        template<class R, class T>
-        typename range_result_iterator<R>::type
-        execute(R& r, T const& val, mpl::false_) const
-        {
-            return std::upper_bound(detail::begin_(r), detail::end_(r), val);
-        }
+            template <typename This, class R, typename R2>
+            struct result<This(R&, R2&)>
+                : range_result_iterator<R>
+            {};
+
+            template <typename This, class R, typename R2, class P>
+            struct result<This(R&, R2&, P)>
+                : range_result_iterator<R>
+            {};
+
+            template<class R, class R2>
+            typename range_result_iterator<R>::type
+            operator()(R& r, R2& r2) const
+            {
+                return std::search(
+                    detail::begin_(r)
+                    , detail::end_(r)
+                    , detail::begin_(r2)
+                    , detail::end_(r2)
+                    );
+            }
+
+            template<class R, class R2, class P>
+            typename range_result_iterator<R>::type
+            operator()(R& r, R2& r2, P p) const
+            {
+                return std::search(
+                    detail::begin_(r)
+                    , detail::end_(r)
+                    , detail::begin_(r2)
+                    , detail::end_(r2)
+                    , p
+                    );
+            }
+        };
 
-        template<class R, class T>
-        typename range_result_iterator<R>::type
-        operator()(R& r, T const& val) const
+        struct lower_bound 
         {
-            return execute(r, val, has_upper_bound<R>());
-        }
+            template <typename Sig>
+            struct result;
 
-        template<class R, class T, class C>
-        typename range_result_iterator<R>::type
-        operator()(R& r, T const& val, C c) const
-        {
-            return std::upper_bound(detail::begin_(r), detail::end_(r), val, c);
-        }
-    };
-
-    namespace result_of
-    {
-        template <typename R, typename T, typename C = void>
-        struct equal_range
-        {
-            typedef std::pair<
-                typename range_result_iterator<R>::type
-                , typename range_result_iterator<R>::type
-            > type;
+            template <typename This, class R, class T>
+            struct result<This(R&, T const&)>
+                : range_result_iterator<R>
+            {};
+
+            template <typename This, class R, class T, class C>
+            struct result<This(R&, T const&, C)>
+                : range_result_iterator<R>
+            {};
+
+            template<class R, class T>
+            typename range_result_iterator<R>::type
+            execute(R& r, T const& val, mpl::true_) const
+            {
+                return r.lower_bound(val);
+            }
+
+            template<class R, class T>
+            typename range_result_iterator<R>::type
+            execute(R& r, T const& val, mpl::false_) const
+            {
+                return std::lower_bound(detail::begin_(r), detail::end_(r), val);
+            }
+
+            template<class R, class T>
+            typename range_result_iterator<R>::type
+            operator()(R& r, T const& val) const
+            {
+                return execute(r, val, has_lower_bound<R>());
+            }
+
+            template<class R, class T, class C>
+            typename range_result_iterator<R>::type
+            operator()(R& r, T const& val, C c) const
+            {
+                return std::lower_bound(detail::begin_(r), detail::end_(r), val, c);
+            }
         };
-    }
 
-    struct equal_range 
-    {
-        template <typename Sig>
-        struct result;
-
-        template <typename This, class R, class T>
-        struct result<This(R&, T const&)>
-            : result_of::equal_range<R,T>
-        {};
-
-        template <typename This, class R, class T, class C>
-        struct result<This(R&, T const&, C)>
-            : result_of::equal_range<R,T, C>
-        {};
-
-        template<class R, class T>
-        typename result_of::equal_range<R, T>::type
-        execute(R& r, T const& val, mpl::true_) const
+        struct upper_bound 
         {
-            return r.equal_range(val);
-        }
+            template <typename Sig>
+            struct result;
 
-        template<class R, class T>
-        typename result_of::equal_range<R, T>::type
-        execute(R& r, T const& val, mpl::false_) const
-        {
-            return std::equal_range(detail::begin_(r), detail::end_(r), val);
-        }
+            template <typename This, class R, class T>
+            struct result<This(R&, T const&)>
+                : range_result_iterator<R>
+            {};
+
+            template <typename This, class R, class T, class C>
+            struct result<This(R&, T const&, C)>
+                : range_result_iterator<R>
+            {};
+
+            template<class R, class T>
+            typename range_result_iterator<R>::type
+            execute(R& r, T const& val, mpl::true_) const
+            {
+                return r.upper_bound(val);
+            }
+
+            template<class R, class T>
+            typename range_result_iterator<R>::type
+            execute(R& r, T const& val, mpl::false_) const
+            {
+                return std::upper_bound(detail::begin_(r), detail::end_(r), val);
+            }
+
+            template<class R, class T>
+            typename range_result_iterator<R>::type
+            operator()(R& r, T const& val) const
+            {
+                return execute(r, val, has_upper_bound<R>());
+            }
+
+            template<class R, class T, class C>
+            typename range_result_iterator<R>::type
+            operator()(R& r, T const& val, C c) const
+            {
+                return std::upper_bound(detail::begin_(r), detail::end_(r), val, c);
+            }
+        };
 
-        template<class R, class T>
-        typename result_of::equal_range<R, T>::type
-        operator()(R& r, T const& val) const
+        namespace result_of
         {
-            return execute(r, val, has_equal_range<R>());
-        }
+            template <typename R, typename T, typename C = void>
+            struct equal_range
+            {
+                typedef std::pair<
+                    typename range_result_iterator<R>::type
+                    , typename range_result_iterator<R>::type
+                > type;
+            };
+        }
+
+        struct equal_range 
+        {
+            template <typename Sig>
+            struct result;
+
+            template <typename This, class R, class T>
+            struct result<This(R&, T const&)>
+                : result_of::equal_range<R,T>
+            {};
+
+            template <typename This, class R, class T, class C>
+            struct result<This(R&, T const&, C)>
+                : result_of::equal_range<R,T, C>
+            {};
+
+            template<class R, class T>
+            typename result_of::equal_range<R, T>::type
+            execute(R& r, T const& val, mpl::true_) const
+            {
+                return r.equal_range(val);
+            }
+
+            template<class R, class T>
+            typename result_of::equal_range<R, T>::type
+            execute(R& r, T const& val, mpl::false_) const
+            {
+                return std::equal_range(detail::begin_(r), detail::end_(r), val);
+            }
+
+            template<class R, class T>
+            typename result_of::equal_range<R, T>::type
+            operator()(R& r, T const& val) const
+            {
+                return execute(r, val, has_equal_range<R>());
+            }
+
+            template<class R, class T, class C>
+            typename result_of::equal_range<R, T, C>::type
+            operator()(R& r, T const& val, C c) const
+            {
+                return std::equal_range(detail::begin_(r), detail::end_(r), val, c);
+            }
+        };
 
-        template<class R, class T, class C>
-        typename result_of::equal_range<R, T, C>::type
-        operator()(R& r, T const& val, C c) const
+        namespace result_of
         {
-            return std::equal_range(detail::begin_(r), detail::end_(r), val, c);
+            template <typename R, typename I, typename P = void>
+            struct mismatch
+            {
+                typedef std::pair<
+                    typename range_result_iterator<R>::type
+                    , typename detail::decay_array<I>::type
+                > type;
+            };
         }
-    };
 
-    namespace result_of
-    {
-        template <typename R, typename I, typename P = void>
         struct mismatch
         {
-            typedef std::pair<
-                typename range_result_iterator<R>::type
-                , typename detail::decay_array<I>::type
-            > type;
-        };
-    }
+            template <typename Sig>
+            struct result;
 
-    struct mismatch
-    {
-        template <typename Sig>
-        struct result;
-
-        template<typename This, class R, class I>
-        struct result<This(R&, I)>
-            : result_of::mismatch<R, I>
-        {};
-
-        template<typename This, class R, class I, class P>
-        struct result<This(R&, I, P)>
-            : result_of::mismatch<R, I, P>
-        {};
-
-        template<class R, class I>
-        typename result_of::mismatch<R, I>::type
-        operator()(R& r, I i) const
-        {
-            return std::mismatch(detail::begin_(r), detail::end_(r), i);
-        }
+            template<typename This, class R, class I>
+            struct result<This(R&, I)>
+                : result_of::mismatch<R, I>
+            {};
+
+            template<typename This, class R, class I, class P>
+            struct result<This(R&, I, P)>
+                : result_of::mismatch<R, I, P>
+            {};
+
+            template<class R, class I>
+            typename result_of::mismatch<R, I>::type
+            operator()(R& r, I i) const
+            {
+                return std::mismatch(detail::begin_(r), detail::end_(r), i);
+            }
+
+            template<class R, class I, class P>
+            typename result_of::mismatch<R, I, P>::type
+            operator()(R& r, I i, P p) const
+            {
+                return std::mismatch(detail::begin_(r), detail::end_(r), i, p);
+            }
+        };
 
-        template<class R, class I, class P>
-        typename result_of::mismatch<R, I, P>::type
-        operator()(R& r, I i, P p) const
+        struct binary_search 
         {
-            return std::mismatch(detail::begin_(r), detail::end_(r), i, p);
-        }
-    };
-
-    struct binary_search 
-    {
-        typedef bool result_type;
+            typedef bool result_type;
 
-        template<class R, class T>
-        bool operator()(R& r, T const& val) const
-        {
-            return std::binary_search(detail::begin_(r), detail::end_(r), val);
-        }
+            template<class R, class T>
+            bool operator()(R& r, T const& val) const
+            {
+                return std::binary_search(detail::begin_(r), detail::end_(r), val);
+            }
+
+            template<class R, class T, class C>
+            bool operator()(R& r, T const& val, C c) const
+            {
+                return std::binary_search(detail::begin_(r), detail::end_(r), val, c);
+            }
+        };
 
-        template<class R, class T, class C>
-        bool operator()(R& r, T const& val, C c) const
+        struct includes 
         {
-            return std::binary_search(detail::begin_(r), detail::end_(r), val, c);
-        }
-    };
+            typedef bool result_type;
 
-    struct includes 
-    {
-        typedef bool result_type;
+            template<class R1, class R2>
+            bool operator()(R1& r1, R2& r2) const
+            {
+                return std::includes(
+                    detail::begin_(r1), detail::end_(r1)
+                    , detail::begin_(r2), detail::end_(r2)
+                    );
+            }
+
+            template<class R1, class R2, class C>
+            bool operator()(R1& r1, R2& r2, C c) const
+            {
+                return std::includes(
+                    detail::begin_(r1), detail::end_(r1)
+                    , detail::begin_(r2), detail::end_(r2)
+                    , c
+                    );
+            }
+        };
 
-        template<class R1, class R2>
-        bool operator()(R1& r1, R2& r2) const
+        struct min_element
         {
-            return std::includes(
-                detail::begin_(r1), detail::end_(r1)
-                , detail::begin_(r2), detail::end_(r2)
-                );
-        }
+            template <typename Sig>
+            struct result;
+            
+            template <typename This, class R>
+            struct result<This(R&)>
+                : range_result_iterator<R>
+            {};
+
+            template <typename This, class R, class P>
+            struct result<This(R&, P)>
+                : range_result_iterator<R>
+            {};
+
+            template<class R>
+            typename range_result_iterator<R>::type
+            operator()(R& r) const
+            {
+                return std::min_element(detail::begin_(r), detail::end_(r));
+            }
+        
+            template<class R, class P>
+            typename range_result_iterator<R>::type
+            operator()(R& r, P p) const
+            {
+                return std::min_element(detail::begin_(r), detail::end_(r), p);
+            }
+        };
 
-        template<class R1, class R2, class C>
-        bool operator()(R1& r1, R2& r2, C c) const
+        struct max_element
         {
-            return std::includes(
-                detail::begin_(r1), detail::end_(r1)
-                , detail::begin_(r2), detail::end_(r2)
-                , c
-                );
-        }
-    };
+            template <typename Sig>
+            struct result;
 
-    struct min_element
-    {
-        template <typename Sig>
-        struct result;
+            template <typename This, class R>
+            struct result<This(R&)>
+                : range_result_iterator<R>
+            {};
+
+            template <typename This, class R, class P>
+            struct result<This(R&, P)>
+                : range_result_iterator<R>
+            {};
+
+            template<class R>
+            typename range_result_iterator<R>::type
+            operator()(R& r) const
+            {
+                return std::max_element(detail::begin_(r), detail::end_(r));
+            }
         
-        template <typename This, class R>
-        struct result<This(R&)>
-            : range_result_iterator<R>
-        {};
-
-        template <typename This, class R, class P>
-        struct result<This(R&, P)>
-            : range_result_iterator<R>
-        {};
-
-        template<class R>
-        typename range_result_iterator<R>::type
-        operator()(R& r) const
-        {
-            return std::min_element(detail::begin_(r), detail::end_(r));
-        }
-    
-        template<class R, class P>
-        typename range_result_iterator<R>::type
-        operator()(R& r, P p) const
-        {
-            return std::min_element(detail::begin_(r), detail::end_(r), p);
-        }
-    };
-
-    struct max_element
-    {
-        template <typename Sig>
-        struct result;
+            template<class R, class P>
+            typename range_result_iterator<R>::type
+            operator()(R& r, P p) const
+            {
+                return std::max_element(detail::begin_(r), detail::end_(r), p);
+            }
+        };
 
-        template <typename This, class R>
-        struct result<This(R&)>
-            : range_result_iterator<R>
-        {};
-
-        template <typename This, class R, class P>
-        struct result<This(R&, P)>
-            : range_result_iterator<R>
-        {};
-
-        template<class R>
-        typename range_result_iterator<R>::type
-        operator()(R& r) const
+        struct lexicographical_compare
         {
-            return std::max_element(detail::begin_(r), detail::end_(r));
-        }
-    
-        template<class R, class P>
-        typename range_result_iterator<R>::type
-        operator()(R& r, P p) const
-        {
-            return std::max_element(detail::begin_(r), detail::end_(r), p);
-        }
-    };
+            typedef bool result_type;
 
-    struct lexicographical_compare
-    {
-        typedef bool result_type;
-
-        template<class R1, class R2>
-        bool operator()(R1& r1, R2& r2) const
-        {
-            return std::lexicographical_compare(
-                detail::begin_(r1), detail::end_(r1)
-                , detail::begin_(r2), detail::end_(r2)
-                );
-        }
-    
-        template<class R1, class R2, class P>
-        bool operator()(R1& r1, R2& r2, P p) const
-        {
-            return std::lexicographical_compare(
-                detail::begin_(r1), detail::end_(r1)
-                , detail::begin_(r2), detail::end_(r2)
-                , p
-                );
-        }
-    };
+            template<class R1, class R2>
+            bool operator()(R1& r1, R2& r2) const
+            {
+                return std::lexicographical_compare(
+                    detail::begin_(r1), detail::end_(r1)
+                    , detail::begin_(r2), detail::end_(r2)
+                    );
+            }
+        
+            template<class R1, class R2, class P>
+            bool operator()(R1& r1, R2& r2, P p) const
+            {
+                return std::lexicographical_compare(
+                    detail::begin_(r1), detail::end_(r1)
+                    , detail::begin_(r2), detail::end_(r2)
+                    , p
+                    );
+            }
+        };
 
-}
+    }
 
-function<impl::find> const find = impl::find();
-function<impl::find_if> const find_if = impl::find_if();
-function<impl::find_end> const find_end = impl::find_end();
-function<impl::find_first_of> const find_first_of = impl::find_first_of();
-function<impl::adjacent_find> const adjacent_find = impl::adjacent_find();
-function<impl::count> const count = impl::count();
-function<impl::count_if> const count_if = impl::count_if();
-function<impl::distance> const distance = impl::distance();
-function<impl::equal> const equal = impl::equal();
-function<impl::search> const search = impl::search();
-function<impl::lower_bound> const lower_bound = impl::lower_bound();
-function<impl::upper_bound> const upper_bound = impl::upper_bound();
-function<impl::equal_range> const equal_range = impl::equal_range();
-function<impl::mismatch> const mismatch = impl::mismatch();
-function<impl::binary_search> const binary_search = impl::binary_search();
-function<impl::includes> const includes = impl::includes();
-function<impl::min_element> const min_element = impl::min_element();
-function<impl::max_element> const max_element = impl::max_element();
-function<impl::lexicographical_compare> const lexicographical_compare = impl::lexicographical_compare();
+    function<impl::find> const find = impl::find();
+    function<impl::find_if> const find_if = impl::find_if();
+    function<impl::find_end> const find_end = impl::find_end();
+    function<impl::find_first_of> const find_first_of = impl::find_first_of();
+    function<impl::adjacent_find> const adjacent_find = impl::adjacent_find();
+    function<impl::count> const count = impl::count();
+    function<impl::count_if> const count_if = impl::count_if();
+    function<impl::distance> const distance = impl::distance();
+    function<impl::equal> const equal = impl::equal();
+    function<impl::search> const search = impl::search();
+    function<impl::lower_bound> const lower_bound = impl::lower_bound();
+    function<impl::upper_bound> const upper_bound = impl::upper_bound();
+    function<impl::equal_range> const equal_range = impl::equal_range();
+    function<impl::mismatch> const mismatch = impl::mismatch();
+    function<impl::binary_search> const binary_search = impl::binary_search();
+    function<impl::includes> const includes = impl::includes();
+    function<impl::min_element> const min_element = impl::min_element();
+    function<impl::max_element> const max_element = impl::max_element();
+    function<impl::lexicographical_compare> const lexicographical_compare = impl::lexicographical_compare();
 
 }}
 
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/support/detail/iterate.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/support/detail/iterate.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/support/detail/iterate.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -14,40 +14,48 @@
 #endif
 
 #define PHOENIX_ITERATION_PARAMS_SIZE                                           \
-    BOOST_PP_TUPLE_ELEM(2, 0, PHOENIX_ITERATION_PARAMS)
+    BOOST_PP_TUPLE_ELEM(2, 0, PHOENIX_ITERATION_PARAMS)                         \
+/**/
 
 #define PHOENIX_ITERATION_TUPLE                                                 \
-    BOOST_PP_TUPLE_ELEM(2, 1, PHOENIX_ITERATION_PARAMS)
+    BOOST_PP_TUPLE_ELEM(2, 1, PHOENIX_ITERATION_PARAMS)                         \
+/**/
 
 #define PHOENIX_ITERATION_START                                                 \
     BOOST_PP_TUPLE_ELEM(                                                        \
-            PHOENIX_ITERATION_PARAMS_SIZE, 0, PHOENIX_ITERATION_TUPLE)
+        PHOENIX_ITERATION_PARAMS_SIZE, 0, PHOENIX_ITERATION_TUPLE)              \
+/**/
 
 #define PHOENIX_ITERATION_END                                                   \
     BOOST_PP_TUPLE_ELEM(                                                        \
-            PHOENIX_ITERATION_PARAMS_SIZE, 1, PHOENIX_ITERATION_TUPLE)
+        PHOENIX_ITERATION_PARAMS_SIZE, 1, PHOENIX_ITERATION_TUPLE)              \
+/**/
 
 
 #define PHOENIX_ITERATION_FILE()                                                \
     BOOST_PP_TUPLE_ELEM(                                                        \
-            PHOENIX_ITERATION_PARAMS_SIZE, 2, PHOENIX_ITERATION_TUPLE)
+        PHOENIX_ITERATION_PARAMS_SIZE, 2, PHOENIX_ITERATION_TUPLE)              \
+/**/
 
 #if PHOENIX_ITERATION_PARAMS_SIZE == 3
 
 #define BOOST_PP_ITERATION_PARAMS_1                                             \
     (3, (PHOENIX_ITERATION_START, PHOENIX_ITERATION_END,                        \
-    <boost/phoenix/support/detail/iterate.hpp>))
+    <boost/phoenix/support/detail/iterate.hpp>))                                \
+/**/
 
 #else
 
 #define PHOENIX_ITERATION_FLAG                                                  \
     BOOST_PP_TUPLE_ELEM(                                                        \
-            PHOENIX_ITERATION_PARAMS_SIZE, 3, PHOENIX_ITERATION_TUPLE)
+        PHOENIX_ITERATION_PARAMS_SIZE, 3, PHOENIX_ITERATION_TUPLE)              \
+/**/
 
 #define BOOST_PP_ITERATION_PARAMS_1                                             \
     (4, (PHOENIX_ITERATION_START, PHOENIX_ITERATION_END,                        \
     <boost/phoenix/support/detail/iterate.hpp>,                                 \
-    PHOENIX_ITERATION_FLAG))
+    PHOENIX_ITERATION_FLAG))                                                    \
+/**/
 
 #endif
 
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/support/detail/iterate_define.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/support/detail/iterate_define.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/support/detail/iterate_define.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -7,29 +7,41 @@
 
 #if !PHOENIX_IS_ITERATING
 
-#define PHOENIX_typename_A(N) BOOST_PP_ENUM_PARAMS(N, typename A)
+#define PHOENIX_typename_A(N)                                                   \
+    BOOST_PP_ENUM_PARAMS(N, typename A)                                         \
+/**/
 
 #define PHOENIX_typename_A_void(N)                                              \
-    BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N, typename A, void)
+    BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N, typename A, void)                    \
+/**/
 
 #define PHOENIX_A(N)                                                            \
-    BOOST_PP_ENUM_PARAMS(N, A)
+    BOOST_PP_ENUM_PARAMS(N, A)                                                  \
+/**/
 
 #define PHOENIX_A_ref(N)                                                        \
-    BOOST_PP_ENUM_BINARY_PARAMS(N, A, & BOOST_PP_INTERCEPT)
+    BOOST_PP_ENUM_BINARY_PARAMS(N, A, & BOOST_PP_INTERCEPT)                     \
+/**/
 
 #define PHOENIX_A_const_ref(N)                                                  \
-    BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& BOOST_PP_INTERCEPT)
+    BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& BOOST_PP_INTERCEPT)                \
+/**/
 
-#define PHOENIX_A_a(N) BOOST_PP_ENUM_BINARY_PARAMS(N, A, a)
-
-#define PHOENIX_A_ref_a(N) BOOST_PP_ENUM_BINARY_PARAMS(N, A, & a)
+#define PHOENIX_A_a(N)                                                          \
+    BOOST_PP_ENUM_BINARY_PARAMS(N, A, a)                                        \
+/**/
+
+#define PHOENIX_A_ref_a(N)                                                      \
+    BOOST_PP_ENUM_BINARY_PARAMS(N, A, & a)                                      \
+/**/
 
 #define PHOENIX_A_const_ref_a(N)                                                \
-    BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a)
+    BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a)                                 \
+/**/
 
 #define PHOENIX_a(N)                                                            \
-    BOOST_PP_ENUM_PARAMS(N, a)
+    BOOST_PP_ENUM_PARAMS(N, a)                                                  \
+/**/
 
 #else
 
@@ -44,68 +56,100 @@
 #include <boost/preprocessor/seq/size.hpp>
 #include <boost/preprocessor/tuple/elem.hpp>
 
-#define PHOENIX_ITERATION BOOST_PP_ITERATION()
-
-#define PHOENIX_typename_A BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, typename A)
+#define PHOENIX_ITERATION                                                       \
+    BOOST_PP_ITERATION()                                                        \
+/**/
+
+#define PHOENIX_typename_A                                                      \
+    BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, typename A)                         \
+/**/
 
 #define PHOENIX_typename_A_void                                                 \
-    BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(PHOENIX_ITERATION, typename A, void)
+    BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(PHOENIX_ITERATION, typename A, void)    \
+/**/
 
 #define PHOENIX_A                                                               \
-    BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, A)
+    BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, A)                                  \
+/**/
 
 #define PHOENIX_A_ref                                                           \
-    BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, A, & BOOST_PP_INTERCEPT)
+    BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, A, & BOOST_PP_INTERCEPT)     \
+/**/
 
 #define PHOENIX_A_const_ref                                                     \
-    BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, A, const& BOOST_PP_INTERCEPT)
-
-#define PHOENIX_A_a BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, A, a)
+    BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, A, const& BOOST_PP_INTERCEPT)\
+/**/
 
-#define PHOENIX_A_ref_a BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, A, & a)
+#define PHOENIX_A_a                                                             \
+    BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, A, a)                        \
+/**/
+
+#define PHOENIX_A_ref_a                                                         \
+    BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, A, & a)                      \
+/**/
 
 #define PHOENIX_A_const_ref_a                                                   \
-    BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, A, const& a)
+    BOOST_PP_ENUM_BINARY_PARAMS(PHOENIX_ITERATION, A, const& a)                 \
+/**/
 
 #define PHOENIX_a                                                               \
-    BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, a)
+    BOOST_PP_ENUM_PARAMS(PHOENIX_ITERATION, a)                                  \
+/**/
 
-    ////////////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////////////
     // Begin Perfect Forward argument permutation calculation
-    ////////////////////////////////////////////////////////////////////////////
-#define PHOENIX_M0_R(_, N, __) (((A ## N)(&))((A ## N)(const&)))    
-
-#define PHOENIX_M0 BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_M0_R, _)
-
-#define PHOENIX_M1_R_R(_, N, SEQ) BOOST_PP_SEQ_ELEM(N, SEQ)
-
-#define PHOENIX_M1_R(R, __, ___, ELEM)                                         \
-    (BOOST_PP_REPEAT(BOOST_PP_SEQ_SIZE(ELEM), PHOENIX_M1_R_R, ELEM))
-
-#define PHOENIX_M1(R, PRODUCT)                                                 \
-    ((BOOST_PP_SEQ_ENUM                                                        \
-        (BOOST_PP_SEQ_FOR_EACH_I_R                                             \
-            (R, PHOENIX_M1_R, _, PRODUCT))))
-
-#define PHOENIX_PERM_SEQ BOOST_PP_SEQ_FOR_EACH_PRODUCT(PHOENIX_M1, PHOENIX_M0)
+    /////////////////////////////////////////////////////////////////////////////
+#define PHOENIX_M0_R(_, N, __)                                                  \
+    (((A ## N)(&))((A ## N)(const&)))                                           \
+/**/
+
+#define PHOENIX_M0                                                              \
+    BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_M0_R, _)                         \
+/**/
+
+#define PHOENIX_M1_R_R(_, N, SEQ)                                               \
+    BOOST_PP_SEQ_ELEM(N, SEQ)                                                   \
+/**/
+
+#define PHOENIX_M1_R(R, __, ___, ELEM)                                          \
+    (BOOST_PP_REPEAT(BOOST_PP_SEQ_SIZE(ELEM), PHOENIX_M1_R_R, ELEM))            \
+/**/
+
+#define PHOENIX_M1(R, PRODUCT)                                                  \
+    ((BOOST_PP_SEQ_ENUM                                                         \
+        (BOOST_PP_SEQ_FOR_EACH_I_R                                              \
+            (R, PHOENIX_M1_R, _, PRODUCT))))                                    \
+/**/
+
+#define PHOENIX_PERM_SEQ                                                        \
+    BOOST_PP_SEQ_FOR_EACH_PRODUCT(PHOENIX_M1, PHOENIX_M0)                       \
+/**/
     ////////////////////////////////////////////////////////////////////////////
     // End
     ////////////////////////////////////////////////////////////////////////////
 
-#define PHOENIX_PERM_SIZE BOOST_PP_SEQ_SIZE(PHOENIX_PERM_SEQ)
+#define PHOENIX_PERM_SIZE                                                       \
+    BOOST_PP_SEQ_SIZE(PHOENIX_PERM_SEQ)                                         \
+/**/
 
 #define PHOENIX_M2(_, N, TUPLE)                                                 \
-    BOOST_PP_COMMA_IF(N) BOOST_PP_TUPLE_ELEM(PHOENIX_ITERATION, N, TUPLE)
+    BOOST_PP_COMMA_IF(N) BOOST_PP_TUPLE_ELEM(PHOENIX_ITERATION, N, TUPLE)       \
+/**/
     
 #define PHOENIX_M3(_, N, TUPLE)                                                 \
-    BOOST_PP_COMMA_IF(N) BOOST_PP_TUPLE_ELEM(PHOENIX_ITERATION, N, TUPLE) a ## N
+    BOOST_PP_COMMA_IF(N) BOOST_PP_TUPLE_ELEM(PHOENIX_ITERATION, N, TUPLE) a ## N\
+/**/
 
-#define PHOENIX_PERM_ELEM(N) BOOST_PP_SEQ_ELEM(N, PHOENIX_PERM_SEQ)
+#define PHOENIX_PERM_ELEM(N)                                                    \
+    BOOST_PP_SEQ_ELEM(N, PHOENIX_PERM_SEQ)                                      \
+/**/
 
 #define PHOENIX_PERM_A(N)                                                       \
-    BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_M2, PHOENIX_PERM_ELEM(N))
+    BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_M2, PHOENIX_PERM_ELEM(N))        \
+/**/
 
 #define PHOENIX_PERM_A_a(N)                                                     \
-    BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_M3, PHOENIX_PERM_ELEM(N))
+    BOOST_PP_REPEAT(PHOENIX_ITERATION, PHOENIX_M3, PHOENIX_PERM_ELEM(N))        \
+/**/
 
 #endif
Deleted: sandbox/SOC/2010/phoenix3/boost/phoenix/support/element_at.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/support/element_at.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
+++ (empty file)
@@ -1,86 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2010 Joel de Guzman
-
-    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 PHOENIX_SUPPORT_ELEMENT_AT_HPP
-#define PHOENIX_SUPPORT_ELEMENT_AT_HPP
-
-#include <boost/fusion/sequence/intrinsic/value_at.hpp>
-
-#include <boost/proto/traits.hpp>
-
-namespace boost { namespace phoenix
-{
-    ////////////////////////////////////////////////////////////////////////////
-    //
-    // Actors carry specific information with it. Primitive actors may hold
-    // simple primitive data, like values (e.g. int). Composites hold a tuple
-    // of proto expressions that evaluate to actors (using fusion vector).
-    // The following facilities extract the "elements" from an actor. An
-    // element is just a proto expression that evaluates to an actor.
-    //
-    ////////////////////////////////////////////////////////////////////////////
-    namespace result_of
-    {
-        // Get the Nth element value type from Expr (N is an integral constant)
-        template <class Expr, int N>
-        struct element_value_at_c : fusion::result_of::value_at_c<Expr, N+2>
-        {};
-        
-        // Get the Nth element value type from Expr (N is an mpl int_)
-        template <class Expr, class N>
-        struct element_value_at : element_value_at_c<Expr, N::value>
-        {};
-        
-        // Get the element type N from Expr (N is an integral constant)
-        template <class Expr, int N>
-        struct element_at_c : proto::result_of::child_c<Expr &, N+2>
-        {};
-
-        // Get the Nth element type N from Expr (N is an mpl int_)
-        template <class Expr, class N>
-        struct element_at : element_at_c<Expr, N::value>
-        {};
-    }
-
-    // Get the Nth element value N from Expr (N is an integral constant)
-    // non-const overload
-    template <int N, class Expr>
-    typename result_of::element_at_c<Expr, N>::type
-    element_at_c(Expr& expr)
-    {
-        return proto::child_c<N+2>(expr);
-    }
-    
-    // Get the Nth element value N from Expr (N is an integral constant)
-    // const overload
-    template <int N, class Expr>
-    typename result_of::element_at_c<Expr const, N>::type
-    element_at_c(Expr const& expr)
-    {
-        return proto::child_c<N+2>(expr);
-    }
-    
-    // Get the Nth element value N from Expr (N is an mpl int_)
-    // non-const overload
-    template <class N, class Expr>
-    typename result_of::element_at<Expr, N>::type
-    element_at(Expr& expr)
-    {
-        return proto::child_c<N::value + 2>(expr);
-    }
-    
-    // Get the Nth element value N from Expr (N is an mpl int_)
-    // const overload
-    template <class N, class Expr>
-    typename result_of::element_at<Expr const, N>::type
-    element_at(Expr const& expr)
-    {
-        return proto::child_c<N::value + 2>(expr);
-    }
-
-}}
-
-#endif
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/support/iterate.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/support/iterate.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/support/iterate.hpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -11,10 +11,7 @@
 
 #define PHOENIX_IS_ITERATING 0
 
-#define PHOENIX_ITERATE_RESULT_OF 1
-#define PHOENIX_ITERATE_OPERATOR 2
-
-#define PHOENIX_ITERATE() \
+#define PHOENIX_ITERATE()                                                       \
     <boost/phoenix/support/detail/iterate.hpp>
 
 #include <boost/phoenix/support/detail/iterate_define.hpp>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/Jamfile
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/Jamfile	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/Jamfile	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -7,24 +7,24 @@
 #==============================================================================
 
 project phoenix/doc ;
-import boostbook ;
+
 import quickbook ;
 
 path-constant images : html ;
 
-boostbook quickbook
+boostbook phoenix-doc
     :
         phoenix3.qbk
     :
         <xsl:param>boost.root=../../../..
-		  <xsl:param>chunk.section.depth=4
-		  <xsl:param>chunk.first.sections=1
-		  <xsl:param>toc.section.depth=4
-		  <xsl:param>toc.max.depth=4
-		  <xsl:param>generate.section.toc.level=4
+        <xsl:param>chunk.section.depth=4
+        <xsl:param>chunk.first.sections=1
+        <xsl:param>toc.section.depth=4
+        <xsl:param>toc.max.depth=4
+        <xsl:param>generate.section.toc.level=4
         <xsl:param>boost.libraries=../../../libraries.htm
         <xsl:param>html.stylesheet=../../../../doc/html/boostbook.css
-		  <format>html:<xsl:param>admon.graphics.path=images/
+        <format>html:<xsl:param>admon.graphics.path=images/
         <format>pdf:<xsl:param>img.src.path=$(images)/
         <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/phoenix/doc/html
     ;
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/index.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/index.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/index.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Chapter 1. Phoenix 3.0</title>
 <link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="next" href="phoenix/introduction.html" title="Introduction">
 </head>
@@ -26,7 +26,7 @@
 </h3></div></div>
 <div><p class="copyright">Copyright © 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller</p></div>
 <div><div class="legalnotice">
-<a name="id791888"></a><p>
+<a name="id569902"></a><p>
         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)
       </p>
@@ -145,7 +145,7 @@
 </dl>
 </div>
 <a name="phoenix.preface"></a><h2>
-<a name="id822617"></a>
+<a name="id600596"></a>
     <a class="link" href="index.html#phoenix.preface">Preface</a>
   </h2>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -164,7 +164,7 @@
     <span class="inlinemediaobject"><img src="images/lambda_cpp.png" alt="lambda_cpp"></span>
   </p>
 <a name="phoenix.description"></a><h3>
-<a name="id790669"></a>
+<a name="id568695"></a>
     <a class="link" href="index.html#phoenix.description">Description</a>
   </h3>
 <p>
@@ -182,7 +182,7 @@
     library is organized in highly independent modules and layers.
   </p>
 <a name="phoenix.how_to_use_this_manual"></a><h3>
-<a name="id790716"></a>
+<a name="id568742"></a>
     <a class="link" href="index.html#phoenix.how_to_use_this_manual">How to use this manual</a>
   </h3>
 <p>
@@ -204,7 +204,7 @@
     icons precede some text to indicate:
   </p>
 <div class="table">
-<a name="id790750"></a><p class="title"><b>Table 1.1. Icons</b></p>
+<a name="id568777"></a><p class="title"><b>Table 1.1. Icons</b></p>
 <div class="table-contents"><table class="table" summary="Icons">
 <colgroup>
 <col>
@@ -285,7 +285,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
     <span class="inlinemediaobject"><img src="images/note.png" alt="note"></span> Unless otherwise noted <code class="computeroutput"><span class="keyword">using</span>
     <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">;</span></code>
@@ -293,12 +293,12 @@
   </p>
 </div>
 <a name="phoenix._emphasis_role__bold___emphasis____to_my_dear_daughter__phoenix__emphasis___emphasis_"></a><h3>
-<a name="id831572"></a>
+<a name="id609551"></a>
     <a class="link" href="index.html#phoenix._emphasis_role__bold___emphasis____to_my_dear_daughter__phoenix__emphasis___emphasis_"><span class="bold"><strong><span class="emphasis"><em>...To my dear daughter, Phoenix</em></span></strong></span></a>
   </h3>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: August 16, 2010 at 18:47:55 GMT</small></p></td>
+<td align="left"><p><small>Last revised: December 28, 2010 at 11:36:08 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/acknowledgments.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/acknowledgments.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/acknowledgments.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Acknowledgments</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="prev" href="wrap_up.html" title="Wrap Up">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Advanced Topics</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="prev" href="starter_kit/composites/more.html" title="More">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/extending_actors.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/extending_actors.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/extending_actors.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Extending Actors</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../advanced_topics.html" title="Advanced Topics">
 <link rel="prev" href="porting_from_phoenix_2_0.html" title="Porting from Phoenix 2.0">
@@ -39,7 +39,7 @@
         on how to implement a custom actor which is usable as if it were a STL Container.
       </p>
 <a name="phoenix.advanced_topics.extending_actors.requirements"></a><h5>
-<a name="id836134"></a>
+<a name="id614113"></a>
         <a class="link" href="extending_actors.html#phoenix.advanced_topics.extending_actors.requirements">Requirements</a>
       </h5>
 <p>
@@ -141,7 +141,7 @@
         Additionally, we want all the operator() overloads of the regular actor.
       </p>
 <a name="phoenix.advanced_topics.extending_actors.defining_the_actor"></a><h5>
-<a name="id836423"></a>
+<a name="id614402"></a>
         <a class="link" href="extending_actors.html#phoenix.advanced_topics.extending_actors.defining_the_actor">Defining
         the actor</a>
       </h5>
@@ -174,7 +174,7 @@
 <span class="special">};</span>
 </pre>
 <a name="phoenix.advanced_topics.extending_actors.using_the_actor"></a><h5>
-<a name="id837126"></a>
+<a name="id615104"></a>
         <a class="link" href="extending_actors.html#phoenix.advanced_topics.extending_actors.using_the_actor">Using
         the actor</a>
       </h5>
@@ -235,7 +235,7 @@
         Wow, that was easy!
       </p>
 <a name="phoenix.advanced_topics.extending_actors.adding_life_to_the_actor"></a><h5>
-<a name="id837887"></a>
+<a name="id615866"></a>
         <a class="link" href="extending_actors.html#phoenix.advanced_topics.extending_actors.adding_life_to_the_actor">Adding
         life to the actor</a>
       </h5>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/porting_from_phoenix_2_0.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/porting_from_phoenix_2_0.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/porting_from_phoenix_2_0.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Porting from Phoenix 2.0</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../advanced_topics.html" title="Advanced Topics">
 <link rel="prev" href="../advanced_topics.html" title="Advanced Topics">
@@ -176,7 +176,7 @@
 </tbody>
 </table></div>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
         <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> There is no general guideline for porting code which
         relies on the internals of Phoenix 2.0. If you plan on porting your Phoenix
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/introduction.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/introduction.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/introduction.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Introduction</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="prev" href="../index.html" title="Chapter 1. Phoenix 3.0">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Reference</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="prev" href="advanced_topics/extending_actors.html" title="Extending Actors">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/basics.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/basics.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/basics.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Basics</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="../reference.html" title="Reference">
@@ -42,7 +42,7 @@
         </p></td></tr>
 </table></div>
 <a name="phoenix.reference.basics.partial_function_application"></a><h5>
-<a name="id838890"></a>
+<a name="id616869"></a>
         <a class="link" href="basics.html#phoenix.reference.basics.partial_function_application">Partial
         Function Application</a>
       </h5>
@@ -98,7 +98,7 @@
         be black boxes anymore.
       </p>
 <a name="phoenix.reference.basics.stl_and_higher_order_functions"></a><h5>
-<a name="id839106"></a>
+<a name="id617085"></a>
         <a class="link" href="basics.html#phoenix.reference.basics.stl_and_higher_order_functions">STL
         and higher order functions</a>
       </h5>
@@ -129,7 +129,7 @@
         </p></td></tr>
 </table></div>
 <a name="phoenix.reference.basics.lazy_evaluation"></a><h5>
-<a name="id839318"></a>
+<a name="id617297"></a>
         <a class="link" href="basics.html#phoenix.reference.basics.lazy_evaluation">Lazy Evaluation</a>
       </h5>
 <p>
@@ -184,7 +184,7 @@
 </span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">(</span><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)(</span><span class="identifier">y</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// prints 0 or false
 </span></pre>
 <a name="phoenix.reference.basics.forwarding_function_problem"></a><h5>
-<a name="id839861"></a>
+<a name="id617840"></a>
         <a class="link" href="basics.html#phoenix.reference.basics.forwarding_function_problem">Forwarding
         Function Problem</a>
       </h5>
@@ -225,7 +225,7 @@
         </p></td></tr>
 </table></div>
 <a name="phoenix.reference.basics.polymorphic_functions"></a><h5>
-<a name="id839999"></a>
+<a name="id617978"></a>
         <a class="link" href="basics.html#phoenix.reference.basics.polymorphic_functions">Polymorphic
         Functions</a>
       </h5>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Concepts</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="organization.html" title="Organization">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/actor.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/actor.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/actor.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Actor</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../concepts.html" title="Concepts">
 <link rel="prev" href="../concepts.html" title="Concepts">
@@ -20,7 +20,7 @@
 <a name="phoenix.reference.concepts.actor"></a><a class="link" href="actor.html" title="Actor">Actor</a>
 </h4></div></div></div>
 <a name="phoenix.reference.concepts.actor.description"></a><h6>
-<a name="id841415"></a>
+<a name="id619394"></a>
           <a class="link" href="actor.html#phoenix.reference.concepts.actor.description">Description</a>
         </h6>
 <p>
@@ -74,7 +74,7 @@
 </dl>
 </div>
 <a name="phoenix.reference.concepts.actor.valid_expressions"></a><h6>
-<a name="id841659"></a>
+<a name="id619638"></a>
           <a class="link" href="actor.html#phoenix.reference.concepts.actor.valid_expressions">Valid
           Expressions</a>
         </h6>
@@ -156,7 +156,7 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.actor.result_type_expressions"></a><h6>
-<a name="id841792"></a>
+<a name="id619771"></a>
           <a class="link" href="actor.html#phoenix.reference.concepts.actor.result_type_expressions">Result
           Type Expressions</a>
         </h6>
@@ -238,7 +238,7 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.actor.expression_semantics"></a><h6>
-<a name="id841925"></a>
+<a name="id619905"></a>
           <a class="link" href="actor.html#phoenix.reference.concepts.actor.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -301,7 +301,7 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.actor.models"></a><h6>
-<a name="id842067"></a>
+<a name="id620046"></a>
           <a class="link" href="actor.html#phoenix.reference.concepts.actor.models">Models</a>
         </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/environment.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/environment.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/environment.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Environment</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../concepts.html" title="Concepts">
 <link rel="prev" href="evaluationpolicy.html" title="EvaluationPolicy">
@@ -20,7 +20,7 @@
 <a name="phoenix.reference.concepts.environment"></a><a class="link" href="environment.html" title="Environment">Environment</a>
 </h4></div></div></div>
 <a name="phoenix.reference.concepts.environment.description"></a><h6>
-<a name="id844343"></a>
+<a name="id622322"></a>
           <a class="link" href="environment.html#phoenix.reference.concepts.environment.description">Description</a>
         </h6>
 <p>
@@ -51,7 +51,7 @@
 </dl>
 </div>
 <a name="phoenix.reference.concepts.environment.valid_expressions"></a><h6>
-<a name="id844464"></a>
+<a name="id622443"></a>
           <a class="link" href="environment.html#phoenix.reference.concepts.environment.valid_expressions">Valid
           Expressions</a>
         </h6>
@@ -116,7 +116,7 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.environment.result_type_expressions"></a><h6>
-<a name="id844638"></a>
+<a name="id622617"></a>
           <a class="link" href="environment.html#phoenix.reference.concepts.environment.result_type_expressions">Result
           Type Expressions</a>
         </h6>
@@ -182,7 +182,7 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.environment.expression_semantics"></a><h6>
-<a name="id844842"></a>
+<a name="id622821"></a>
           <a class="link" href="environment.html#phoenix.reference.concepts.environment.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -233,7 +233,7 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.environment.models"></a><h6>
-<a name="id845026"></a>
+<a name="id623005"></a>
           <a class="link" href="environment.html#phoenix.reference.concepts.environment.models">Models</a>
         </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluationpolicy.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluationpolicy.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluationpolicy.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>EvaluationPolicy</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../concepts.html" title="Concepts">
 <link rel="prev" href="evaluator.html" title="Evaluator">
@@ -20,7 +20,7 @@
 <a name="phoenix.reference.concepts.evaluationpolicy"></a><a class="link" href="evaluationpolicy.html" title="EvaluationPolicy">EvaluationPolicy</a>
 </h4></div></div></div>
 <a name="phoenix.reference.concepts.evaluationpolicy.description"></a><h6>
-<a name="id842881"></a>
+<a name="id620860"></a>
           <a class="link" href="evaluationpolicy.html#phoenix.reference.concepts.evaluationpolicy.description">Description</a>
         </h6>
 <p>
@@ -60,7 +60,7 @@
 </dl>
 </div>
 <a name="phoenix.reference.concepts.evaluationpolicy.valid_expressions"></a><h6>
-<a name="id843077"></a>
+<a name="id621056"></a>
           <a class="link" href="evaluationpolicy.html#phoenix.reference.concepts.evaluationpolicy.valid_expressions">Valid
           Expressions</a>
         </h6>
@@ -107,7 +107,7 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluationpolicy.result_type_expressions"></a><h6>
-<a name="id843204"></a>
+<a name="id621183"></a>
           <a class="link" href="evaluationpolicy.html#phoenix.reference.concepts.evaluationpolicy.result_type_expressions">Result
           Type Expressions</a>
         </h6>
@@ -154,7 +154,7 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluationpolicy.expression_semantics"></a><h6>
-<a name="id843358"></a>
+<a name="id621337"></a>
           <a class="link" href="evaluationpolicy.html#phoenix.reference.concepts.evaluationpolicy.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -190,7 +190,7 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluationpolicy.models"></a><h6>
-<a name="id843471"></a>
+<a name="id621450"></a>
           <a class="link" href="evaluationpolicy.html#phoenix.reference.concepts.evaluationpolicy.models">Models</a>
         </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluator.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluator.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluator.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Evaluator</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../concepts.html" title="Concepts">
 <link rel="prev" href="actor.html" title="Actor">
@@ -20,7 +20,7 @@
 <a name="phoenix.reference.concepts.evaluator"></a><a class="link" href="evaluator.html" title="Evaluator">Evaluator</a>
 </h4></div></div></div>
 <a name="phoenix.reference.concepts.evaluator.description"></a><h6>
-<a name="id842210"></a>
+<a name="id620189"></a>
           <a class="link" href="evaluator.html#phoenix.reference.concepts.evaluator.description">Description</a>
         </h6>
 <p>
@@ -64,7 +64,7 @@
 </dl>
 </div>
 <a name="phoenix.reference.concepts.evaluator.valid_expressions"></a><h6>
-<a name="id842394"></a>
+<a name="id620373"></a>
           <a class="link" href="evaluator.html#phoenix.reference.concepts.evaluator.valid_expressions">Valid
           Expressions</a>
         </h6>
@@ -111,7 +111,7 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluator.result_type_expressions"></a><h6>
-<a name="id842511"></a>
+<a name="id620490"></a>
           <a class="link" href="evaluator.html#phoenix.reference.concepts.evaluator.result_type_expressions">Result
           Type Expressions</a>
         </h6>
@@ -157,7 +157,7 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluator.expression_semantics"></a><h6>
-<a name="id842598"></a>
+<a name="id620577"></a>
           <a class="link" href="evaluator.html#phoenix.reference.concepts.evaluator.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -193,7 +193,7 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluator.models"></a><h6>
-<a name="id842702"></a>
+<a name="id620682"></a>
           <a class="link" href="evaluator.html#phoenix.reference.concepts.evaluator.models">Models</a>
         </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Modules</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="concepts/environment.html" title="Environment">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Bind</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../modules.html" title="Modules">
 <link rel="prev" href="scope/lambda.html" title="lambda">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_functions.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_functions.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_functions.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Binding Functions</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../bind.html" title="Bind">
 <link rel="prev" href="../bind.html" title="Bind">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_member_functions.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_member_functions.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_member_functions.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Binding Member Functions</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../bind.html" title="Bind">
 <link rel="prev" href="binding_functions.html" title="Binding Functions">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_member_variables.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_member_variables.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_member_variables.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Binding Member Variables</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../bind.html" title="Bind">
 <link rel="prev" href="binding_member_functions.html" title="Binding Member Functions">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/compatibility_with_other_bind_libraries.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/compatibility_with_other_bind_libraries.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/compatibility_with_other_bind_libraries.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Compatibility with other bind libraries</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../bind.html" title="Bind">
 <link rel="prev" href="binding_member_variables.html" title="Binding Member Variables">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Core</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../modules.html" title="Modules">
 <link rel="prev" href="../modules.html" title="Modules">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/arguments.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/arguments.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/arguments.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Arguments</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../core.html" title="Core">
 <link rel="prev" href="constant_references.html" title="Constant References">
@@ -31,7 +31,7 @@
             as an imaginary data-bin where a function argument will be placed.
           </p>
 <a name="phoenix.reference.modules.core.arguments.predefined_arguments"></a><h6>
-<a name="id846499"></a>
+<a name="id624478"></a>
             <a class="link" href="arguments.html#phoenix.reference.modules.core.arguments.predefined_arguments">Predefined
             Arguments</a>
           </h6>
@@ -77,7 +77,7 @@
             the DRY principle.
           </p>
 <a name="phoenix.reference.modules.core.arguments.user_defined_arguments"></a><h6>
-<a name="id847262"></a>
+<a name="id625241"></a>
             <a class="link" href="arguments.html#phoenix.reference.modules.core.arguments.user_defined_arguments">User
             Defined Arguments</a>
           </h6>
@@ -117,7 +117,7 @@
 </td></tr>
 </table></div>
 <a name="phoenix.reference.modules.core.arguments.evaluating_an_argument"></a><h6>
-<a name="id847488"></a>
+<a name="id625466"></a>
             <a class="link" href="arguments.html#phoenix.reference.modules.core.arguments.evaluating_an_argument">Evaluating
             an Argument</a>
           </h6>
@@ -144,7 +144,7 @@
 <span class="identifier">Hello</span> <span class="identifier">World</span>
 </pre>
 <a name="phoenix.reference.modules.core.arguments.extra_arguments"></a><h6>
-<a name="id847817"></a>
+<a name="id625795"></a>
             <a class="link" href="arguments.html#phoenix.reference.modules.core.arguments.extra_arguments">Extra
             Arguments</a>
           </h6>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/constant_references.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/constant_references.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/constant_references.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Constant References</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../core.html" title="Core">
 <link rel="prev" href="references.html" title="References">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/nothing.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/nothing.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/nothing.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Nothing</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../core.html" title="Core">
 <link rel="prev" href="arguments.html" title="Arguments">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/references.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/references.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/references.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>References</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../core.html" title="Core">
 <link rel="prev" href="values.html" title="Values">
@@ -56,7 +56,7 @@
 <pre class="programlisting"><span class="identifier">add_assign</span><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">),</span> <span class="number">2</span><span class="special">)</span>
 </pre>
 <a name="phoenix.reference.modules.core.references.evaluating_a_reference"></a><h6>
-<a name="id845985"></a>
+<a name="id623964"></a>
             <a class="link" href="references.html#phoenix.reference.modules.core.references.evaluating_a_reference">Evaluating
             a Reference</a>
           </h6>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/values.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/values.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/values.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Values</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../core.html" title="Core">
 <link rel="prev" href="../core.html" title="Core">
@@ -48,7 +48,7 @@
             but, as we'll see later on, there are situations where this is unavoidable.
           </p>
 <a name="phoenix.reference.modules.core.values.evaluating_a_value"></a><h3>
-<a name="id845483"></a>
+<a name="id623462"></a>
             <a class="link" href="values.html#phoenix.reference.modules.core.values.evaluating_a_value">Evaluating
             a Value</a>
           </h3>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/function.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/function.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/function.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Function</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../modules.html" title="Modules">
 <link rel="prev" href="core/nothing.html" title="Nothing">
@@ -120,7 +120,7 @@
           does not require any state).
         </p>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
           <span class="inlinemediaobject"><img src="../../../images/alert.png" alt="alert"></span> Take care though when using function objects with
           state because they are often copied repeatedly, and state may change in
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Object</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../modules.html" title="Modules">
 <link rel="prev" href="statement/throw_.html" title="throw_">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/casts.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/casts.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/casts.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Casts</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../object.html" title="Object">
 <link rel="prev" href="delete.html" title="Delete">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/construction.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/construction.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/construction.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Construction</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../object.html" title="Object">
 <link rel="prev" href="../object.html" title="Object">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/delete.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/delete.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/delete.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Delete</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../object.html" title="Object">
 <link rel="prev" href="new.html" title="New">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/new.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/new.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/new.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>New</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../object.html" title="Object">
 <link rel="prev" href="construction.html" title="Construction">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Operator</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../modules.html" title="Modules">
 <link rel="prev" href="function.html" title="Function">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator/supported_operators.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator/supported_operators.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator/supported_operators.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Supported operators</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../operator.html" title="Operator">
 <link rel="prev" href="../operator.html" title="Operator">
@@ -21,7 +21,7 @@
           operators</a>
 </h5></div></div></div>
 <a name="phoenix.reference.modules.operator.supported_operators.unary_operators"></a><h6>
-<a name="id850184"></a>
+<a name="id628162"></a>
             <a class="link" href="supported_operators.html#phoenix.reference.modules.operator.supported_operators.unary_operators">Unary
             operators</a>
           </h6>
@@ -29,7 +29,7 @@
 <span class="identifier">postfix</span><span class="special">:</span>  <span class="special">++,</span> <span class="special">--</span>
 </pre>
 <a name="phoenix.reference.modules.operator.supported_operators.binary_operators"></a><h6>
-<a name="id850315"></a>
+<a name="id628294"></a>
             <a class="link" href="supported_operators.html#phoenix.reference.modules.operator.supported_operators.binary_operators">Binary
             operators</a>
           </h6>
@@ -39,7 +39,7 @@
 <span class="special">&&,</span> <span class="special">||,</span> <span class="special">->*</span>
 </pre>
 <a name="phoenix.reference.modules.operator.supported_operators.ternary_operator"></a><h6>
-<a name="id850517"></a>
+<a name="id628495"></a>
             <a class="link" href="supported_operators.html#phoenix.reference.modules.operator.supported_operators.ternary_operator">Ternary
             operator</a>
           </h6>
@@ -54,7 +54,7 @@
             is identical, albeit in a lazy manner.
           </p>
 <a name="phoenix.reference.modules.operator.supported_operators.member_pointer_operator"></a><h6>
-<a name="id850619"></a>
+<a name="id628598"></a>
             <a class="link" href="supported_operators.html#phoenix.reference.modules.operator.supported_operators.member_pointer_operator">Member
             pointer operator</a>
           </h6>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Scope</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../modules.html" title="Modules">
 <link rel="prev" href="object/casts.html" title="Casts">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/lambda.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/lambda.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/lambda.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>lambda</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../scope.html" title="Scope">
 <link rel="prev" href="let.html" title="let">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/let.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/let.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/let.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>let</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../scope.html" title="Scope">
 <link rel="prev" href="local_variables.html" title="Local Variables">
@@ -109,8 +109,8 @@
             and <code class="computeroutput"><span class="identifier">ref</span></code>s are L-values.
             <code class="computeroutput"><span class="identifier">val</span></code>s are R-values.
           </p>
-<a name="phoenix.reference.modules.scope.let.visibility"></a><p>
-            <span class="bold"><strong>Visibility</strong></span>
+<p>
+            <span class="bold"><strong>Visibility</strong></span> <a name="phoenix.reference.modules.scope.let.visibility"></a>
           </p>
 <p>
             The scope and lifetimes of the local variables is limited within the
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/local_variables.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/local_variables.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/local_variables.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Local Variables</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../scope.html" title="Scope">
 <link rel="prev" href="../scope.html" title="Scope">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Statement</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../modules.html" title="Modules">
 <link rel="prev" href="operator/supported_operators.html" title="Supported operators">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___do_while_____statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___do_while_____statement.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___do_while_____statement.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>do_while_ Statement</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../statement.html" title="Statement">
 <link rel="prev" href="while__statement.html" title="while_ Statement">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___if_else_____statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___if_else_____statement.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___if_else_____statement.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>if_else_ Statement</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../statement.html" title="Statement">
 <link rel="prev" href="if__statement.html" title="if_ Statement">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/block_statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/block_statement.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/block_statement.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Block Statement</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../statement.html" title="Statement">
 <link rel="prev" href="../statement.html" title="Statement">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/for__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/for__statement.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/for__statement.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>for_ Statement</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../statement.html" title="Statement">
 <link rel="prev" href="___do_while_____statement.html" title="do_while_ Statement">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/if__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/if__statement.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/if__statement.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>if_ Statement</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../statement.html" title="Statement">
 <link rel="prev" href="block_statement.html" title="Block Statement">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/switch__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/switch__statement.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/switch__statement.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>switch_ Statement</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../statement.html" title="Statement">
 <link rel="prev" href="___if_else_____statement.html" title="if_else_ Statement">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/throw_.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/throw_.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/throw_.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>throw_</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../statement.html" title="Statement">
 <link rel="prev" href="try__catch__statement.html" title="try_ catch_ Statement">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/try__catch__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/try__catch__statement.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/try__catch__statement.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>try_ catch_ Statement</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../statement.html" title="Statement">
 <link rel="prev" href="for__statement.html" title="for_ Statement">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/while__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/while__statement.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/while__statement.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>while_ Statement</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../statement.html" title="Statement">
 <link rel="prev" href="switch__statement.html" title="switch_ Statement">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>STL</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../modules.html" title="Modules">
 <link rel="prev" href="bind/compatibility_with_other_bind_libraries.html" title="Compatibility with other bind libraries">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/algorithm.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/algorithm.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/algorithm.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Algorithm</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../stl.html" title="STL">
 <link rel="prev" href="container.html" title="Container">
@@ -67,13 +67,13 @@
             and their semantics.
           </p>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
             <span class="inlinemediaobject"><img src="../../../../images/tip.png" alt="tip"></span> Arguments in brackets denote optional parameters.
           </p>
 </div>
 <div class="table">
-<a name="id863784"></a><p class="title"><b>Table 1.6. Iteration Algorithms</b></p>
+<a name="id641762"></a><p class="title"><b>Table 1.6. Iteration Algorithms</b></p>
 <div class="table-contents"><table class="table" summary="Iteration Algorithms">
 <colgroup>
 <col>
@@ -123,7 +123,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id864062"></a><p class="title"><b>Table 1.7. Querying Algorithms</b></p>
+<a name="id642041"></a><p class="title"><b>Table 1.7. Querying Algorithms</b></p>
 <div class="table-contents"><table class="table" summary="Querying Algorithms">
 <colgroup>
 <col>
@@ -415,7 +415,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id866534"></a><p class="title"><b>Table 1.8. Transformation Algorithms</b></p>
+<a name="id644513"></a><p class="title"><b>Table 1.8. Transformation Algorithms</b></p>
 <div class="table-contents"><table class="table" summary="Transformation Algorithms">
 <colgroup>
 <col>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/container.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/container.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/container.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Container</title>
 <link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../stl.html" title="STL">
 <link rel="prev" href="../stl.html" title="STL">
@@ -137,7 +137,7 @@
             does not use the member "dot" syntax.
           </p>
 <div class="table">
-<a name="id860733"></a><p class="title"><b>Table 1.4. Sample usage</b></p>
+<a name="id638711"></a><p class="title"><b>Table 1.4. Sample usage</b></p>
 <div class="table-contents"><table class="table" summary="Sample usage">
 <colgroup>
 <col>
@@ -209,13 +209,13 @@
             The following table describes the container functions and their semantics.
           </p>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
             <span class="inlinemediaobject"><img src="../../../../images/tip.png" alt="tip"></span> Arguments in brackets denote optional parameters.
           </p>
 </div>
 <div class="table">
-<a name="id861072"></a><p class="title"><b>Table 1.5. Lazy STL Container Functions</b></p>
+<a name="id639051"></a><p class="title"><b>Table 1.5. Lazy STL Container Functions</b></p>
 <div class="table-contents"><table class="table" summary="Lazy STL Container Functions">
 <colgroup>
 <col>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/organization.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/organization.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/organization.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Organization</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="basics.html" title="Basics">
@@ -41,7 +41,7 @@
         header files. There are no object files to link against.
       </p>
 <a name="phoenix.reference.organization.core"></a><h3>
-<a name="id840376"></a>
+<a name="id618355"></a>
         <a class="link" href="organization.html#phoenix.reference.organization.core">Core</a>
       </h3>
 <p>
@@ -70,7 +70,7 @@
         can again be another composite.
       </p>
 <div class="table">
-<a name="id840436"></a><p class="title"><b>Table 1.2. Modules</b></p>
+<a name="id618415"></a><p class="title"><b>Table 1.2. Modules</b></p>
 <div class="table-contents"><table class="table" summary="Modules">
 <colgroup>
 <col>
@@ -199,7 +199,7 @@
         the core module is defined in <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>.
       </p>
 <div class="table">
-<a name="id840724"></a><p class="title"><b>Table 1.3. Includes</b></p>
+<a name="id618703"></a><p class="title"><b>Table 1.3. Includes</b></p>
 <div class="table-contents"><table class="table" summary="Includes">
 <colgroup>
 <col>
@@ -330,7 +330,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
         <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Finer grained include files are available per feature;
         see the succeeding sections.
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/references.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/references.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/references.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>References</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="prev" href="acknowledgments.html" title="Acknowledgments">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Starter Kit</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="prev" href="introduction.html" title="Introduction">
@@ -61,7 +61,7 @@
       into high gear quickly.
     </p>
 <a name="phoenix.starter_kit.functors_everywhere"></a><h4>
-<a name="id831676"></a>
+<a name="id609655"></a>
       <a class="link" href="starter_kit.html#phoenix.starter_kit.functors_everywhere">Functors everywhere</a>
     </h4>
 <p>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Composites</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../starter_kit.html" title="Starter Kit">
 <link rel="prev" href="primitives/arguments.html" title="Arguments">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/construct__new__delete__casts.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/construct__new__delete__casts.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/construct__new__delete__casts.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Construct, New, Delete, Casts</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../composites.html" title="Composites">
 <link rel="prev" href="lazy_statements.html" title="Lazy Statements">
@@ -40,7 +40,7 @@
           </p></td></tr>
 </table></div>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
           <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about this <a class="link" href="../../reference/modules/object.html" title="Object">here.</a>
         </p>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Lazy Functions</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../composites.html" title="Composites">
 <link rel="prev" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">
@@ -46,7 +46,7 @@
 <span class="identifier">function</span><span class="special"><</span><span class="identifier">is_odd_impl</span><span class="special">></span> <span class="identifier">is_odd</span><span class="special">;</span>
 </pre>
 <a name="phoenix.starter_kit.composites.lazy_functions.things_to_note_"></a><h6>
-<a name="id834504"></a>
+<a name="id612483"></a>
           <a class="link" href="lazy_functions.html#phoenix.starter_kit.composites.lazy_functions.things_to_note_">Things
           to note:</a>
         </h6>
@@ -77,7 +77,7 @@
           (See function.cpp)
         </p>
 <a name="phoenix.starter_kit.composites.lazy_functions.predefined_lazy_functions"></a><h6>
-<a name="id834683"></a>
+<a name="id612662"></a>
           <a class="link" href="lazy_functions.html#phoenix.starter_kit.composites.lazy_functions.predefined_lazy_functions">Predefined
           Lazy Functions</a>
         </h6>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Lazy Operators</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../composites.html" title="Composites">
 <link rel="prev" href="../composites.html" title="Composites">
@@ -64,13 +64,13 @@
 </span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">[</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)])</span>  <span class="comment">// illegal (x is not a phoenix primitive or composite)
 </span></pre>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
           <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about operators <a class="link" href="../../reference/modules/operator.html" title="Operator">here.</a>
         </p>
 </div>
 <a name="phoenix.starter_kit.composites.lazy_operators.first_practical_example"></a><h6>
-<a name="id833426"></a>
+<a name="id611405"></a>
           <a class="link" href="lazy_operators.html#phoenix.starter_kit.composites.lazy_operators.first_practical_example">First
           Practical Example</a>
         </h6>
@@ -113,7 +113,7 @@
           (See find_if.cpp)
         </p>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
           <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> ...<span class="bold"><strong>That's it, we're done</strong></span>.
           Well if you wish to know a little bit more, read on...
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_statements.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_statements.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_statements.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Lazy Statements</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../composites.html" title="Composites">
 <link rel="prev" href="lazy_operators.html" title="Lazy Operators">
@@ -44,7 +44,7 @@
           (See if.cpp)
         </p>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
           <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about statements <a class="link" href="../../reference/modules/statement.html" title="Statement">here.</a>
         </p>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/more.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/more.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/more.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>More</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../composites.html" title="Composites">
 <link rel="prev" href="lazy_functions.html" title="Lazy Functions">
@@ -28,7 +28,7 @@
           vs. <a class="link" href="../../reference/modules/function.html" title="Function">Lazy Functions</a>).
         </p>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
           <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> ...<span class="bold"><strong>If you still wish to learn
           more, the read on...</strong></span>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Primitives</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../starter_kit.html" title="Starter Kit">
 <link rel="prev" href="../starter_kit.html" title="Starter Kit">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/arguments.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/arguments.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/arguments.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Arguments</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../primitives.html" title="Primitives">
 <link rel="prev" href="references.html" title="References">
@@ -46,7 +46,7 @@
           (See arguments.cpp)
         </p>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
           <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about arguments <a class="link" href="../../reference/modules/core/arguments.html" title="Arguments">here.</a>
         </p>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/references.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/references.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/references.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>References</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../primitives.html" title="Primitives">
 <link rel="prev" href="values.html" title="Values">
@@ -44,7 +44,7 @@
           (See references.cpp)
         </p>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
           <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about references <a class="link" href="../../reference/modules/core/references.html" title="References">here.</a>
         </p>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Values</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../primitives.html" title="Primitives">
 <link rel="prev" href="../primitives.html" title="Primitives">
@@ -32,7 +32,7 @@
           World"</span></code>.
         </p>
 <a name="phoenix.starter_kit.primitives.values.lazy_evaluation"></a><h6>
-<a name="id831838"></a>
+<a name="id609817"></a>
           <a class="link" href="values.html#phoenix.starter_kit.primitives.values.lazy_evaluation">Lazy
           Evaluation</a>
         </h6>
@@ -50,7 +50,7 @@
           (See values.cpp)
         </p>
 <div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
 <p>
           <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about values <a class="link" href="../../reference/modules/core/values.html" title="Values">here.</a>
         </p>
@@ -65,7 +65,7 @@
           anything and defers the evaluation for later.
         </p>
 <a name="phoenix.starter_kit.primitives.values.callbacks"></a><h6>
-<a name="id832064"></a>
+<a name="id610042"></a>
           <a class="link" href="values.html#phoenix.starter_kit.primitives.values.callbacks">Callbacks</a>
         </h6>
 <p>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/wrap_up.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/wrap_up.html	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/wrap_up.html	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Wrap Up</title>
 <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
 <link rel="prev" href="reference/modules/stl/algorithm.html" title="Algorithm">
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/test/boost_bind_compatibility/bind_placeholder_test.cpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/test/boost_bind_compatibility/bind_placeholder_test.cpp	(original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/test/boost_bind_compatibility/bind_placeholder_test.cpp	2011-01-08 14:06:03 EST (Sat, 08 Jan 2011)
@@ -51,9 +51,8 @@
 {
 
 template< int I > struct is_placeholder< custom_placeholder< I > >
-    : mpl::true_
 {
-    enum { value = I };
+    enum { value = I + 1};
 };
 
 } // namespace boost