$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r68503 - in sandbox/assign_v2/boost/assign/v2: . detail/checking put/deque put/generic put/modifier put/modifier/ext put/modifier/std put/pipe put/pipe/csv put/pipe/functor put/pipe/pars put/sub ref/array ref/array/alloc ref/array/csv ref/array/functor ref/fusion ref/wrapper utility/convert
From: erwann.rogard_at_[hidden]
Date: 2011-01-27 18:37:27
Author: e_r
Date: 2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
New Revision: 68503
URL: http://svn.boost.org/trac/boost/changeset/68503
Log:
upd assign_v2
Text files modified: 
   sandbox/assign_v2/boost/assign/v2/detail/checking/check.hpp              |    33 ++++                                    
   sandbox/assign_v2/boost/assign/v2/put.hpp                                |     6                                         
   sandbox/assign_v2/boost/assign/v2/put/deque/cont.hpp                     |    41 ++--                                    
   sandbox/assign_v2/boost/assign/v2/put/deque/functor.hpp                  |     2                                         
   sandbox/assign_v2/boost/assign/v2/put/deque/fwd.hpp                      |     2                                         
   sandbox/assign_v2/boost/assign/v2/put/generic/base.hpp                   |     1                                         
   sandbox/assign_v2/boost/assign/v2/put/generic/concept_sub.hpp            |     2                                         
   sandbox/assign_v2/boost/assign/v2/put/generic/crtp.hpp                   |    39 ++--                                    
   sandbox/assign_v2/boost/assign/v2/put/generic/new_fun.hpp                |     2                                         
   sandbox/assign_v2/boost/assign/v2/put/generic/new_modifier.hpp           |     2                                         
   sandbox/assign_v2/boost/assign/v2/put/generic/parameter.hpp              |     2                                         
   sandbox/assign_v2/boost/assign/v2/put/generic/result_of_modulo.hpp       |     6                                         
   sandbox/assign_v2/boost/assign/v2/put/modifier/def.hpp                   |    19 -                                       
   sandbox/assign_v2/boost/assign/v2/put/modifier/ext/concept_parameter.hpp |     2                                         
   sandbox/assign_v2/boost/assign/v2/put/modifier/ext/iterate.hpp           |     4                                         
   sandbox/assign_v2/boost/assign/v2/put/modifier/ext/lookup.hpp            |     8                                         
   sandbox/assign_v2/boost/assign/v2/put/modifier/ext/repeat.hpp            |     4                                         
   sandbox/assign_v2/boost/assign/v2/put/modifier/ext/result_of_modulo.hpp  |     4                                         
   sandbox/assign_v2/boost/assign/v2/put/modifier/std/push_back.hpp         |     1                                         
   sandbox/assign_v2/boost/assign/v2/put/modifier/std/xxx.hpp               |     1                                         
   sandbox/assign_v2/boost/assign/v2/put/pipe/csv.hpp                       |     2                                         
   sandbox/assign_v2/boost/assign/v2/put/pipe/csv/container.hpp             |    67 ---------                               
   sandbox/assign_v2/boost/assign/v2/put/pipe/csv/forward.hpp               |     8                                         
   sandbox/assign_v2/boost/assign/v2/put/pipe/csv/generator.hpp             |    30 +--                                     
   sandbox/assign_v2/boost/assign/v2/put/pipe/csv/operator.hpp              |    14 -                                       
   sandbox/assign_v2/boost/assign/v2/put/pipe/csv/size_type.hpp             |     4                                         
   sandbox/assign_v2/boost/assign/v2/put/pipe/functor.hpp                   |     3                                         
   sandbox/assign_v2/boost/assign/v2/put/pipe/functor/container.hpp         |   282 --------------------------------------- 
   sandbox/assign_v2/boost/assign/v2/put/pipe/functor/keyword.hpp           |    28 ---                                     
   sandbox/assign_v2/boost/assign/v2/put/pipe/functor/operator.hpp          |    13 +                                       
   sandbox/assign_v2/boost/assign/v2/put/pipe/pars/forward.hpp              |    23 +-                                      
   sandbox/assign_v2/boost/assign/v2/put/pipe/pars/size_type.hpp            |     6                                         
   sandbox/assign_v2/boost/assign/v2/put/pipe/range.hpp                     |    61 ++------                                
   sandbox/assign_v2/boost/assign/v2/put/sub/csv.hpp                        |     2                                         
   sandbox/assign_v2/boost/assign/v2/put/sub/functor.hpp                    |     4                                         
   sandbox/assign_v2/boost/assign/v2/ref/array/alloc/instant.hpp            |    11                                         
   sandbox/assign_v2/boost/assign/v2/ref/array/alloc/instant_fwd.hpp        |     4                                         
   sandbox/assign_v2/boost/assign/v2/ref/array/alloc/lazy.hpp               |    11                                         
   sandbox/assign_v2/boost/assign/v2/ref/array/alloc/lazy_fwd.hpp           |     4                                         
   sandbox/assign_v2/boost/assign/v2/ref/array/csv/nth_result_of.hpp        |     3                                         
   sandbox/assign_v2/boost/assign/v2/ref/array/functor.hpp                  |     3                                         
   sandbox/assign_v2/boost/assign/v2/ref/array/functor/make.hpp             |     7                                         
   sandbox/assign_v2/boost/assign/v2/ref/array/functor/nth_result_of.hpp    |    24 +-                                      
   sandbox/assign_v2/boost/assign/v2/ref/array/functor/tag2.hpp             |    27 ---                                     
   sandbox/assign_v2/boost/assign/v2/ref/array/impl_traits.hpp              |     3                                         
   sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_array.hpp            |    85 -----------                             
   sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_copy.hpp             |    18 --                                      
   sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_xxx.hpp              |    45 ------                                  
   sandbox/assign_v2/boost/assign/v2/ref/fusion/container.hpp               |   164 -----------------------                 
   sandbox/assign_v2/boost/assign/v2/ref/fusion/fwd.hpp                     |    38 -----                                   
   sandbox/assign_v2/boost/assign/v2/ref/fusion/head_holder.hpp             |    67 ---------                               
   sandbox/assign_v2/boost/assign/v2/ref/fusion/link_holder.hpp             |    66 ---------                               
   sandbox/assign_v2/boost/assign/v2/ref/fusion/make.hpp                    |    67 ---------                               
   sandbox/assign_v2/boost/assign/v2/ref/fusion/most_const.hpp              |    57 -------                                 
   sandbox/assign_v2/boost/assign/v2/ref/fusion/nil_arg.hpp                 |    29 ---                                     
   sandbox/assign_v2/boost/assign/v2/ref/fusion/nth_result_of.hpp           |    79 -----------                             
   sandbox/assign_v2/boost/assign/v2/ref/fusion/policy.hpp                  |    65 ---------                               
   sandbox/assign_v2/boost/assign/v2/ref/fusion/root.hpp                    |    29 ---                                     
   sandbox/assign_v2/boost/assign/v2/ref/fusion/size_type.hpp               |    28 ---                                     
   sandbox/assign_v2/boost/assign/v2/ref/wrapper/copy.hpp                   |     2                                         
   sandbox/assign_v2/boost/assign/v2/utility/convert/converter.hpp          |    35 ++++                                    
   61 files changed, 265 insertions(+), 1434 deletions(-)
Modified: sandbox/assign_v2/boost/assign/v2/detail/checking/check.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/checking/check.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/detail/checking/check.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -7,12 +7,43 @@
 //  Boost Software License, Version 1.0. (See accompanying file             //
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
 //////////////////////////////////////////////////////////////////////////////
-
 #ifndef BOOST_ASSIGN_V2_CHECK 
 #include <boost/assert.hpp>
 #define BOOST_ASSIGN_V2_CHECK( p ) BOOST_ASSERT( p )
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace checking{
+
+	struct val_pred{
+
+    	val_pred(){}
+		template<typename T, typename U>
+    	void operator()(T const& t, U const& u)const
+        {
+        	BOOST_ASSIGN_V2_CHECK( t == u );
+        }
+    };
+
+	struct ref_pred{
+
+    	ref_pred(){}
+		template<typename T, typename U>
+    	void operator()(T const& t, U const& u)const
+        {
+        	BOOST_ASSIGN_V2_CHECK( &t == &u );
+        }
+    };
+
+}// checking
+}// v2
+}// assign
+}// boost
+
 #endif
 
 // Override with this in the test suite:
 //	#include <boost/test/test_tools.hpp>
 //	#define BOOST_ASSIGN_V2_CHECK( p ) BOOST_CHECK( p )
+
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-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -11,9 +11,11 @@
 #define BOOST_ASSIGN_V2_PUT_ER_2010_HPP
 
 #include <boost/assign/v2/put/deque.hpp>
-#include <boost/assign/v2/put/generic.hpp>
+#include <boost/assign/v2/put/frame.hpp>
+//#include <boost/assign/v2/put/generic.hpp>
 #include <boost/assign/v2/put/modifier.hpp>
+#include <boost/assign/v2/put/modulo.hpp>
 #include <boost/assign/v2/put/pipe.hpp>
-#include <boost/assign/v2/put/sub.hpp>
+//#include <boost/assign/v2/put/sub.hpp>
 
 #endif
Modified: sandbox/assign_v2/boost/assign/v2/put/deque/cont.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/deque/cont.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/deque/cont.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -15,8 +15,11 @@
 #include <boost/range/iterator.hpp>
 #include <boost/range/size.hpp>
 #include <boost/range/size_type.hpp>
-#include <boost/assign/v2/put/generic/result_of_modulo.hpp>
-#include <boost/assign/v2/put/generic/crtp.hpp>
+
+#include <boost/assign/v2/put/modulo/fun.hpp>
+#include <boost/assign/v2/put/modulo/modifier.hpp>
+#include <boost/assign/v2/put/frame/crtp.hpp>
+
 #include <boost/assign/v2/put/deque/fwd.hpp>
 
 namespace boost{
@@ -25,21 +28,17 @@
 namespace result_of_modulo{
 
     template<typename T,typename F,typename Tag>
-    struct new_fun<put_deque_aux::cont<T,F,Tag> >
+    struct fun<put_deque_aux::cont<T, F, Tag> >
     {
-
             template<typename F1>
         struct apply{ typedef put_deque_aux::cont<T, F1, Tag> type; };
-
     };
 
     template<typename T,typename F,typename Tag>
-    struct new_modifier<put_deque_aux::cont<T,F,Tag> >
+    struct modifier<put_deque_aux::cont<T, F, Tag> >
     {
-
             template<typename NewTag>
         struct apply{ typedef put_deque_aux::cont<T, F, NewTag> type; };
-
     };
 
 }//result_of_modulo
@@ -101,46 +100,46 @@
         typedef typename impl_::difference_type difference_type;
 
         size_type size()const{
-            return this->get().size();
+            return this->container().size();
         }
         size_type max_size()const{
-            return this->get().max_size();
+            return this->container().max_size();
         }
         bool empty()const{
-            return this->get().empty();
+            return this->container().empty();
         }
         reference operator[](size_type n){
-            return this->get()[n];
+            return this->container()[n];
         }
         const_reference operator[](size_type n)const{
-            return this->get()[n];
+            return this->container()[n];
         }
         reference front(){
-            return this->get().front();
+            return this->container().front();
         }
         const_reference front()const{
-            return this->get().front();
+            return this->container().front();
         }
                 reference back(){
-        	return this->get().back();
+        	return this->container().back();
         }
         const_reference back()const{
-            return this->get().back();
+            return this->container().back();
         }
         void pop_front(){
-            this->get().pop_front();
+            this->container().pop_front();
         }
         void pop_back(){
-            this->get().pop_back();
+            this->container().pop_back();
         }
         void swap(cont& that){
-            this->get().swap( that.get() );
+            this->container().swap( that.container() );
         }
 
         // Note : the modifiers such as push_back() are ommitted as they
         // accessible through the put interface.
 
-       impl_& get()const{ return this->impl; }
+       impl_& container()const{ return this->impl; }
         protected:
         mutable impl_ impl;
 
Modified: sandbox/assign_v2/boost/assign/v2/put/deque/functor.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/deque/functor.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/deque/functor.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -14,7 +14,7 @@
 #include <boost/type_traits/remove_cv.hpp>
 #include <boost/assign/v2/detail/keyword/nil.hpp>
 #include <boost/assign/v2/put/deque/cont.hpp>
-#include <boost/assign/v2/put/sub/functor.hpp>
+#include <boost/assign/v2/put/container/functor.hpp>
 
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
 #include <utility>
Modified: sandbox/assign_v2/boost/assign/v2/put/deque/fwd.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/deque/fwd.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/deque/fwd.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -15,7 +15,7 @@
 namespace v2{
 namespace put_deque_aux{
 
-    template<typename T,typename F,typename Tag> class cont;
+    template<typename T, typename F, typename Tag> class cont;
 
 }// put_deque_aux
 }// v2
Modified: sandbox/assign_v2/boost/assign/v2/put/generic/base.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/generic/base.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/generic/base.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -15,6 +15,7 @@
 namespace v2{
 namespace put_aux{
 
+
         struct put_base{
     
             // This base is needed to be able to distinguish objects that serves as
Modified: sandbox/assign_v2/boost/assign/v2/put/generic/concept_sub.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/generic/concept_sub.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/generic/concept_sub.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -25,7 +25,7 @@
                 BOOST_CONCEPT_USAGE(Pre1)
         {
                         X x( v );
-            V& ref = x.get();
+            V& ref = x.container();
         }
         
         private:
Modified: sandbox/assign_v2/boost/assign/v2/put/generic/crtp.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/generic/crtp.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/generic/crtp.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -69,7 +69,7 @@
     // then models concept_sub::Post
     // 
     // Usually, f is passed to the crtp. U = V& or V const& depending on need.
-    template<typename V,typename F, typename Tag, typename D>
+    template<typename V, typename F, typename Tag, typename D>
     class crtp :
             public put_base,
             public  put_aux::expose_fun<F> 
@@ -99,7 +99,7 @@
                 D const& derived()const{ return static_cast<D const&>(*this); }
 
                 //public:
-
+		
                 crtp(){}
         explicit crtp( F const& f ) : expose_fun_( f ){}
         explicit crtp( F const& f, modifier_ const& m )
@@ -107,19 +107,20 @@
 
             result_type operator()()const
             {
-			return this->arg_deduct( this->fun() );
+			return this->modify( this->fun() );
             }
 
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
 
+		//[fun_op
         template<typename...Args>
-        result_type
-        operator()( Args&&...args )const
+        result_type operator()( Args&&...args )const
         {
-            return this->arg_deduct(
+            return this->modify(
                 this->fun( std::forward<Args>(args)... )
             );
         }
+        //]
 
 #else
         protected:
@@ -136,7 +137,7 @@
     result_type \
     impl( BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _) )const \
         { \
-        return this->arg_deduct( this->fun(BOOST_PP_ENUM_PARAMS(N,_)) ); \
+        return this->modify( this->fun(BOOST_PP_ENUM_PARAMS(N,_)) ); \
         } \
 /**/
 BOOST_PP_REPEAT_FROM_TO(
@@ -147,7 +148,7 @@
 )
 #undef MACRO
 #endif
-		V& get()const{ return this->derived().get(); }
+		V& container()const{ return this->derived().container(); }
 
                 struct result_of_modulo{
 
@@ -170,7 +171,7 @@
                 typedef typename caller_::type cons_;
                     typedef typename result_of_modulo::deduce::type result_;
                     return result_(
-        		this->derived().get(),
+        		this->derived().container(),
                      caller_::call()
                 );
         }
@@ -178,11 +179,11 @@
                 protected:
 
                 template<typename T>
-        result_type arg_deduct(T* t)const
+        result_type modify(T* t)const
         {
                 typedef put_concept::ModifierImpl<modifier_, V, T*> concept_;
             BOOST_CONCEPT_ASSERT(( concept_ ));
-			this->modifier.impl( this->derived().get(), t );
+			this->modifier.impl( this->derived().container(), t );
             return this->derived();
         }
 
@@ -201,30 +202,32 @@
 
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
 
+		//[modify
                 template<typename T>
-        result_type arg_deduct(T&& t)const
+        result_type modify(T&& t)const
         {
                         check_modifier( t );
                         this->modifier.impl(
-                this->derived().get(),
+                this->derived().container(),
                 std::forward<T>( t )
-            );
+            )/* modifier depends on Tag */;
             return this->derived();
         }
+        //]
 #else
                 template<typename T>
-        result_type arg_deduct(T& t)const
+        result_type modify(T& t)const
         {
                         check_modifier( t );
-			this->modifier.impl( this->derived().get(), t );
+			this->modifier.impl( this->derived().container(), t );
             return this->derived();
         }
 
                 template<typename T>
-        result_type arg_deduct(T const& t)const
+        result_type modify(T const& t)const
         {
                         check_modifier( t );
-			this->modifier.impl( this->derived().get(), t );
+			this->modifier.impl( this->derived().container(), t );
             return this->derived();
         }
 
Modified: sandbox/assign_v2/boost/assign/v2/put/generic/new_fun.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/generic/new_fun.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/generic/new_fun.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -40,7 +40,7 @@
                     result_of_modulo::new_fun<T>,
                 F1
     	>::type result_;
-        return result_( t.get(), h.value, t.modifier );
+        return result_( t.container(), h.value, t.modifier );
     }
 
     struct kwd_fun{
Modified: sandbox/assign_v2/boost/assign/v2/put/generic/new_modifier.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/generic/new_modifier.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/generic/new_modifier.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -55,7 +55,7 @@
                 NewTag
     	>::type result_;
         typedef put_aux::modifier<NewTag> modifier_;
-        return result_( t.get(), t.fun, modifier_( h.modifier_tag ) );
+        return result_( t.container(), t.fun, modifier_( h.modifier_tag ) );
     }
 
 }// put_aux
Modified: sandbox/assign_v2/boost/assign/v2/put/generic/parameter.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/generic/parameter.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/generic/parameter.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -15,7 +15,7 @@
 namespace v2{
 namespace put_parameter{
 
-	template<typename F,typename Tag>
+	template<typename F, typename Tag>
         struct pair{
         typedef F fun_type;
         typedef Tag modifier_tag;
Modified: sandbox/assign_v2/boost/assign/v2/put/generic/result_of_modulo.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/generic/result_of_modulo.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/generic/result_of_modulo.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -18,14 +18,14 @@
 namespace v2{
 namespace result_of_modulo{
 
-	//   Specialize on T's that derives from crtp
+	//  Specialize on T's that derives from crtp
         template<typename T> struct new_fun{
     
             template<typename F> struct apply{};
     
     };
 
-	//   Specialize on T's that derives from crtp
+	//  Specialize on T's that derives from crtp
         template<typename T> struct new_modifier{
     
             template<typename Tag> struct apply{};
@@ -35,7 +35,7 @@
         template<typename T> struct new_fun_modifier
     {
     
-    	template<typename F,typename Tag>
+    	template<typename F, typename Tag>
         struct apply
         {
                 typedef typename ::boost::mpl::apply1<
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/def.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/def.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/def.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -17,18 +17,13 @@
         // add as necessary
 }
 namespace put_aux{
-
-	template<typename Tag>
-    struct modifier{
-		    	
-    	// Specialize on Tag:
-    	//	template<typename V,typename T>
-        //	void impl(V& v,T& t)const;
-
-		// Warning: modifiers such as modifier<modifier_tag::at_next> have an 
-        // internal state that affects impl()'s working. 
-        
-    };
+// TODO
+//	template<typename Tag>
+//    struct modifier{
+     /* Specialize on Tag: 
+        template<typename V,typename T>
+        void impl(V& v,T& t)const; */
+//    };
 
 }// put_aux
 }// v2
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/ext/concept_parameter.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/ext/concept_parameter.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/ext/concept_parameter.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -23,7 +23,7 @@
 
                 BOOST_CONCEPT_USAGE(Parameter)
         {
-        	M m( p.get() );
+        	M m( p.arg() );
         }
 
         private:
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/ext/iterate.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/ext/iterate.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/ext/iterate.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -13,8 +13,10 @@
 #include <boost/mpl/aux_/na.hpp>
 #include <boost/assign/v2/detail/pp/forward.hpp>
 #include <boost/assign/v2/detail/functor/identity.hpp>
+
 #include <boost/assign/v2/put/modifier/def.hpp>
 #include <boost/assign/v2/put/generic/parameter.hpp>
+
 #include <boost/assign/v2/put/modifier/ext/xxx.hpp>
 
 namespace boost{
@@ -82,7 +84,7 @@
            : i( i_ )
         {}
 
-        size_type const& get()const{ return this->i; }
+        size_type const& arg()const{ return this->i; }
 
         protected:
         size_type i;
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/ext/lookup.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/ext/lookup.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/ext/lookup.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -15,8 +15,10 @@
 #include <boost/assign/v2/put/modifier/def.hpp>
 #include <boost/assign/v2/detail/functor/identity.hpp>
 #include <boost/assign/v2/detail/pp/forward.hpp>
+
 #include <boost/assign/v2/put/generic/parameter.hpp>
 #include <boost/assign/v2/put/generic/result_of_modulo.hpp>
+
 #include <boost/assign/v2/put/modifier/ext/xxx.hpp>
 
 namespace boost{
@@ -69,12 +71,12 @@
     {
         typedef Arg const type;
 
-        explicit lookup(type& arg_) : arg( arg_ ){}
+        explicit lookup(type& k) : key( k ){}
 
-        type& get()const{ return this->arg; }
+        type& arg()const{ return this->key; }
 
         private:
-        type& arg;
+        type& key;
 
     };
 
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/ext/repeat.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/ext/repeat.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/ext/repeat.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -11,8 +11,10 @@
 #define BOOST_ASSIGN_V2_PUT_MODIFIER_EXT_REPEAT_ER_2010_HPP
 #include <boost/mpl/aux_/na.hpp>
 #include <boost/assign/v2/detail/pp/forward.hpp>
+
 #include <boost/assign/v2/put/modifier/def.hpp>
 #include <boost/assign/v2/put/generic/parameter.hpp>
+
 #include <boost/assign/v2/put/modifier/ext/xxx.hpp>
 
 namespace boost{
@@ -94,7 +96,7 @@
             : n( n_ )
         {}
 
-        size_type const& get()const{ return this->n; }
+        size_type const& arg()const{ return this->n; }
 
         protected:
         size_type n;
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/ext/result_of_modulo.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/ext/result_of_modulo.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/ext/result_of_modulo.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -78,9 +78,9 @@
                 typedef put_concept::Parameter<m_,P> concept_;
                 BOOST_CONCEPT_ASSERT(( concept_ ));
                 return call(
-                    t.get(),
+                    t.container(),
                     make_fun( t, is_same_fun() ),
-                    m_( p.get() )
+                    m_( p.arg() )
                 );
             }
 
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/std/push_back.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/std/push_back.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/std/push_back.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -10,6 +10,7 @@
 #ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_STD_PUSH_BACK_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_MODIFIER_STD_PUSH_BACK_ER_2010_HPP
 #include <boost/assign/v2/put/modifier/std/xxx.hpp>
+
 BOOST_ASSIGN_V2_PUT_MODIFIER_STD_XXX(push_back)
 
 #endif
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/std/xxx.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/std/xxx.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/std/xxx.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -12,6 +12,7 @@
 #include <boost/accumulators/framework/accumulator_base.hpp>
 
 #include <boost/assign/v2/detail/pp/forward.hpp>
+
 #include <boost/assign/v2/put/modifier/def.hpp>
 #include <boost/assign/v2/put/generic/new_modifier.hpp>
 
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/csv.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/csv.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/csv.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -10,7 +10,7 @@
 #ifndef BOOST_ASSIGN_V2_PUT_PIPE_CSV_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_PIPE_CSV_ER_2010_HPP
 
-#include <boost/assign/v2/put/pipe/csv/container.hpp>
+#include <boost/assign/v2/put/pipe/csv/rhs.hpp>
 #include <boost/assign/v2/put/pipe/csv/generator.hpp>
 #include <boost/assign/v2/put/pipe/csv/keyword.hpp>
 #include <boost/assign/v2/put/pipe/csv/operator.hpp>
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/csv/container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/csv/container.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/csv/container.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,66 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_PUT_PIPE_CSV_CONTAINER_HPP_ER_2010
-#define BOOST_ASSIGN_V2_PUT_PIPE_CSV_CONTAINER_HPP_ER_2010
-#include <boost/mpl/apply.hpp>
-#include <boost/assign/v2/ref/array/csv.hpp>
-#include <boost/assign/v2/ref/fusion/assign_copy.hpp>
-
-namespace boost{
-	struct use_default;
-namespace assign{
-namespace v2{
-namespace put_pipe_aux{
-
-	template<typename Pars, int N, typename U>
-    struct csv_container
-    {
-        typedef boost::use_default tag2_;
-    	typedef v2::ref::assign_copy::nth_result_of::fusion<tag2_> meta1_;
-        typedef typename ::boost::mpl::apply1<
-            meta1_,
-            Pars
-        >::type pars_cont_type;
-    	typedef typename v2::ref::nth_result_of::csv_array<
-    		N,
-        	U
-    	>::type seq_arg_cont_type;
-
-        csv_container(){}
-        csv_container(pars_cont_type const& p, seq_arg_cont_type const& s)
-        	: pars_cont( p ), seq_arg( s ){}
-
-		pars_cont_type const& pars()const
-        {
-        	return this->pars_cont;
-        }
-
-		seq_arg_cont_type const& seq_args()const
-        {
-        	return this->seq_arg;
-        }
-		seq_arg_cont_type& seq_args()
-        {
-        	return this->seq_arg;
-        }
-
-		protected:
-		pars_cont_type pars_cont;
-        seq_arg_cont_type seq_arg;
-
-    };
-
-}// put_pipe_aux
-}// v2
-}// assign
-}// boost
-
-#endif
-
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/csv/forward.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/csv/forward.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/csv/forward.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -17,8 +17,8 @@
 namespace v2{
 namespace put_pipe_aux{
 
-    template<put_pipe_aux::csv_size_type N, 
-    	put_pipe_aux::csv_size_type I, typename F, typename C>
+    template<csv_size_type N, 
+    	csv_size_type I, typename F, typename C>
     typename boost::enable_if_c<
         N == I
     >::type
@@ -28,8 +28,8 @@
     )
     {}
 
-    template<put_pipe_aux::csv_size_type N, 
-    	put_pipe_aux::csv_size_type I, typename F, typename C>
+    template<csv_size_type N, 
+    	csv_size_type I, typename F, typename C>
     typename boost::enable_if_c<
         I < N
     >::type
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/csv/generator.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/csv/generator.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/csv/generator.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -10,15 +10,14 @@
 #ifndef BOOST_ASSIGN_V2_PUT_PIPE_CSV_GENERATOR_HPP_ER_2010
 #define BOOST_ASSIGN_V2_PUT_PIPE_CSV_GENERATOR_HPP_ER_2010
 #include <boost/mpl/apply.hpp>
-#include <boost/mpl/push_back.hpp>
 #include <boost/mpl/size.hpp>
 #include <boost/mpl/vector/vector0.hpp>
 
 #include <boost/assign/v2/ref/array/csv.hpp>
-#include <boost/assign/v2/ref/fusion/nth_result_of.hpp>
 #include <boost/assign/v2/ref/wrapper/copy.hpp>
 
-#include <boost/assign/v2/put/pipe/csv/container.hpp>
+#include <boost/assign/v2/put/pipe/csv/rhs.hpp>
+#include <boost/assign/v2/put/pipe/modulo/traits.hpp>
 
 #include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
@@ -47,22 +46,16 @@
         class csv_generator
     {
 
-    	typedef boost::use_default tag2_;
-    	typedef v2::ref::assign_copy::nth_result_of::fusion<tag2_> meta1_;
+    	//typedef boost::use_default tag2_;
+    	//typedef v2::ref::assign_copy::nth_result_of::fusion<tag2_> meta1_;
 
                 typedef ::boost::mpl::na na_;
+        typedef modulo_traits<Pars> modulo_traits_;
 
                 public:
-
-		BOOST_STATIC_CONSTANT(
-        	std::size_t,
-            static_parameters_size = ::boost::mpl::size<Pars>::value
-        );
-
-        typedef typename ::boost::mpl::apply1<
-            meta1_,
-            Pars
-        >::type pars_cont_type;
+        
+        typedef typename modulo_traits_::size pars_size;
+        typedef typename modulo_traits_::cont_ pars_cont_type;
 
                 csv_generator(){}
                 explicit csv_generator(pars_cont_type const& p)
@@ -71,10 +64,7 @@
         template<typename T>
         struct modulo_result
         {
-        	typedef typename ::boost::mpl::push_back<
-    			Pars,
-                T const
-            >::type new_;
+			typedef typename modulo_traits_:: template new_pars<T>::type new_;
             typedef csv_generator<new_> type;
         };
 
@@ -88,7 +78,7 @@
 
             template<std::size_t N, typename U = na_>
         struct result{
-        	typedef put_pipe_aux::csv_container<Pars, N, U> type;
+        	typedef put_pipe_aux::csv_rhs<Pars, N, U> type;
         };
 
                 typename result<0>::type
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/csv/operator.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/csv/operator.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/csv/operator.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -9,10 +9,11 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_PUT_PIPE_CSV_OPERATOR_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_PIPE_CSV_OPERATOR_ER_2010_HPP
-#include <boost/assign/v2/put/pipe/pars/forward.hpp>
-#include <boost/assign/v2/put/pipe/csv/container.hpp>
+#include <boost/assign/v2/put/pipe/modulo/forward.hpp>
+#include <boost/assign/v2/put/pipe/csv/rhs.hpp>
+#include <boost/assign/v2/put/pipe/csv/size_type.hpp>
 #include <boost/assign/v2/put/pipe/csv/forward.hpp>
-#include <boost/assign/v2/put/sub/csv.hpp>
+#include <boost/assign/v2/put/container/functor.hpp>
 
 namespace boost{
 namespace assign{
@@ -20,11 +21,8 @@
 namespace put_pipe_aux{
 
     template<typename V, 
-    	typename Pars, put_pipe_aux::csv_size_type N, typename U>
-    V& operator|(
-        V& v,
-        put_pipe_aux::csv_container<Pars, N, U> const& c
-    ){
+    	typename Pars, csv_size_type N, typename U>
+    V& operator|(V& v, put_pipe_aux::csv_rhs<Pars, N, U> const& c){
 
         csv_forward(
                 forward_pars<Pars>(
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/csv/size_type.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/csv/size_type.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/csv/size_type.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -9,14 +9,14 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_PUT_PIPE_CSV_SIZE_TYPE_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_PIPE_CSV_SIZE_TYPE_ER_2010_HPP
-#include <boost/assign/v2/ref/fusion/size_type.hpp>
+#include <boost/assign/v2/ref/list/size_type.hpp>
 
 namespace boost{
 namespace assign{
 namespace v2{
 namespace put_pipe_aux{
 
-	typedef ref::fusion_aux::size_type csv_size_type;
+	typedef ref::list_aux::size_type csv_size_type;
     
 }// put_pipe_aux
 }// v2
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/functor.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/functor.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/functor.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -10,8 +10,7 @@
 #ifndef BOOST_ASSIGN_V2_PUT_PIPE_FUNCTOR_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_PIPE_FUNCTOR_ER_2010_HPP
 
-#include <boost/assign/v2/put/pipe/functor/container.hpp>
-#include <boost/assign/v2/put/pipe/functor/keyword.hpp>
+#include <boost/assign/v2/put/pipe/functor/rhs.hpp>
 #include <boost/assign/v2/put/pipe/functor/forward.hpp>
 #include <boost/assign/v2/put/pipe/functor/operator.hpp>
 
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/functor/container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/functor/container.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/functor/container.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,281 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_PUT_PIPE_FUNCTOR_CONTAINER_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_PIPE_FUNCTOR_CONTAINER_ER_2010_HPP
-#include <boost/mpl/vector/vector0.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/push_back.hpp>
-#include <boost/mpl/apply.hpp>
-
-#include <boost/assign/v2/ref/fusion/assign_copy.hpp>
-#include <boost/assign/v2/ref/list_tuple.hpp>
-#include <boost/assign/v2/put/pipe/pars/size_type.hpp>
-
-#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
-#if BOOST_ASSIGN_V2_ENABLE_CPP0X
-#include <utility>
-#include <boost/assign/v2/temporary/variadic_vector.hpp>
-#else
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/arithmetic/inc.hpp>
-#include <boost/preprocessor/repetition.hpp>
-#include <boost/assign/v2/detail/functor/crtp_unary_and_up.hpp>
-#endif
-
-namespace boost{
-    struct use_default;
-namespace assign{
-namespace v2{
-namespace put_pipe_aux{
-
-    template<
-    	typename Pars = ::boost::mpl::vector0<>,
-    	typename SeqArgs = ::boost::mpl::vector0<>,
-        bool enable_pars = (boost::mpl::size<SeqArgs>::value == 0)
-    >
-	class container;
-
-    template<typename Pars, typename SeqArgs, bool enable_pars>
-    struct container_result_helper
-    {
-
-    	template<typename V>
-    	struct apply
-    	{
-        	typedef typename ::boost::mpl::push_back<
-                SeqArgs,
-                V
-            >::type new_;
-        	typedef put_pipe_aux::container<
-                Pars,
-                new_
-            > type;
-    	};
-
-    };
-
-#if! BOOST_ASSIGN_V2_ENABLE_CPP0X
-    typedef ref::list_tuple_aux::na_type na_type;
-#endif
-
-    template<typename Pars, typename SeqArgs, bool enable_pars>
-    struct container_result
-    {
-        typedef container_result_helper<
-            Pars,
-            SeqArgs,
-            enable_pars
-        > helper_;
-
-#if BOOST_ASSIGN_V2_ENABLE_CPP0X
-
-    	template<typename...Args>
-        struct apply : helper_::template apply<
-            typename ::boost::mpl::detail::variadic_vector<
-                Args...
-            >::type
-        >
-        {};
-
-#else
-
-    	template<typename V>
-        struct apply : helper_::template apply<V>{};
-
-#endif
-
-    };
-
-
-	template<typename Pars, typename SeqArgs, bool enable_pars>
-	class container
-#if BOOST_ASSIGN_V2_ENABLE_CPP0X
-//do nothing
-#else
-    	:	public functor_aux::crtp_unary_and_up<
-                container<Pars, SeqArgs, enable_pars>,
-                container_result<Pars, SeqArgs, enable_pars>
-    		>
-#endif
-    {
-    	typedef boost::use_default tag2_;
-    	typedef ref::assign_copy::nth_result_of::fusion<tag2_> meta1_;
-		typedef ref::nth_result_of::list_tuple meta2_;
-
-        public:
-
-		BOOST_STATIC_CONSTANT(
-        	pars_size_type,
-        	static_pars_size = ::boost::mpl::size<Pars>::value
-        );
-
-		BOOST_STATIC_CONSTANT(
-        	std::size_t,
-            seq_args_size = ::boost::mpl::size<SeqArgs>::value
-        );
-
-        typedef typename ::boost::mpl::apply1<
-            meta1_,
-            Pars
-        >::type pars_cont_type;
-        typedef typename ::boost::mpl::apply1<
-            meta2_,
-            SeqArgs
-        >::type seq_args_cont_type;
-
-        container(){}
-        explicit container(
-        	pars_cont_type const& p,
-            seq_args_cont_type const& s
-        ) : pars_cont( p ),
-        seq_args_cont( s ){}
-
-        // operator%
-
-        template<typename T>
-        struct modulo_result
-        {
-        	typedef typename ::boost::mpl::push_back<
-    			Pars,
-                T const
-            >::type new_;
-            typedef container<new_, SeqArgs> type;
-        };
-
-        template<typename T>
-        typename boost::lazy_enable_if_c<
-        	enable_pars,
-        	modulo_result<T>
-        >::type
-        operator%(T const& t)const
-        {
-        	typedef typename modulo_result<T>::type result_;
-            return result_(
-                this->pars_cont( t ),
-                this->seq_args_cont
-            );
-        }
-
-        // operator()
-
-        template<
-#if BOOST_ASSIGN_V2_ENABLE_CPP0X
-            typename...Args
-#else
-            typename VArgs
-#endif
-        >
-        struct result : container_result<
-            Pars,
-            SeqArgs,
-            enable_pars
-        >::template apply<
-#if BOOST_ASSIGN_V2_ENABLE_CPP0X
-            Args...
-#else
-            VArgs
-#endif
-        >{};
-
-#if BOOST_ASSIGN_V2_ENABLE_CPP0X
-
-        public:
-
-        template<typename ...Args>
-        typename result<Args...>::type
-        operator()(Args&&...args )const
-        {
-            typedef typename result<Args...>::type result_;
-            return result_(
-                this->pars_cont,
-                this->seq_args_cont(
-                    std::forward<Args>( args )...
-                )
-            );
-        }
-
-#else
-        protected:
-
-		typedef functor_aux::crtp_unary_and_up<
-            container,
-            container_result<Pars, SeqArgs, enable_pars>
-    	> super_t;
-
-        typedef ::boost::mpl::vector0<> v0_;
-
-        public:
-
-        typename result<v0_>::type
-        operator()()const
-        {
-            typedef typename result<v0_>::type result_;
-            return result_(
-                this->pars_cont,
-                this->seq_args_cont()
-            );
-        }
-
-		using super_t::operator();
-
-#define MACRO1( z, n, data )\
- ( BOOST_PP_CAT(_,n) )\
-/**/
-#define MACRO2(z, N1, data)\
-    template<BOOST_PP_ENUM_PARAMS(N1, typename U)>\
-    typename result<\
-        ::boost::mpl::vector<\
-            BOOST_PP_ENUM_PARAMS(N1, U)\
-        >\
-    >::type\
-    impl( BOOST_PP_ENUM_BINARY_PARAMS(N1, U, &_) )const{\
-        typedef ::boost::mpl::vector<\
-            BOOST_PP_ENUM_PARAMS(N1, U)\
-        > v_;\
-        typedef typename result<v_>::type result_;\
-        return result_(\
-        	this->pars_cont,\
-            this->seq_args_cont( BOOST_PP_ENUM_PARAMS(N1, _) )\
-        );\
-    }\
-/**/
-BOOST_PP_REPEAT_FROM_TO(
-	1,
-    BOOST_PP_INC(BOOST_ASSIGN_V2_LIMIT_ARITY),
-    MACRO2,
-    ~
-)
-#undef MACRO1
-#undef MACRO2
-
-#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
-
-        pars_cont_type const& pars()const
-        {
-        	return this->pars_cont;
-        }
-        seq_args_cont_type const& seq_args()const
-        {
-        	return this->seq_args_cont;
-        }
-
-        protected:
-
-        pars_cont_type pars_cont;
-        seq_args_cont_type seq_args_cont;
-
-    };
-
-}// put_pipe_aux
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_PUT_PIPE_CONTAINER_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/functor/keyword.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/functor/keyword.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/functor/keyword.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,27 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_PUT_PIPE_FUNCTOR_KEYWORD_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_PIPE_FUNCTOR_KEYWORD_ER_2010_HPP
-#include <boost/assign/v2/put/pipe/functor/container.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace{
-
-	put_pipe_aux::container<> const _put
-        = put_pipe_aux::container<>();
-
-}
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_PUT_PIPE_KEYWORD_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/functor/operator.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/functor/operator.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/functor/operator.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -9,10 +9,10 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_PUT_PIPE_FUNCTOR_OPERATOR_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_PIPE_FUNCTOR_OPERATOR_ER_2010_HPP
-#include <boost/assign/v2/put/pipe/pars/forward.hpp>
-#include <boost/assign/v2/put/pipe/functor/container.hpp>
+#include <boost/assign/v2/put/pipe/modulo/forward.hpp>
+#include <boost/assign/v2/put/pipe/functor/rhs.hpp>
 #include <boost/assign/v2/put/pipe/functor/forward.hpp>
-#include <boost/assign/v2/put/sub/functor.hpp>
+#include <boost/assign/v2/put/container/functor.hpp>
 
 namespace boost{
 namespace assign{
@@ -27,7 +27,7 @@
     >
     V& operator|(
         V& v,
-        put_pipe_aux::container<Pars, SeqArgs, enable_pars> const& c
+        put_pipe_aux::rhs<Pars, SeqArgs, enable_pars> const& c
     ){
         forward(
                 forward_pars<Pars>(
@@ -40,6 +40,11 @@
     }
 
 }// put_pipe_aux
+namespace{
+
+	put_pipe_aux::rhs<> const _put = put_pipe_aux::rhs<>();
+
+}
 }// v2
 }// assign
 }// boost
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/pars/forward.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/pars/forward.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/pars/forward.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -13,23 +13,25 @@
 #include <boost/mpl/at.hpp>
 #include <boost/mpl/int.hpp>
 #include <boost/mpl/size.hpp>
-#include <boost/assign/v2/put/generic/result_of_modulo.hpp>
+#include <boost/assign/v2/put/modulo.hpp>
 #include <boost/assign/v2/put/pipe/pars/size_type.hpp>
+#include <boost/assign/v2/ref/list/at.hpp>
 
 namespace boost{
 namespace assign{
 namespace v2{
 namespace put_pipe_aux{
+namespace result_of{
 
         template<pars_size_type N, typename Pars, typename T,
             bool exit = (N == ::boost::mpl::size<Pars>::value)>
-	struct result_of_forward_pars
+	struct forward_pars
     {
             typedef typename ::boost::mpl::at_c<Pars, N>::type at_;
         typedef result_of_modulo::generic_<T> meta_;
         typedef typename ::boost::mpl::apply1<meta_, at_>::type new_t_;
 
-        typedef result_of_forward_pars<N+1, Pars, new_t_> next_;
+        typedef forward_pars<N+1, Pars, new_t_> next_;
 
         typedef typename next_::type type;
 
@@ -37,16 +39,13 @@
         static type call(H const& h, T const& t)
         {
                 typedef ::boost::mpl::int_<N> int_;
-        	return next_::call(
-            	h,
-                t % h.static_lookup( int_() )
-            );
+        	return next_::call(h, t % ref::at<N>( h ) );
         }
 
     };
 
         template<pars_size_type N,typename Pars, typename T>
-	struct result_of_forward_pars<N, Pars, T, true>
+	struct forward_pars<N, Pars, T, true>
     {
 
                 typedef T type;
@@ -59,14 +58,16 @@
 
     };
 
+}// result_of
+
         template<typename Pars, typename T,typename C>
-    typename result_of_forward_pars<0, Pars, T>::type
+    typename result_of::forward_pars<0, Pars, T>::type
         forward_pars(
         T const& object,
         C const& c
         )
     {
-    	typedef result_of_forward_pars<0, Pars, T> caller_;
+    	typedef result_of::forward_pars<0, Pars, T> caller_;
         return caller_::call( c, object );
         }
 
@@ -74,7 +75,7 @@
 namespace result_of{
 
         template<typename T,typename Pars>
-    struct forward_pars : put_pipe_aux::result_of_forward_pars<
+    struct forward_pars : put_pipe_aux::result_of::forward_pars<
                 0,
         Pars,
         T
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/pars/size_type.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/pars/size_type.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/pars/size_type.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -9,15 +9,15 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_PUT_PIPE_PARS_SIZE_TYPE_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_PIPE_PARS_SIZE_TYPE_ER_2010_HPP
-#include <boost/assign/v2/ref/fusion/size_type.hpp>
+//#include <boost/assign/v2/ref/fusion/size_type.hpp>
+#include <boost/assign/v2/ref/list/size_type.hpp>
 
 namespace boost{
 namespace assign{
 namespace v2{
 namespace put_pipe_aux{
 
-	// pars are kept in a fusion_aux::container<>
-	typedef ref::fusion_aux::size_type pars_size_type;
+	typedef ref::list_aux::size_type pars_size_type;
     
 }// put_pipe_aux
 }// v2
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/range.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/range.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/range.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -10,8 +10,7 @@
 #ifndef BOOST_ASSIGN_V2_PUT_PIPE_RANGE_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_PIPE_RANGE_ER_2010_HPP
 #include <boost/type.hpp>
-#include <boost/range/algorithm/for_each.hpp>
-#include <boost/assign/v2/put/sub/functor.hpp>
+#include <boost/assign/v2/put/container/range.hpp>
 #include <boost/assign/v2/ref/wrapper/copy.hpp>
 
 namespace boost{
@@ -19,16 +18,16 @@
 namespace v2{
 namespace put_range_aux
 {
-    template<typename From>
-    class helper1 : ref::copy_wrapper<From const>::type
+    template<typename R>
+    class helper1 : ref::copy_wrapper<R const>::type
     {
-        typedef typename ref::copy_wrapper<From const>::type super_t;
+        typedef typename ref::copy_wrapper<R const>::type super_t;
 
         public:
 
-    	helper1(From const& from) : super_t(from){}
+    	helper1(R const& range) : super_t( range ){}
 
-        From const& from()const{ return this->get(); }
+        R const& range()const{ return this->get(); }
 
         private:
         helper1();
@@ -37,27 +36,24 @@
     struct helper2
     {
             helper2(){}
-        template<typename From>
-        helper1<From> operator()(const From& from)const
+        template<typename R>
+        helper1<R> operator()(const R& range)const
         {
-        	typedef helper1<From> result_;
-        	return result_( from );
+        	typedef helper1<R> result_;
+        	return result_( range );
         }
     };
 
-    template<typename To,typename From>
-    To& operator|(To& to, put_range_aux::helper1<From> const& h)
+    template<typename C,typename R>
+    C& operator|(C& cont, put_range_aux::helper1<R> const& h)
     {
-        ::boost::for_each( h.from(), put( to ) );
-        return to;
+        return put_range( cont, h.range() );
     }
 
-    template<typename To, typename From>
-    To operator|( ::boost::type<To>, put_range_aux::helper1<From> const& h)
+    template<typename C, typename R>
+    C operator|( ::boost::type<C>, put_range_aux::helper1<R> const& h)
     {
-		To to;
-        to | h;
-        return to;
+		return put_range<C>( h.range() );
     }
 
 }// put_range_aux
@@ -68,29 +64,4 @@
 }// assign
 }// boost
 
-#include <boost/assign/v2/detail/checking/fwd.hpp>
-
-// Must be preceded by
-// #include <boost/assign/v2/detail/checking/container.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace checking{
-namespace put_range{
-
-    template<typename To, typename From>
-    void do_check(From const& from)
-    {
-    	To to;
-        namespace ns = checking::container;
-        ns::do_check( to | _put_range( from ) );
-    }
-
-}// put_range
-}// checking
-}// v2
-}// assign
-}// boost
-
 #endif
Modified: sandbox/assign_v2/boost/assign/v2/put/sub/csv.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/sub/csv.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/sub/csv.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -89,7 +89,7 @@
 #undef MACRO1
 #undef MACRO2
 #endif
-		V& get()const{
+		V& container()const{
                 return static_cast<super1_t const&>(*this).get();
         }
 
Modified: sandbox/assign_v2/boost/assign/v2/put/sub/functor.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/sub/functor.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/sub/functor.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -24,7 +24,7 @@
 namespace result_of_modulo{
         
     template<typename V,typename F,typename Tag>
-    struct new_fun<put_aux::sub<V,F,Tag> >
+    struct new_fun<put_aux::sub<V, F, Tag> >
     {
 
             template<typename F1>
@@ -93,7 +93,7 @@
                 // when Tag or F is modified.
                 }
 
-		V& get()const{ 
+		V& container()const{ 
                 return static_cast<super1_t const&>(*this).get(); 
         }
 
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/alloc/instant.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/alloc/instant.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/alloc/instant.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -20,16 +20,15 @@
 namespace ref{
 namespace array_aux{ 
 
-    template<std::size_t N, typename Tag, typename T>
+//    template<size_type N, typename Tag, typename T>
+    template<size_type N, typename T>
     class instant_alloc : public array_aux::interface<
                 typename array_aux::impl_traits<N, T>::array_type,
-        instant_alloc<N, Tag, T> 
+//        instant_alloc<N, Tag, T> 
+      instant_alloc<N, T> 
 	>
     {
-		typedef typename array_aux::impl_traits<
-        	N, 
-            T
-        >::array_type impl_;
+		typedef typename array_aux::impl_traits<N, T>::array_type impl_;
                 
         public:
 
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/alloc/instant_fwd.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/alloc/instant_fwd.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/alloc/instant_fwd.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -9,6 +9,7 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_REF_ARRAY_ALLOC_INSTANT_FWD_ER_2010_HPP
 #define BOOST_ASSIGN_V2_REF_ARRAY_ALLOC_INSTANT_FWD_ER_2010_HPP
+#include <boost/assign/v2/ref/array/size_type.hpp>
  
 namespace boost{
 namespace assign{
@@ -18,7 +19,8 @@
         struct instant_alloc{};
 }// alloc_tag
 namespace array_aux{ 
-   template<std::size_t N, typename Tag, typename T> class instant_alloc;
+   // template<size_type N, typename Tag, typename T> class instant_alloc;
+   template<size_type N, typename T> class instant_alloc;
 }// array_aux   
 }// ref 
 }// v2    
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/alloc/lazy.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/alloc/lazy.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/alloc/lazy.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -22,16 +22,15 @@
 namespace ref{
 namespace array_aux{ 
                   
-   	template<std::size_t N,typename Tag, typename T, typename D>
+//   	template<std::size_t N,typename Tag, typename T, typename D>
+   	template<std::size_t N,typename T, typename D>
            class lazy_alloc : public array_aux::interface<
                    typename array_aux::impl_traits<N, T>::array_type, 
-        lazy_alloc<N,Tag,T,D> 
+//        lazy_alloc<N,Tag,T,D> 
+        lazy_alloc<N, T, D> 
 	>
     {
-		typedef typename array_aux::impl_traits<
-        	N, 
-            T
-        >::array_type impl_;
+		typedef typename array_aux::impl_traits<N, T>::array_type impl_;
 
                 typedef ::boost::mpl::int_<N> size_;
                 
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/alloc/lazy_fwd.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/alloc/lazy_fwd.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/alloc/lazy_fwd.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -9,6 +9,7 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_REF_ARRAY_ALLOC_LAZY_FWD_ER_2010_HPP
 #define BOOST_ASSIGN_V2_REF_ARRAY_ALLOC_LAZY_FWD_ER_2010_HPP
+#include <boost/assign/v2/ref/array/size_type.hpp> 
  
 namespace boost{
 namespace assign{
@@ -18,7 +19,8 @@
         struct lazy_alloc{};
 }// alloc_tag
 namespace array_aux{ 
-   template<std::size_t N, typename Tag, typename T, typename D>
+   template<size_type N, typename T, typename D>
+//   template<std::size_t N, typename Tag, typename T, typename D>
    class lazy_alloc;
 }// array_aux   
 }// ref 
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/csv/nth_result_of.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/csv/nth_result_of.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/csv/nth_result_of.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -29,7 +29,8 @@
     struct csv_array 
         {
         typedef ref::array_tag1_ tag1_;
-        typedef array_aux::instant_alloc<N, tag1_, T> type;
+//        typedef array_aux::instant_alloc<N, tag1_, T> type;
+        typedef array_aux::instant_alloc<N, T> type;
     };
 
 }// nth_result_of
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/functor.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/functor.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/functor.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -14,5 +14,8 @@
 #include <boost/assign/v2/ref/array/functor/nth_result_of.hpp>
 #include <boost/assign/v2/ref/array/functor/tag2.hpp>
 
+// Must remain commented out
+// #include <boost/assign/v2/ref/array/functor/converter.hpp>
+
 #endif
 
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/functor/make.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/functor/make.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/functor/make.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -9,10 +9,7 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_REF_ARRAY_FUNCTOR_MAKE_ER_2010_HPP
 #define BOOST_ASSIGN_V2_REF_ARRAY_FUNCTOR_MAKE_ER_2010_HPP
-#include <boost/assign/v2/ref/fusion/make.hpp>
-#include <boost/assign/v2/ref/fusion/assign_array.hpp>
 #include <boost/assign/v2/ref/array/functor/nth_result_of.hpp>
-#include <boost/assign/v2/ref/array/functor/tag2.hpp>
 #include <boost/assign/v2/ref/array/alloc/lazy.hpp>
 
 namespace boost{
@@ -35,9 +32,7 @@
     typename result_of::empty_array<T>::type
         array( keyword_aux::nil const& )
     {
-        typedef ref::array_tag1_ tag1_;
-        typedef array_aux::functor_tag2_ tag2_;
-    	return ref::fusion<tag1_, tag2_,T>( v2::_nil );
+		return ref::list<list_aux::array_tag>( v2::_nil );
     }
 
     template<typename T>
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/functor/nth_result_of.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/functor/nth_result_of.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/functor/nth_result_of.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -9,9 +9,10 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_REF_ARRAY_FUNCTOR_NTH_RESULT_OF_ER_2010_HPP
 #define BOOST_ASSIGN_V2_REF_ARRAY_FUNCTOR_NTH_RESULT_OF_ER_2010_HPP
-#include <boost/assign/v2/ref/fusion/nth_result_of.hpp>
-#include <boost/assign/v2/ref/array/functor/tag2.hpp>
-#include <boost/assign/v2/ref/array/tag1.hpp>
+#include <boost/assign/v2/ref/list/make.hpp>
+#include <boost/assign/v2/ref/list/container.hpp>
+#include <boost/assign/v2/ref/list/array.hpp>
+#include <boost/assign/v2/ref/array/size_type.hpp>
 
 namespace boost{
 namespace assign{
@@ -20,27 +21,22 @@
 namespace array_aux{
 
     template<typename T>
-    struct empty_array : fusion_aux::empty<
-    	array_tag1_,
-        array_aux::functor_tag2_,
-        T
-    >{};
-
-	template<std::size_t N, typename T>
+    struct empty_array : ref::empty_list<list_aux::array_tag>{};
+         
+	template<size_type N, typename T>
     struct recursive_result
     {
             typedef typename recursive_result<N-1, T>::type previous_;
-        typedef typename previous_::template result<T>::type type;
+        typedef typename previous_::template result<T&>::type type;
     };
 
         template<typename T>
-    struct recursive_result<0, T>
-    	: empty_array<T>{};
+    struct recursive_result<0, T> : empty_array<T>{};
 
 }// array_aux
 namespace nth_result_of{
 
-    template<std::size_t N, typename T>
+    template<array_aux::size_type N, typename T>
         struct array
             : array_aux::recursive_result<N, T>
     {};
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/functor/tag2.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/functor/tag2.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/functor/tag2.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,26 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_ARRAY_FUNCTOR_TAG2_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_ARRAY_FUNCTOR_TAG2_ER_2010_HPP
-#include <boost/assign/v2/ref/array/alloc/lazy_fwd.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace ref{
-namespace array_aux{
-	typedef ref::alloc_tag::lazy_alloc functor_tag2_;
-}// array_aux
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/array/impl_traits.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/array/impl_traits.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/array/impl_traits.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -11,6 +11,7 @@
 #define BOOST_ASSIGN_V2_REF_ARRAY_IMPL_TRAITS_ER_2010_HPP
 #include <boost/array.hpp>
 #include <boost/assign/v2/ref/wrapper.hpp>
+#include <boost/assign/v2/ref/array/size_type.hpp> 
  
 namespace boost{
 namespace assign{
@@ -18,7 +19,7 @@
 namespace ref{
 namespace array_aux{ 
 
-    template<std::size_t N, typename T, typename Tag = ref::assign_tag::copy>
+    template<size_type N, typename T, typename Tag = ref::assign_tag::copy>
     struct impl_traits
     {
         typedef T value_type;
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_array.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_array.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_array.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,84 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_ASSIGN_ARRAY_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_ASSIGN_ARRAY_ER_2010_HPP
-#include <boost/static_assert.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/assign/v2/ref/fusion/fwd.hpp>
-#include <boost/assign/v2/ref/fusion/size_type.hpp>
-
-namespace boost{
-	struct use_default;
-namespace assign{
-namespace v2{
-namespace ref{
-namespace fusion_aux{
-
-    // ---- assign_array ---- //
-
-    template<
-    	fusion_aux::size_type K,typename A,
-        fusion_aux::size_type N, typename L, typename Tag1, typename Tag2, typename T
-    >
-    void assign_array(
-    	::boost::mpl::true_ /*exit*/,
-    	A& a,
-        const fusion_aux::container<N, L, Tag1, Tag2, T>& f
-    )
-    {
-    	/*exit*/
-    }
-
-    template<
-    	fusion_aux::size_type K,typename A,
-        fusion_aux::size_type N, typename L, typename Tag1, typename Tag2,typename T
-    >
-    void assign_array(
-    	::boost::mpl::false_ /*exit*/,
-    	A& a,
-        const fusion_aux::container<N, L, Tag1, Tag2, T>& f
-    )
-    {
-        typedef ::boost::mpl::int_<K-1> index_;
-        a[ K - 1 ].rebind( f.static_lookup( index_() ) ) ;
-        typedef index_ next_size_;
-        typedef ::boost::mpl::int_<0> zero_;
-        typedef typename ::boost::mpl::equal_to<next_size_,zero_>::type exit_;
-        assign_array<K-1>( exit_(), a, f );
-    }
-
-	// A must be a static array of reference wrappers
-    template<typename A,fusion_aux::size_type N, typename L,
-    	typename Tag1, typename Tag2, typename T>
-    void assign_array(
-    	A& a,
-        fusion_aux::container<N, L, Tag1, Tag2, T> const & f
-    )
-    {
-    	// don't replace by size_::value <= N (causes warning)
-    	BOOST_STATIC_ASSERT( A::static_size <= N );
-        typedef ::boost::mpl::int_<0> zero_;
-        typedef ::boost::mpl::int_<A::static_size> size_;
-        typedef typename ::boost::mpl::equal_to<size_, zero_>::type exit_;
-        fusion_aux::assign_array<size_::value>( exit_(), a, f );
-    }
-
-}// fusion_aux
-
-using fusion_aux::assign_array;
-
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_copy.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_copy.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_copy.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,17 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_ASSIGN_COPY_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_ASSIGN_COPY_ER_2010_HPP
-#include <boost/assign/v2/ref/wrapper/copy.hpp>
-#include <boost/assign/v2/ref/fusion/assign_xxx.hpp>
-
-BOOST_ASSIGN_V2_REF_FUSION_ASSIGN_XXX(assign_copy, assign_tag::copy)
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_xxx.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_xxx.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_xxx.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,44 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_ASSIGN_XXX
-#include <boost/assign/v2/detail/keyword/nil.hpp>
-#include <boost/assign/v2/ref/fusion/make.hpp>
-#include <boost/assign/v2/ref/fusion/nth_result_of.hpp>
-#include <boost/assign/v2/ref/fusion/nil_arg.hpp>
-#define BOOST_ASSIGN_V2_REF_FUSION_ASSIGN_XXX(NS, Tag1) \
- \
-namespace boost{ \
-namespace assign{ \
-namespace v2{ \
-namespace ref{ \
-namespace NS{ \
-namespace nth_result_of{ \
-    template<typename Tag2, typename Tnil = fusion_aux::nil_arg_type> \
-	struct fusion : ref::nth_result_of::fusion<Tag1, Tag2, Tnil>{}; \
-} \
-	template<typename Tag2> \
-    typename ref::result_of::fusion_nil< \
-    	Tag1, \
-        Tag2, \
-        fusion_aux::nil_arg_type \
-    >::type \
-	fusion( keyword_aux::nil const& ) \
-    { \
-    	return ref::fusion<Tag1, Tag2>( v2::_nil ); \
-    } \
-\
-} \
-} \
-} \
-} \
-} \
-/**/
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/container.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/container.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,163 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_CONTAINER_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_CONTAINER_ER_2010_HPP
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/minus.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/config.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/assign/v2/ref/wrapper/framework.hpp>
-#include <boost/assign/v2/ref/wrapper/copy.hpp>
-#include <boost/assign/v2/ref/fusion/policy.hpp>
-#include <boost/assign/v2/ref/fusion/link_holder.hpp>
-#include <boost/assign/v2/ref/fusion/head_holder.hpp>
-#include <boost/assign/v2/ref/fusion/fwd.hpp> // consistency
-
-
-namespace boost{
-	struct use_default;
-namespace assign{
-namespace v2{
-namespace ref{
-namespace fusion_aux{
-
-    template<fusion_aux::size_type N, 
-    	typename L, typename Tag1, typename Tag2, typename T>
-	struct interface : ::boost::mpl::apply4<
-        fusion_aux::policy<Tag2>,
-        ::boost::mpl::int_<N>, L, Tag1, T
-    >{};
-
-    template<fusion_aux::size_type N, typename L, 
-        typename Tag1, typename Tag2, typename T>
-    class container 
-    	: public fusion_aux::link_holder<L, N == 0>,
-        public fusion_aux::head_holder<Tag1, T, N == 0>,	
-        public fusion_aux::interface<N, L, Tag1, Tag2, T>::type
-    {
-
-    	typedef ::boost::mpl::int_<0> int0_;
-        typedef ::boost::mpl::int_<1> int1_;
-        typedef ::boost::mpl::int_<N> size_;
-        typedef typename ::boost::mpl::minus<size_,int1_>::type index_;
-        typedef Tag1 assign_tag_;
-
-		typedef typename fusion_aux::interface<
-        	N, 
-            L, 
-            Tag1, 
-            Tag2, 
-            T
-        >::type super_t;
-
-		typedef fusion_aux::link_holder<L, size_::value == 0> link_;
-		typedef fusion_aux::head_holder<Tag1, T, size_::value == 0> head_;
-
-        public:
-
-		// -- used by most_const -- //
-		typedef T head_value_type;
-        typedef L link_value_type;
-        typedef fusion_aux::size_type size_type;
-
-        BOOST_STATIC_CONSTANT(size_type, static_size = N);
-        typedef typename ::boost::mpl::equal_to<size_,int0_>::type is_empty_;
-
-        explicit container(){}
-        explicit container(const L& l, T& h)
-            : link_( l ),
-            head_( h )
-        {}
-
-        template<typename NewL, typename NewTag2, typename U>
-        explicit container(const container<N, NewL, Tag1, NewTag2, U>& that)
-            :link_( that ), 
-            head_( that ),
-            super_t( that ){}
-
-        // ------ operator() ----- //
-		//     adds an element	   //
-        // ----------------------- //
-
-        template<typename T1>
-        struct result{
-            typedef container this_;
-            typedef container<N+1, this_, Tag1, Tag2, T1> type;
-        };
-
-        template<typename T1>
-        typename result<T1>::type
-        operator()(T1& t)const{
-        	typedef typename result<T1>::type result_;
-        	return result_( *this, t );
-        }
-
-        template<typename T1>
-        typename result<T1 const>::type
-        operator()(T1 const& t)const{
-        	typedef typename result<T1 const>::type result_;
-        	return result_( *this, t );
-        }
-
-        // ---- static_lookup ---- //
-
-        template<size_type I>
-        struct is_head : ::boost::mpl::bool_< I + 1 == N >{};
-
-        template<size_type I>
-        struct link_result_static_lookup : L::template 
-        	result_static_lookup<I>{};
-
-        template<size_type I>
-		struct result_static_lookup : ::boost::mpl::eval_if<
-        	is_head<I>,
-            ::boost::mpl::identity<T&>,
-            link_result_static_lookup<I>
-        >{};
-
-		// A template is needed even as the argument is known, to prevent
-        // compiler errors for N = 0.
-        template<size_type I>
-        typename boost::lazy_enable_if<
-        	is_head<I>,
-        	result_static_lookup<I>
-        >::type
-        static_lookup(boost::mpl::int_<I> same_index)const
-        {
-        	return this->head.get(); 
-        }
-
-        template<size_type I>
-        typename boost::lazy_disable_if<
-        	is_head<I>,
-        	result_static_lookup<I>
-        >::type
-        static_lookup(boost::mpl::int_<I> smaller_index)const
-        {
-        	return this->link().static_lookup( smaller_index );
-        }
-
-    };
-
-}// fusion_aux
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/fwd.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/fwd.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/fwd.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,37 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_FWD_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_FWD_ER_2010_HPP
-#include <boost/assign/v2/ref/fusion/size_type.hpp>
-
-namespace boost{
-namespace assign{ 
-namespace v2{
-namespace ref{
-namespace fusion_aux{
-
-    template<fusion_aux::size_type N, typename L, 
-    	typename Tag1, typename Tag2, typename T>
-    class container;
-    
-    template<typename A, fusion_aux::size_type N, typename L, 
-    	typename Tag1, typename Tag2, typename T>
-    void assign_array(
-    	A& a, 
-        fusion_aux::container<N, L, Tag1, Tag2, T> const & f
-    );
-
-}// fusion_aux
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/head_holder.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/head_holder.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/head_holder.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,66 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_HEAD_HOLDER_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_HEAD_HOLDER_ER_2010_HPP
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/assign/v2/ref/wrapper/framework.hpp>
-#include <boost/assign/v2/ref/wrapper/copy.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace ref{
-namespace fusion_aux{
-
-	template<typename Tag,typename T, bool is_empty = false>
-	class head_holder{
-    
-		typedef ref::wrapper<Tag, T> wrapper_;
-        
-        public:
-
-		typedef T head_value_type;
-        
-        head_holder(){}
-        head_holder( T& h ) : head( h ){}
-        
-        mutable wrapper_ head;
-        
-    	T& back()const
-        {
-        	return this->head.get();
-        }
-        
-    };
-
-	template<typename Tag, typename T>
-	class head_holder<Tag, T, true>{
-    
-    	//head_holder(){}
-    
-    	public:
-    
-    	typedef ::boost::mpl::void_ head_value_type;
-    
-    	head_value_type back()const
-        {
-        	return head_value_type();
-        }
-    
-    };
-
-}// fusion_aux
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/link_holder.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/link_holder.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/link_holder.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,65 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_LINK_HOLDER_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_LINK_HOLDER_ER_2010_HPP
-#include <boost/mpl/int.hpp>
-#include <boost/assign/v2/ref/wrapper/framework.hpp>
-#include <boost/assign/v2/ref/wrapper/copy.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace ref{
-namespace fusion_aux{
-
-	template<typename L, bool is_empty = false>
-	class link_holder{
-
-		typedef ref::assign_tag::copy tag_;
-		typedef ref::wrapper<tag_, const L> wrapper_;
-
-        public:
-
-        //link_holder();
-        explicit link_holder( const L& l) : value( l ){}
-
-    	wrapper_ pop()const
-        {
-        	// Warning : probably inefficient
-        	return this->value;
-        }
-
-        typedef typename wrapper_::unwrap_type link_type;
-        link_type link()const
-        {
-            return this->value.get();
-        }
-
-        protected:
-        mutable wrapper_ value;
-
-    };
-
-	template<typename L>
-	class link_holder<L,true>{
-
-    	//link_holder(){}
-
-    	void pop()const{}
-
-    };
-
-}// fusion_aux
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/make.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/make.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/make.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,66 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_MAKE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_MAKE_ER_2010_HPP
-#include <boost/mpl/vector/vector0.hpp>
-#include <boost/assign/v2/detail/keyword/nil.hpp>
-#include <boost/assign/v2/ref/fusion/container.hpp> 
-#include <boost/assign/v2/ref/fusion/nth_result_of.hpp> 
-
-namespace boost{
-	struct use_default;
-namespace assign{
-namespace v2{
-namespace ref{
-namespace result_of{
-
-	template<typename Tag1,typename Tag2,typename Tnil>
-    struct fusion_nil : ::boost::mpl::apply1< 
-        nth_result_of::fusion<Tag1, Tag2, Tnil>,
-        ::boost::mpl::vector0<>
-    >{};
-    
-}// result_of
-
-	template<typename Tag1, typename Tag2, typename Tnil>
-    typename result_of::fusion_nil<Tag1, Tag2, Tnil>::type
-    fusion( keyword_aux::nil )
-    {
-    	typedef typename result_of::fusion_nil<
-            Tag1,
-            Tag2,
-        	Tnil
-        >::type result_;
-    	return result_();
-    }
-
-	template<typename Tag1, typename Tag2>
-    typename result_of::fusion_nil<
-    	Tag1, 
-        Tag2, 
-        fusion_aux::nil_arg_type
-    >::type
-	fusion( keyword_aux::nil )
-    {
-    	typedef fusion_aux::nil_arg_type nil_arg_;
-    	typedef typename result_of::fusion_nil<
-            Tag1,
-            Tag2,
-        	nil_arg_
-        >::type result_;
-    	return result_();
-    }
-     
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/most_const.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/most_const.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/most_const.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,56 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_MOST_CONST_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_MOST_CONST_ER_2010_HPP
-#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/assign/v2/detail/traits/type/same_remove_cv.hpp>
-#include <boost/assign/v2/ref/fusion/fwd.hpp>
-#include <boost/assign/v2/ref/fusion/root.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace ref{
-namespace fusion_aux{
-
-	// {U1,...,Un} is mapped to {T if Ui = T for all i, else T const}, if  
-    //	remove_cv<Ui>::type != remove_cv<Uj>::type 
-    // for some i,j, otherwise the mapping is undefined.
-	template<typename L,typename T>
-    struct most_const : boost::lazy_enable_if<
-        v2::type_traits::same_remove_cv<typename L::head_value_type, T>,
-    	boost::mpl::eval_if<
-    		boost::is_const<T>,
-        	boost::mpl::identity<T>,
-        	most_const<
-    			typename L::link_value_type,
-    			typename L::head_value_type
-        	>
-    	>
-    >
-    {};
-    
-	template<typename T>
-    struct most_const<
-    	fusion_aux::root_type,
-        T
-    >{ 
-    	typedef T type; 
-    };
-
-}// fusion_aux
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/nil_arg.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/nil_arg.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/nil_arg.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,28 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_NIL_ARG_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_NIL_ARG_ER_2010_HPP
-#include <boost/mpl/void.hpp>
-
-namespace boost{
-namespace assign{ 
-namespace v2{
-namespace ref{
-namespace fusion_aux{
-
-	typedef ::boost::mpl::void_ nil_arg_type;
-
-}// fusion_aux
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/nth_result_of.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/nth_result_of.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/nth_result_of.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,78 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_NTH_RESULT_OF_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_NTH_RESULT_OF_ER_2010_HPP
-#include <boost/mpl/vector.hpp> // for the user
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/assign/v2/ref/fusion/container.hpp>
-#include <boost/assign/v2/ref/fusion/root.hpp>
-#include <boost/assign/v2/ref/fusion/nil_arg.hpp>
-
-namespace boost{
-	struct use_default;
-namespace assign{
-namespace v2{
-namespace ref{
-namespace fusion_aux{
-
-	template<typename Tag1, typename Tag2, typename Tnil>
-    struct empty
-    {
-        typedef fusion_aux::container<
-        	0,
-            typename fusion_aux::root_type,
-            Tag1,
-            Tag2, 
-            Tnil
-        > type;
-    };
-
-    template<typename Tag1, typename Tag2, typename Tnil>
-	struct nth_result
-    {
-
-		typedef typename
-        	fusion_aux::empty<Tag1, Tag2, Tnil>::type state_;
-
-		template<typename State, typename T>
-        struct result : State::template result<T>{};
-
-		template<typename Vec>
-    	struct apply : ::boost::mpl::fold<
-        	Vec,
-            state_,
-            result<boost::mpl::_1, ::boost::mpl::_2>
-        >{};
-
-	};
-
-}// fusion_aux
-namespace nth_result_of{
-
-	template<
-    	typename Tag1, typename Tag2, typename Tnil = fusion_aux::nil_arg_type
-    >
-	struct fusion
-    {
-        template<typename Vec>
-        struct apply : ::boost::mpl::apply1<
-        	fusion_aux::nth_result<Tag1, Tag2, Tnil>,
-        	Vec
-        >{};
-	};
-
-}// nth_result_of
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/policy.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/policy.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/policy.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,64 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_POLICY_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_POLICY_ER_2010_HPP
-#include <boost/mpl/empty_base.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/assign/v2/ref/array/alloc/lazy.hpp>
-#include <boost/assign/v2/ref/fusion/fwd.hpp>
-#include <boost/assign/v2/ref/fusion/most_const.hpp>
-
-namespace boost{
-	struct use_default;
-namespace assign{
-namespace v2{
-namespace ref{
-namespace fusion_aux{
-
-	template<typename Tag2>
-    struct policy{};
-
-	template<>
-    struct policy<boost::use_default> : ::boost::mpl::always<
-    	boost::mpl::empty_base
-    >{};
-
-    template<>
-    struct policy<alloc_tag::lazy_alloc>
-    {
-    	template<typename N,typename L,typename Tag1,typename T>
-    	struct apply
-        {
-        	typedef alloc_tag::lazy_alloc tag2_;
-            typedef typename fusion_aux::most_const<L, T>::type most_c_;
-    		typedef fusion_aux::container<
-            	N::value, 
-                L, 
-                Tag1, 
-                tag2_, 
-                T
-            > derived_;
-        	typedef array_aux::lazy_alloc<
-            	N::value,
-                Tag1, 
-                most_c_, 
-                derived_
-            > type;
-        };
-
-	}; 
-
-}// fusion_aux
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/root.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/root.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/root.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,28 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_ROOT_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_ROOT_ER_2010_HPP
-#include <boost/mpl/void.hpp>
-
-namespace boost{
-namespace assign{ 
-namespace v2{
-namespace ref{
-namespace fusion_aux{
-
-	typedef ::boost::mpl::void_ root_type;
-
-}// fusion_aux
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/ref/fusion/size_type.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/fusion/size_type.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/fusion/size_type.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -1,27 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-//  Boost.Assign v2                                                         //
-//                                                                          //
-//  Copyright (C) 2003-2004 Thorsten Ottosen                                //
-//  Copyright (C) 2010 Erwann Rogard                                        //
-//  Use, modification and distribution are subject to the                   //
-//  Boost Software License, Version 1.0. (See accompanying file             //
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)        //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_REF_FUSION_SIZE_TYPE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_REF_FUSION_SIZE_TYPE_ER_2010_HPP
-
-namespace boost{
-namespace assign{ 
-namespace v2{
-namespace ref{
-namespace fusion_aux{
-
-	typedef int size_type;
-
-}// fusion_aux
-}// ref
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
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-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -45,7 +45,7 @@
             }
 
         // TODO a) crtp b) reference() or get()
-        typedef T& unwrap_type;
+        typedef T& get_type;
         T& get() const
         {
             return *this->ref_;
Modified: sandbox/assign_v2/boost/assign/v2/utility/convert/converter.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/utility/convert/converter.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/utility/convert/converter.hpp	2011-01-27 18:37:06 EST (Thu, 27 Jan 2011)
@@ -63,4 +63,39 @@
 }// assign
 }// boost
 
+// Define name lookup for name
+// namespace ns{
+// 	template<typename A, typename B, typename C> cont;
+// }
+// is done by expanding this macro:
+// #define SEQ (A)(B)(C) 
+// namespace ns{
+// 	BOOST_ASSIGN_V2_CONVERTER( cont<A,B,C>, SEQ )
+// }
+// 
+
+#include <boost/preprocessor/seq/enum.hpp>
+#include <boost/preprocessor/seq/transform.hpp>
+
+#ifndef BOOST_ASSIGN_V2_CONVERTER_OP
+#define BOOST_ASSIGN_V2_CONVERTER_OP(s, data, T) typename T
+#endif
+#ifndef BOOST_ASSIGN_V2_CONVERTER
+#define BOOST_ASSIGN_V2_CONVERTER(U, Seq)\
+	template<BOOST_PP_SEQ_ENUM(\
+    	BOOST_PP_SEQ_TRANSFORM(\
+        	BOOST_ASSIGN_V2_CONVERTER_OP,\
+            ~,\
+            Seq\
+        )\
+    )>\
+    ::boost::assign::v2::convert_aux::converter< U > \
+	converter( U const& cont)\
+    {\
+    	typedef convert_aux::converter< U > result_; \
+    	return result_( cont );\
+    }\
+/**/    
+#endif
+
 #endif