$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r70545 - in sandbox/assign_v2: boost/assign/v2 boost/assign/v2/deque boost/assign/v2/detail boost/assign/v2/detail/config boost/assign/v2/detail/pp boost/assign/v2/interpreter boost/assign/v2/option boost/assign/v2/ref/wrapper libs/assign/v2/speed libs/assign/v2/src
From: erwann.rogard_at_[hidden]
Date: 2011-03-25 18:12:28
Author: e_r
Date: 2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
New Revision: 70545
URL: http://svn.boost.org/trac/boost/changeset/70545
Log:
upd assign_v2
Text files modified: 
   sandbox/assign_v2/boost/assign/v2/deque/deque.hpp                            |    14 +++++++-------                          
   sandbox/assign_v2/boost/assign/v2/detail/config/limit_arity.hpp              |     6 +++---                                  
   sandbox/assign_v2/boost/assign/v2/detail/config/limit_csv_arity.hpp          |     4 ++--                                    
   sandbox/assign_v2/boost/assign/v2/detail/config/limit_lvalue_const_arity.hpp |     4 ++--                                    
   sandbox/assign_v2/boost/assign/v2/detail/config/limit_tuple_arity.hpp        |     2 +-                                      
   sandbox/assign_v2/boost/assign/v2/detail/pp/parameter_list.hpp               |     2 +-                                      
   sandbox/assign_v2/boost/assign/v2/detail/speed.hpp                           |     4 ++--                                    
   sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp                       |     7 ++++---                                 
   sandbox/assign_v2/boost/assign/v2/interpreter/fwd.hpp                        |     3 ++-                                     
   sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp                    |    14 ++++++--------                          
   sandbox/assign_v2/boost/assign/v2/option/data.hpp                            |    13 ++++++++-----                           
   sandbox/assign_v2/boost/assign/v2/option/key.hpp                             |    21 +++++++++++----------                   
   sandbox/assign_v2/boost/assign/v2/option/mapped.hpp                          |     5 ++++-                                   
   sandbox/assign_v2/boost/assign/v2/option/modifier.hpp                        |    12 +++++++++---                            
   sandbox/assign_v2/boost/assign/v2/put.hpp                                    |    22 ++++++++++------------                  
   sandbox/assign_v2/boost/assign/v2/ref/wrapper/copy.hpp                       |    23 +++++++++++++++--------                 
   sandbox/assign_v2/libs/assign/v2/speed/test.cpp                              |    12 ++++++------                            
   sandbox/assign_v2/libs/assign/v2/src/main.cpp                                |    22 +++++++++++-----------                  
   18 files changed, 104 insertions(+), 86 deletions(-)
Modified: sandbox/assign_v2/boost/assign/v2/deque/deque.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/deque/deque.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/deque/deque.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -35,7 +35,7 @@
 namespace interpreter_aux{
 
     template<typename T>
-    struct /*<<Metafunction>>*/deque_impl{ typedef /*<-*/std::deque<T> BOOST_ASSIGN_V2_IGNORE(/*->*/unspecified /*<-*/)/*->*/type; };
+    struct deque_impl{ typedef /*<-*/std::deque<T> BOOST_ASSIGN_V2_IGNORE(/*->*/unspecified /*<-*/)/*->*/type; };
 
     template<typename T, typename F, typename Tag>
     class deque_interpreter 
@@ -130,17 +130,17 @@
     };
 
     template<typename T, typename F, typename Tag>
-    struct /*<<Metafunction class>>*/replace_data_generator< deque_interpreter<T, F, Tag> >/*<-*/
+    struct replace_data_generator< deque_interpreter<T, F, Tag> >
     {
         template<typename F1>
-        struct apply{ typedef deque_interpreter<T, F1, Tag> type; };
-    }/*->*/;
+        struct apply{ typedef /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/unspecified/*<-*/)deque_interpreter<T, F1, Tag>/*->*/ type; };
+    };
 
     template<typename T, typename F, typename Tag>
-    struct /*<<Metafunction class>>*/replace_modifier_tag< deque_interpreter<T, F, Tag> >/*<-*/
+    struct replace_modifier_tag< deque_interpreter<T, F, Tag> >/*<-*/
     {
         template<typename Tag1>
-        struct apply{ typedef deque_interpreter<T, F, Tag1> type; };
+        struct apply{ /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/unspecified/*<-*/)typedef deque_interpreter<T, F, Tag1>/*->*/ type; };
     }/*->*/;
 
 //<-
@@ -176,7 +176,7 @@
 namespace result_of{
 
     template<typename T>
-    struct /*<<Metafunction>>*/deque/*<-*/ 
+    struct deque/*<-*/ 
         : interpreter_aux::result_of::deque<T>
     {}/*->*/;
 
Modified: sandbox/assign_v2/boost/assign/v2/detail/config/limit_arity.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/config/limit_arity.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/detail/config/limit_arity.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -18,7 +18,7 @@
 #endif
 #ifndef BOOST_ASSIGN_V2_LIMIT_ARITY
 //[limit_arity
-/*<< n = BOOST_ASSIGN_V2_LIMIT_ARITY
+/* n = BOOST_ASSIGN_V2_LIMIT_ARITY
    Overload                           | Arity
    -------------------------------------
    functor()                          |    0
@@ -26,12 +26,12 @@
    functor(x[0], x[1])                |    2
    ...
    functor(x[0], ...., x[n-1])        |    n
->>*/
+*/
 #define BOOST_ASSIGN_V2_LIMIT_ARITY BOOST_PP_MIN( BOOST_MPL_LIMIT_METAFUNCTION_ARITY, BOOST_ASSIGN_V2_PARAMETER_LIST_SIZE )
 //]
 #endif // BOOST_ASSIGN_V2_LIMIT_ARITY
 //[limit_arity_requirement
-/*<<Required for some meta-function classes yielding result type of invoking a functor>>*/  
+/*Required for some meta-function classes yielding result type of invoking a functor*/  
 #if BOOST_PP_GREATER( BOOST_MPL_LIMIT_METAFUNCTION_ARITY, BOOST_ASSIGN_V2_LIMIT_ARITY )
 #error
 #endif
Modified: sandbox/assign_v2/boost/assign/v2/detail/config/limit_csv_arity.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/config/limit_csv_arity.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/detail/config/limit_csv_arity.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -11,14 +11,14 @@
 #define BOOST_ASSIGN_V2_LIMIT_CSV_ARITY_ER_2010_HPP
 #ifndef BOOST_ASSIGN_V2_LIMIT_CSV_ARITY
 //[limit_csv_arity
-/*<< n = BOOST_ASSIGN_V2_CSV_LIMIT_ARITY
+/* n = BOOST_ASSIGN_V2_CSV_LIMIT_ARITY
    Overload                           | Arity
    -------------------------------------
    csv_fun(t[0])                      |    1
    csv_fun(t[0], t[1])                |    2
    ...
    csv_fun(t[0], ...., t[n-1])        |    n
->>*/
+*/
 #define BOOST_ASSIGN_V2_LIMIT_CSV_ARITY 20
 //]
 #endif // BOOST_ASSIGN_V2_LIMIT_CSV_ARITY
Modified: sandbox/assign_v2/boost/assign/v2/detail/config/limit_lvalue_const_arity.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/config/limit_lvalue_const_arity.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/detail/config/limit_lvalue_const_arity.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -12,11 +12,11 @@
 #include <boost/assign/v2/detail/config/limit_arity.hpp>
 #include <boost/preprocessor/comparison/greater.hpp>
 //[limit_lvalue_const_arity
-/*<<
+/*
    Maximum arity for which functors are overloaded for any combination of const 
    and non-const lvalues under C++03. Be warned that the number of function
    overloads increases geometrically with this number.
->>*/
+*/
 #ifndef BOOST_ASSIGN_V2_LIMIT_LVALUE_CONST_ARITY
 #define BOOST_ASSIGN_V2_LIMIT_LVALUE_CONST_ARITY 2
 #endif
Modified: sandbox/assign_v2/boost/assign/v2/detail/config/limit_tuple_arity.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/config/limit_tuple_arity.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/detail/config/limit_tuple_arity.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -12,7 +12,7 @@
 #include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
 #ifndef BOOST_ASSIGN_V2_LIMIT_CPP03_TUPLE_ARITY
 //[limit_tuple_arity
-/*<<Do not override. Source: boost/tuple/detail/tuple_basic.hpp>>*/
+/*Do not override. Source: boost/tuple/detail/tuple_basic.hpp*/
 #define BOOST_ASSIGN_V2_LIMIT_CPP03_TUPLE_ARITY 10
 //]
 #endif // BOOST_ASSIGN_V2_LIMIT_CPP03_TUPLE_ARITY
Modified: sandbox/assign_v2/boost/assign/v2/detail/pp/parameter_list.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/pp/parameter_list.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/detail/pp/parameter_list.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -28,7 +28,7 @@
 #define BOOST_ASSIGN_V2_TPL_PARAMETER_LIST(SeqU) BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(SeqU), typename T)
 #define BOOST_ASSIGN_V2_TPL_ARG_LIST(SeqU) BOOST_PP_SEQ_ENUM(SeqU)
 //[parameter_list_size
-/*<<Non-override-able constant supporting the definition of functor overloads>>*/
+/*Non-override-able constant supporting the definition of functor overloads*/
 #define BOOST_ASSIGN_V2_PARAMETER_LIST_SIZE 10
 //]
 #define BOOST_ASSIGN_V2_SEQ_TPL_BINARY_ARG_LIST BOOST_PP_TUPLE_TO_SEQ(BOOST_ASSIGN_V2_PARAMETER_LIST_SIZE,((T0 const)(T0),(T1 const)(T1),(T2 const)(T2),(T3 const)(T3),(T4 const)(T4),(T5 const)(T5),(T6 const)(T6),(T7 const)(T7),(T8 const)(T8),(T9 const)(T9)))
Modified: sandbox/assign_v2/boost/assign/v2/detail/speed.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/speed.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/detail/speed.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -23,7 +23,6 @@
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
 #include <boost/assign/v2/put.hpp>
 #include <boost/assign/v2/deque.hpp>
-#include <boost/assign/v2/pipe/putput.hpp>
 #include <boost/assign/v2/pipe/csv_put.hpp>
 #include <boost/assign/v2/ref/array/array.hpp>
 #include <boost/assign/v2/ref/array/csv_array.hpp>
@@ -125,7 +124,7 @@
 }
 
 // V2-PIPE_PUT
-
+/*
 template<typename C, typename F>
 void v2_pipe_put_impl(C& cont, F const& f){ cont | f; }
 
@@ -151,6 +150,7 @@
     elapsed = timer.elapsed();
     assert( cont.size() == sizeof...(Args) );
 }
+*/
 
 // V2-PIPE-CSV_PUT
 
Modified: sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/crtp.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -189,7 +189,7 @@
         result_type operator()( Args&&...args )const/*<-*/
         {
             return  this->modify(
-                /*<< Instance of F >>*/ this->fun( std::forward<Args>(args)... )
+                /*Instance of F*/ this->fun( std::forward<Args>(args)... )
             );
         }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
 
@@ -264,8 +264,9 @@
         result_type modify(T&& t)const
         {
             check_modifier( t );
-            /*<< Instance of interpreter_aux::interpreter_modifier<Tag> >>*/this->modifier.impl(
-                /*<< Reference to C >>*/this->derived().container(),
+            
+            this->modifier.impl(
+                this->derived().container(),
                 std::forward<T>( t )
             );
             return this->derived();
Modified: sandbox/assign_v2/boost/assign/v2/interpreter/fwd.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/fwd.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/fwd.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -18,7 +18,8 @@
     template<typename C, typename F, typename Tag, typename D> 
     class interpreter_crtp;
 
-    template<typename Tag> struct /*<<Specialize on Tag>>*/ interpreter_modifier;
+    template<typename Tag> 
+    struct interpreter_modifier;
 
 }// interpreter_aux
 }// v2
Modified: sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/interpreter/replace.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -17,27 +17,25 @@
 namespace v2{
 //[syntax_put_adapter_replace_parameter
 namespace interpreter_aux{
-                
+
+	//Specialize on D
     template<
         typename D // Derives from interpreter_crtp
     > 
     struct replace_data_generator{
-
-        // Metafunction class specialized on D should return its transformation
-        // by D::fun_type = F
     
+        // Return transformation by D::fun_type = F
         template<typename F> 
-        struct apply{};
+        struct apply/*<-*/{}/*->*/;
     };
 
+	//Specialize on D
     template<
         typename D // Derives from interpreter_crtp
     > 
     struct replace_modifier_tag{
 
-        // Metafunction class specialized on D should return its transformation
-        // by D::modifier_tag = Tag
-
+        // Return transformation by D::modifier_tag = Tag
         template<typename Tag> 
         struct apply{};
     };
Modified: sandbox/assign_v2/boost/assign/v2/option/data.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/option/data.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/option/data.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -23,12 +23,14 @@
 namespace result_of{
 
     template<typename D>
-    struct /*<<Metafunction class>>*/option_data_generator/*<-*/{
+    struct option_data_generator/*<-*/{
 
         typedef interpreter_aux::replace_data_generator<D> meta_;
 
-        template<typename F>
-        struct apply : ::boost::mpl::apply1<meta_, F>{};
+        template<
+        	typename F // Data generator to replace D with
+        >
+        struct apply/*<-*/ : ::boost::mpl::apply1<meta_, F>{}/*->*/;
 
     };
 
@@ -46,9 +48,10 @@
         F f_;
     }/*->*/;
 
+	// Overrides data generator
     template<typename C, typename F, typename Tag, typename D, typename F1>
     typename ::boost::mpl::apply1<result_of::option_data_generator<D>, F1>::type
-    operator%/*<<Overrides data generator>>*/(
+    operator%(
         interpreter_crtp<C, F, Tag, D> const& lhs,
         option_data_generator<F1> const& rhs
     )/*<-*/
@@ -76,7 +79,7 @@
 namespace result_of{
 
     template<typename D>
-    struct /*<<Metafunction class>>*/option_data_generator/*<-*/
+    struct option_data_generator/*<-*/
         : interpreter_aux::result_of::option_data_generator<D>
     {}/*->*/;
 
Modified: sandbox/assign_v2/boost/assign/v2/option/key.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/option/key.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/option/key.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -42,18 +42,11 @@
 namespace result_of{
 
     template<typename C, typename D>
-    struct option_key : boost::lazy_enable_if<
-    	::boost::mpl::apply1<
-    		container_aux::through_value_container<
-    			container_aux::is_sorted
-    		>,
-    		C
-    	>,
+    struct option_key : 
             ::boost::mpl::apply1<
                 interpreter_aux::result_of::option_data_generator<D>,
                 typename deduce_key_generator<C>::type
-    	>
-    >{};
+    	>{};
 
 }//result_of
 
@@ -62,7 +55,15 @@
             typename C  // Associative container
             , typename F, typename Tag, typename D
     >
-    typename result_of::option_key<C, D>::type
+	typename /*<-*/boost::lazy_enable_if<
+    	::boost::mpl::apply1<
+    		container_aux::through_value_container<
+    			container_aux::is_sorted
+    		>,
+    		C
+    	>,/*->*/
+    	result_of::option_key<C, D>/*<-*/
+    >::/*->*/type
     operator%(
         interpreter_crtp<C, F, Tag, D> const& lhs,
         option_key rhs
Modified: sandbox/assign_v2/boost/assign/v2/option/mapped.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/option/mapped.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/option/mapped.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -22,7 +22,10 @@
 //[syntax_option_mapped
 namespace modifier_tag{ 
 
-    template<typename/*<<Mapping>>*/ Arg> struct mapped; 
+    template<
+    	typename Arg // Mapping applied to mapped
+    > 
+    struct mapped; 
 
 }// modifier_tag
 namespace interpreter_aux{
Modified: sandbox/assign_v2/boost/assign/v2/option/modifier.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/option/modifier.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/option/modifier.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -23,7 +23,10 @@
 //[syntax_option_modifier
 namespace interpreter_aux{
 
-    template<typename /*<<A class of modifiers>>*/ Keyword, typename /*<<A part of the modifier's implementation>>*/Arg = keyword_aux::ignore>
+    template<
+    	typename Keyword // A class of modifiers
+        , typename Arg /*<-*/= keyword_aux::ignore/*->*/ // Specifies an aspect of the implementation
+    >
     struct option_modifier
     {
         
@@ -49,10 +52,13 @@
 //->
     };
 
+	// Specialize on Keyword
     template<typename Keyword, typename Arg>
-    struct /*<<Metafunction class to be specialized on Keyword>>*/ meta_modifier_tag
+    struct meta_modifier_tag
     {
-        template<typename /*<<Inherits `interpreter_crtp<>` >>*/ D> 
+        template<
+        	typename D // Inherits interpreter_crtp<>
+        >
         struct apply;
     };
 
Modified: sandbox/assign_v2/boost/assign/v2/put.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -51,9 +51,7 @@
         {}BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
         explicit put_interpreter( C& cont, F const& f, modifier_ const& m )/*<-*/
             : super1_t( cont ), super2_t( f, m )
-            {
-                // This constructor is required in conjunction with modulo
-            }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+        {}BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
 
         C& container()const/*<-*/{
             return static_cast<super1_t const&>(*this).get();
@@ -62,26 +60,26 @@
     };
 
     template<typename C, typename F, typename Tag>
-    struct /*<<Metafunction class>>*/replace_data_generator< interpreter_aux::put_interpreter<C, F, Tag> >{/*<-*/
+    struct replace_data_generator< interpreter_aux::put_interpreter<C, F, Tag> >{
         template<typename F1>
-        struct apply{ typedef interpreter_aux::put_interpreter<C, F1, Tag> type; };
-    }/*->*/;
+        struct apply/*<-*/{ typedef interpreter_aux::put_interpreter<C, F1, Tag> type; }/*->*/;
+    };
 
     template<typename C, typename F, typename Tag>
-    struct /*<<Metafunction class>>*/replace_modifier_tag< interpreter_aux::put_interpreter<C, F, Tag> >{/*<-*/
+    struct replace_modifier_tag< interpreter_aux::put_interpreter<C, F, Tag> >{
         template<typename Tag1>
-        struct apply{ typedef interpreter_aux::put_interpreter<C, F, Tag1> type; };
-    }/*->*/;
+        struct apply/*<-*/{ typedef interpreter_aux::put_interpreter<C, F, Tag1> type; }/*->*/;
+    };
 
 }// interpreter_aux
 namespace result_of{
 
     template<typename C>
-    struct /*<<Metafunction>>*/put/*<-*/{
+    struct put{/*<-*/
         typedef typename interpreter_aux::deduce_data_generator<C>::type f_;
         typedef typename interpreter_aux::deduce_modifier_tag<C>::type modifier_tag_;
-        typedef interpreter_aux::put_interpreter<C, f_, modifier_tag_> type;
-    }/*->*/;
+        /*->*/typedef /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/unspecified/*<-*/)interpreter_aux::put_interpreter<C, f_, modifier_tag_>/*->*/ type;
+    };
 
 }// result_of
 
Modified: sandbox/assign_v2/boost/assign/v2/ref/wrapper/copy.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/wrapper/copy.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/wrapper/copy.hpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -36,32 +36,39 @@
 
         wrapper()/*<-*/
             {/*TODO or null pointer?*/}BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
-        explicit /*<<Equivalent to `rebind( r )`>>*/wrapper( T& r )/*<-*/
-            : ref_(&r)
+
+		// Initialization equivalent to rebind( r )            
+        explicit wrapper( T& r )/*<-*/
+            : ptr(&r)
         {}BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
-        void /*<<Semantics: `ref_ = &r`>>*/rebind(T& r )/*<-*/
+
+        void rebind(T& r )/*<-*/
         {
-            this->ref_ = &r;
+            this->ptr = &r;
         }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+
         typedef T& result_of_get_type;
         T& get() const/*<-*/
         {
-            return *this->ref_;
+            return *this->ptr;
         }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+
         T* get_pointer() const/*<-*/
         {
-            return this->ref_;
+            return this->ptr;
         }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
 
         using wrapper_crtp<wrapper, T>::operator=;
-        void /*<<Semantics: `*ref_ = r`>>*/assign(typename boost::call_traits<T>::param_type r )/*<-*/
+
+		// Copy semantics i.e. *ptr = r
+        void assign(typename boost::call_traits<T>::param_type r )/*<-*/
         {
             this->get() = r;
         }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
 
         protected:
         /*<-*/friend class wrapper_crtp<wrapper, T>/*->*/;
-        T* ref_;/*<-*/
+        T* ptr;/*<-*/
         typedef ref::assign_tag::copy assign_tag;/*->*/
         void swap( wrapper& r )/*<-*/
         {
Modified: sandbox/assign_v2/libs/assign/v2/speed/test.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/speed/test.cpp	(original)
+++ sandbox/assign_v2/libs/assign/v2/speed/test.cpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -180,10 +180,10 @@
         n, elapsed, cont, std::forward<Args>( args )... ),
        "v2_put"
     )
-	MACRO( as2::speed_aux::v2_pipe_put<timer_>(
-        n, elapsed, cont, std::forward<Args>( args )... ),
-       "v2_pipe_put"
-    )
+	//MACRO( as2::speed_aux::v2_pipe_put<timer_>(
+    //    n, elapsed, cont, std::forward<Args>( args )... ),
+    //   "v2_pipe_put"
+    //)
         MACRO( as2::speed_aux::v2_pipe_csv_put<timer_>(
         n, elapsed, cont, std::forward<Args>( args )... ),
        "v2_pipe_csv_put"
@@ -242,7 +242,7 @@
     cols["stl_push_back"] =   "cont.push_back( arg1 ); ...; cont.push_back( argm )";
     cols["v1_push_back"] =    "assign::push_back( cont )( arg1 )...( argm )";
     cols["v2_put"] =          "assign::v2::put( cont )( arg1 )...( argm )";
-    cols["v2_pipe_put"] =     "cont | assign::v2::_put( arg1 )...( argm )";
+    //cols["v2_pipe_put"] =     "cont | assign::v2::_put( arg1 )...( argm )";
     cols["v2_pipe_csv_put"] = "cont | assign::v2::_csv_put( args... )";
     cols["v1_list_of"] =      "assign::list_of( arg1 )...( argm )";
     cols["v2_deque"] =        "assign::v2::deque<T>( arg1 )...( argm )";
@@ -296,7 +296,7 @@
             << ( f %"stl_push_back" % cols["stl_push_back"] ).str()
             << ( f % "v1_push_back"% cols["v1_push_back"] ).str()
             << ( f % "v2_put" % cols["v2_put"] ).str()
-            << ( f % "v2_pipe_put" % cols["v2_pipe_put"] ).str()
+            //<< ( f % "v2_pipe_put" % cols["v2_pipe_put"] ).str()
             << ( f % "v2_pipe_csv_put" % cols["v2_pipe_csv_put"] ).str()
             << ( title % "Generate" ).str()
             << ( f % "v1_list_of" % cols["v1_list_of"] ).str()
Modified: sandbox/assign_v2/libs/assign/v2/src/main.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/src/main.cpp	(original)
+++ sandbox/assign_v2/libs/assign/v2/src/main.cpp	2011-03-25 18:12:25 EDT (Fri, 25 Mar 2011)
@@ -21,8 +21,8 @@
 #include <libs/assign/v2/tutorial.h>
 
 // Speed -- CPP0x required
-//#include <fstream>
-//#include <libs/assign/v2/speed/test.h>
+#include <fstream>
+#include <libs/assign/v2/speed/test.h>
 
 #include <boost/assign/v2/include.hpp>
 
@@ -31,8 +31,8 @@
 
     // Do not put libs/assign/v2/test/unit_testing in this project
     {
-        boost::format f( "boost version %1%.%2% %3% " ); 
-        f  % (BOOST_VERSION / 100000 ) % ( (BOOST_VERSION / 100) % 1000) % (BOOST_VERSION % 100 ); 
+        boost::format f( "boost version %1%.%2% %3% " );
+        f  % (BOOST_VERSION / 100000 ) % ( (BOOST_VERSION / 100) % 1000) % (BOOST_VERSION % 100 );
         std::cout << f.str() << std::endl;
     }
     {
@@ -62,7 +62,7 @@
 
         std::cout << cpp0x.str() << std::endl;
     }
-    {
+    {/*
         using namespace test_assign_v2;
         xxx_chain::test();
         xxx_conversion::test();
@@ -74,14 +74,14 @@
         xxx_pipe::test();
         xxx_put::test();
         xxx_ref::test();
-    }
-    {
+    */}
+    {/*
         tutorial_assign_v2::run();
-    }
+    */}
     {
-        //using namespace speed_assign_v2;
-        //std::ofstream ofs("assign_v2_speed_test");
-        //speed_assign_v2::test(ofs);
+        using namespace speed_assign_v2;
+        std::ofstream ofs("assign_v2_speed_test");
+        speed_assign_v2::test(ofs);
     }
 
     return 0;