$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r68331 - in sandbox/assign_v2: boost/assign/v2/put/deque boost/assign/v2/put/generic boost/assign/v2/put/pipe boost/assign/v2/put/pipe/csv boost/assign/v2/put/pipe/functor boost/assign/v2/put/pipe/functor/cpp03 boost/assign/v2/put/pipe/functor/cpp0x boost/assign/v2/put/sub boost/assign/v2/ref/fusion boost/assign/v2/ref/list_tuple boost/assign/v2/ref/list_tuple/cpp03 boost/assign/v2/ref/list_tuple/cpp0x boost/assign/v2/utility/convert libs/assign/v2/test/put/pipe
From: erwann.rogard_at_[hidden]
Date: 2011-01-20 20:10:12
Author: e_r
Date: 2011-01-20 20:10:04 EST (Thu, 20 Jan 2011)
New Revision: 68331
URL: http://svn.boost.org/trac/boost/changeset/68331
Log:
assign_v2
Text files modified: 
   sandbox/assign_v2/boost/assign/v2/put/deque/cont.hpp                 |     4 -                                       
   sandbox/assign_v2/boost/assign/v2/put/deque/functor.hpp              |     1                                         
   sandbox/assign_v2/boost/assign/v2/put/generic/base.hpp               |     2                                         
   sandbox/assign_v2/boost/assign/v2/put/generic/crtp.hpp               |     6 +-                                      
   sandbox/assign_v2/boost/assign/v2/put/generic/result_of_modulo.hpp   |    12 -----                                   
   sandbox/assign_v2/boost/assign/v2/put/pipe/csv/forward.hpp           |    11 +++-                                    
   sandbox/assign_v2/boost/assign/v2/put/pipe/csv/operator.hpp          |     5 +                                       
   sandbox/assign_v2/boost/assign/v2/put/pipe/forward_pars.hpp          |    88 --------------------------------------- 
   sandbox/assign_v2/boost/assign/v2/put/pipe/functor/container.hpp     |     7 +-                                      
   sandbox/assign_v2/boost/assign/v2/put/pipe/functor/cpp03/forward.hpp |    12 +++-                                    
   sandbox/assign_v2/boost/assign/v2/put/pipe/functor/cpp0x/forward.hpp |     9 ++-                                     
   sandbox/assign_v2/boost/assign/v2/put/pipe/functor/operator.hpp      |     2                                         
   sandbox/assign_v2/boost/assign/v2/put/pipe/range.hpp                 |    14 ++----                                  
   sandbox/assign_v2/boost/assign/v2/put/sub/csv.hpp                    |     8 --                                      
   sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_array.hpp        |    11 ++--                                    
   sandbox/assign_v2/boost/assign/v2/ref/fusion/assign_xxx.hpp          |     1                                         
   sandbox/assign_v2/boost/assign/v2/ref/fusion/container.hpp           |     1                                         
   sandbox/assign_v2/boost/assign/v2/ref/fusion/fwd.hpp                 |     2                                         
   sandbox/assign_v2/boost/assign/v2/ref/fusion/make.hpp                |     5 --                                      
   sandbox/assign_v2/boost/assign/v2/ref/fusion/nil_arg.hpp             |     1                                         
   sandbox/assign_v2/boost/assign/v2/ref/fusion/nth_result_of.hpp       |     8 --                                      
   sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp03/container.hpp |    18 ++++---                                 
   sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp0x/container.hpp |    15 ++++--                                  
   sandbox/assign_v2/boost/assign/v2/ref/list_tuple/extraction.hpp      |    14 +++--                                   
   sandbox/assign_v2/boost/assign/v2/utility/convert/dispatch.hpp       |    22 +++++-----                              
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/forward_pars.cpp      |     2                                         
   26 files changed, 93 insertions(+), 188 deletions(-)
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -10,13 +10,11 @@
 #ifndef BOOST_ASSIGN_V2_PUT_DEQUE_CONT_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_DEQUE_CONT_ER_2010_HPP
 #include <deque>
-#include <boost/range/iterator.hpp>
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
+#include <boost/range/iterator.hpp>
 #include <boost/range/size.hpp>
 #include <boost/range/size_type.hpp>
-#include <boost/range/iterator_range.hpp> //iterator_range_detail::
-#include <boost/assign/v2/put.hpp>
 #include <boost/assign/v2/put/generic/result_of_modulo.hpp>
 #include <boost/assign/v2/put/generic/crtp.hpp>
 #include <boost/assign/v2/put/deque/fwd.hpp>
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -14,6 +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>
 
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
 #include <utility>
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -18,7 +18,7 @@
         struct put_base{
     
             // This base is needed to be able to distinguish objects that serves as
-        // parameter buffers for a later use, and those, that actually need to
+        // parameter buffers for a later use, and those that actually need to
         // be modified by a parameter. The latter must inherit publicly from
         // put_base.
         };
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -21,11 +21,11 @@
 #include <boost/assign/v2/detail/pp/forward.hpp>
 
 #include <boost/assign/v2/put/modifier.hpp>
-#include <boost/assign/v2/put/generic/result_of_modulo.hpp>
-#include <boost/assign/v2/put/generic/expose_modifier.hpp>
-#include <boost/assign/v2/put/generic/expose_fun.hpp>
 #include <boost/assign/v2/put/generic/base.hpp>
 #include <boost/assign/v2/put/generic/concept_modifier.hpp>
+#include <boost/assign/v2/put/generic/expose_modifier.hpp>
+#include <boost/assign/v2/put/generic/expose_fun.hpp>
+#include <boost/assign/v2/put/generic/result_of_modulo.hpp>
 
 #include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -60,23 +60,13 @@
         {
                 static T t;
             static P p;
-            typedef BOOST_TYPEOF_TPL( t % p ) type; // TODO workaround MSVC
+            typedef BOOST_TYPEOF_TPL( t % p ) type;
         };
     
     };
     
     
 }// result_of_modulo
-
-/*
-        struct deduce
-        {
-            typedef functor_aux::deduce_constructor<V> caller_;
-            typedef typename caller_::type cons_;
-            typedef typename Traits::template new_fun<cons_>::type type;
-        };
-*/
-
 }// v2
 }// assign
 }// boost
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -7,16 +7,18 @@
 //  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_ADAPTOR_CSV_FORWARD_ER_2010_HPP
-#define BOOST_ASSIGN_V2_ADAPTOR_CSV_FORWARD_ER_2010_HPP
+#ifndef BOOST_ASSIGN_V2_PUT_PIPE_CSV_FORWARD_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_PIPE_CSV_FORWARD_ER_2010_HPP
 #include <boost/utility/enable_if.hpp>
+#include <boost/assign/v2/put/pipe/csv/size_type.hpp>
 
 namespace boost{
 namespace assign{
 namespace v2{
 namespace put_pipe_aux{
 
-    template<std::size_t N, std::size_t I, typename F, typename C>
+    template<put_pipe_aux::csv_size_type N, 
+    	put_pipe_aux::csv_size_type I, typename F, typename C>
     typename boost::enable_if_c<
         N == I
     >::type
@@ -26,7 +28,8 @@
     )
     {}
 
-    template<std::size_t N, std::size_t I, typename F, typename C>
+    template<put_pipe_aux::csv_size_type N, 
+    	put_pipe_aux::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/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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -9,7 +9,7 @@
 //////////////////////////////////////////////////////////////////////////////
 #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/forward_pars.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/csv/forward.hpp>
 #include <boost/assign/v2/put/sub/csv.hpp>
@@ -19,7 +19,8 @@
 namespace v2{
 namespace put_pipe_aux{
 
-    template<typename V, typename Pars, int N, typename U>
+    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
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/forward_pars.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/forward_pars.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/forward_pars.hpp	2011-01-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -1,87 +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_FORWARD_PARS_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_PIPE_FORWARD_PARS_ER_2010_HPP
-#include <boost/mpl/apply.hpp>
-#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>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace put_pipe_aux{
-
-	template<std::size_t N, typename Pars, typename T,
-    	bool exit = (N == ::boost::mpl::size<Pars>::value)>
-	struct result_of_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 typename next_::type type;
-
-        template<typename H>
-        static type call(H const& h, T const& t)
-        {
-        	typedef ::boost::mpl::int_<N> int_;
-        	return next_::call(
-            	h,
-                t % h.static_lookup( int_() )
-            );
-        }
-
-    };
-
-	template<std::size_t N,typename Pars, typename T>
-	struct result_of_forward_pars<N, Pars, T, true>
-    {
-
-		typedef T type;
-
-        template<typename H>
-        static type call(H const& h, T const& t)
-        {
-        	return t;
-        }
-
-    };
-
-	template<typename Pars, typename T,typename C>
-    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_;
-        return caller_::call( c, object );
-	}
-
-}// put_pipe_aux
-namespace result_of{
-
-	template<typename T,typename Pars>
-    struct forward_pars : put_pipe_aux::result_of_forward_pars<
-		0,
-        Pars,
-        T
-    >{};
-
-}// result_of
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -13,11 +13,10 @@
 #include <boost/mpl/size.hpp>
 #include <boost/mpl/push_back.hpp>
 #include <boost/mpl/apply.hpp>
-#include <boost/mpl/unpack_args.hpp>
 
-#include <boost/assign/v2/ref/wrapper/copy.hpp>
-#include <boost/assign/v2/ref/fusion.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
@@ -113,7 +112,7 @@
         public:
 
                 BOOST_STATIC_CONSTANT(
-        	std::size_t,
+        	pars_size_type,
                 static_pars_size = ::boost::mpl::size<Pars>::value
         );
 
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/functor/cpp03/forward.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/functor/cpp03/forward.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/functor/cpp03/forward.hpp	2011-01-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -12,10 +12,11 @@
 #include <boost/preprocessor/repetition.hpp>
 #include <boost/preprocessor/arithmetic/inc.hpp>
 #include <boost/mpl/int.hpp>
+#include <boost/tuple/tuple.hpp>
 #include <boost/assign/v2/ref/wrapper/copy.hpp>
 #include <boost/assign/v2/ref/list_tuple.hpp>
 #include <boost/assign/v2/detail/config/limit_arity.hpp>
-#include <boost/tuple/tuple.hpp>
+#include <boost/assign/v2/put/pipe/functor/size_type.hpp>
 
 namespace boost{
 namespace assign{
@@ -48,7 +49,7 @@
 
     template<
         typename F,
-        int N, typename L, params(typename T)
+        put_pipe_aux::size_type N, typename L, params(typename T)
     >
     void forward(
         F const& f ,
@@ -59,7 +60,9 @@
 
     template<
         typename F,
-        int I, int N, typename L, params(typename T)
+        put_pipe_aux::size_type I, 
+        put_pipe_aux::size_type N, 
+        typename L, params(typename T)
     >
     void forward(
         F const& f ,
@@ -88,7 +91,8 @@
         > const& list
     ){}
 
-    template<typename F, int N, typename L, params(typename T)>
+    template<typename F, 
+    	put_pipe_aux::size_type N, typename L, params(typename T)>
     void forward(
         F const& f,
         ref::list_tuple_aux::container<N, L, params(T)> const& list
Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/functor/cpp0x/forward.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/functor/cpp0x/forward.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/functor/cpp0x/forward.hpp	2011-01-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -13,6 +13,7 @@
 #include <boost/assign/v2/ref/tuple/cpp0x.hpp>
 #include <boost/assign/v2/ref/list_tuple.hpp>
 #include <boost/assign/v2/temporary/variadic_args_to_indices.hpp>
+#include <boost/assign/v2/put/pipe/functor/size_type.hpp>
 
 namespace boost{
 namespace assign{
@@ -48,7 +49,7 @@
 
     template<
         typename F,
-        int N, typename L, typename...Args
+        put_pipe_aux::size_type N, typename L, typename...Args
     >
     void forward(
         F const& f ,
@@ -59,7 +60,8 @@
 
     template<
         typename F,
-        int I, int N, typename L, typename...Args
+        put_pipe_aux::size_type I, 
+        put_pipe_aux::size_type N, typename L, typename...Args
     >
     void forward(
         F const& f ,
@@ -85,7 +87,8 @@
         ref::list_tuple_aux::container<0, L> const& list
     ){}
 
-    template<typename F, int N, typename L, typename...Args>
+    template<typename F, 
+    	put_pipe_aux::size_type N, typename L, typename...Args>
     void forward(
         F const& f,
         ref::list_tuple_aux::container<N, L, Args...> const& list
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -9,7 +9,7 @@
 //////////////////////////////////////////////////////////////////////////////
 #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/forward_pars.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/functor/forward.hpp>
 #include <boost/assign/v2/put/sub/functor.hpp>
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -20,9 +20,9 @@
 namespace put_range_aux
 {
     template<typename From>
-    class helper1 : ref::wrapper<ref::assign_tag::copy, From const>
+    class helper1 : ref::copy_wrapper<From const>::type
     {
-        typedef ref::wrapper<ref::assign_tag::copy, From const> super_t;
+        typedef typename ref::copy_wrapper<From const>::type super_t;
 
         public:
 
@@ -45,10 +45,6 @@
         }
     };
 
-    // This decl must come first, it seems.
-    template<typename To, typename From>
-    To operator|(::boost::type<To>, put_range_aux::helper1<From> const& h);
-
     template<typename To,typename From>
     To& operator|(To& to, put_range_aux::helper1<From> const& h)
     {
@@ -57,7 +53,7 @@
     }
 
     template<typename To, typename From>
-    To operator|(::boost::type<To>, put_range_aux::helper1<From> const& h)
+    To operator|( ::boost::type<To>, put_range_aux::helper1<From> const& h)
     {
                 To to;
         to | h;
@@ -65,9 +61,9 @@
     }
 
 }// put_range_aux
-
+namespace{
     put_range_aux::helper2 const _put_range = put_range_aux::helper2();
-
+}
 }// v2
 }// assign
 }// boost
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -28,16 +28,12 @@
 
     template<typename V>
     class sub
-    	: protected ref::wrapper<
-        	ref::assign_tag::copy,
-            V
-        >
+    	: protected ref::copy_wrapper<V>::type
     {
 
                 protected:
 
-		typedef ref::assign_tag::copy assign_tag_;
-		typedef ref::wrapper<assign_tag_,V> super1_t;
+		typedef typename ref::copy_wrapper<V>::type super1_t;
 
                 typedef typename v2::container_traits::value<
             V
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -14,6 +14,7 @@
 #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;
@@ -25,8 +26,8 @@
     // ---- assign_array ---- //
 
     template<
-    	std::size_t K,typename A,
-        std::size_t N, typename L, typename Tag1, typename Tag2, typename T
+    	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*/,
@@ -38,8 +39,8 @@
     }
 
     template<
-    	std::size_t K,typename A,
-        std::size_t N, typename L, typename Tag1, typename Tag2,typename T
+    	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*/,
@@ -56,7 +57,7 @@
     }
 
         // A must be a static array of reference wrappers
-    template<typename A,std::size_t N, typename L,
+    template<typename A,fusion_aux::size_type N, typename L,
             typename Tag1, typename Tag2, typename T>
     void assign_array(
             A& a,
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -11,6 +11,7 @@
 #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{ \
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -28,6 +28,7 @@
 #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{
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -18,7 +18,7 @@
 namespace fusion_aux{
 
     template<fusion_aux::size_type N, typename L, 
-    	typename Tag1,typename Tag2, typename T>
+    	typename Tag1, typename Tag2, typename T>
     class container;
     
     template<typename A, fusion_aux::size_type N, typename L, 
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -9,12 +9,7 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_REF_FUSION_MAKE_ER_2010_HPP
 #define BOOST_ASSIGN_V2_REF_FUSION_MAKE_ER_2010_HPP
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
 #include <boost/mpl/vector/vector0.hpp>
-#include <boost/mpl/vector/vector10.hpp>
-#include <boost/type_traits/is_same.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> 
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -10,7 +10,6 @@
 #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>
-//#include <boost/mpl/aux_/na.hpp> // TODO
 
 namespace boost{
 namespace assign{ 
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-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -9,14 +9,10 @@
 //////////////////////////////////////////////////////////////////////////////
 #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/void.hpp>
-#include <boost/mpl/vector.hpp>
+#include <boost/mpl/vector.hpp> // for the user
 #include <boost/mpl/fold.hpp>
 #include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/assign/v2/ref/fusion/fwd.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>
 
Modified: sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp03/container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp03/container.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp03/container.hpp	2011-01-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -29,6 +29,7 @@
 #include <boost/assign/v2/detail/functor/crtp_unary_and_up.hpp>
 #include <boost/assign/v2/ref/list_tuple/extraction.hpp>
 #include <boost/assign/v2/ref/list_tuple/common.hpp>
+#include <boost/assign/v2/ref/list_tuple/size_type.hpp>
 
 namespace boost{
 namespace assign{
@@ -86,7 +87,6 @@
 
     };
 
-
     template<typename NewState>
     struct result
     {
@@ -94,10 +94,11 @@
         struct apply : NewState::template result<params(T)>{};
     };
 
-    template<int N, typename L, params_default(typename T, na_type)>
+    template<list_tuple_aux::get_size_type N, 
+    	typename L, params_default(typename T, na_type)>
     class container;
 
-    template<int N, typename L,
+    template<list_tuple_aux::get_size_type N, typename L,
         params_default(typename T, na_type)
     >
     struct meta_result
@@ -117,7 +118,7 @@
 
         };
 
-    template<int N, typename L,
+    template<list_tuple_aux::get_size_type N, typename L,
         params_default(typename T, na_type)>
     struct traits
     {
@@ -136,7 +137,7 @@
         >::type link_;
     };
 
-    template<int N, typename L, params(typename T)>
+    template<list_tuple_aux::get_size_type N, typename L, params(typename T)>
     class container :
         public list_tuple_aux::traits<N, L, params(T)>::link_,
         public list_tuple_aux::traits<N, L, params(T)>::crtp_,
@@ -154,10 +155,11 @@
         tuple_ const& get_tuple()const{ return this->tuple; }
         link_ const& get_link()const{ return (*this); }
 
-        typedef int size_type;
-        BOOST_STATIC_CONSTANT( size_type, static_get_size = N );
+        typedef list_tuple_aux::get_size_type get_size_type;
+        typedef list_tuple_aux::tuple_size_type tuple_size_type;
+        BOOST_STATIC_CONSTANT( get_size_type, static_get_size = N );
         BOOST_STATIC_CONSTANT(
-            size_type,
+            tuple_size_type,
             static_tuple_size = ::boost::tuples::length<tuple_>::value
         );
 
Modified: sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp0x/container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp0x/container.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/list_tuple/cpp0x/container.hpp	2011-01-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -21,6 +21,7 @@
 #include <boost/assign/v2/ref/tuple/cpp0x.hpp>
 #include <boost/assign/v2/ref/list_tuple/extraction.hpp>
 #include <boost/assign/v2/ref/list_tuple/common.hpp>
+#include <boost/assign/v2/ref/list_tuple/size_type.hpp>
 
 namespace boost{
 namespace assign{
@@ -28,9 +29,10 @@
 namespace ref{
 namespace list_tuple_aux{
 
-    template<int N, typename L, typename...Args> class container;
+    template<list_tuple_aux::get_size_type N, 
+    	typename L, typename...Args> class container;
 
-    template<int N, typename L, typename...Args>
+    template<list_tuple_aux::get_size_type N, typename L, typename...Args>
     struct meta_result
     {
 
@@ -55,7 +57,7 @@
         struct apply : NewState::template result<Args...>{};
     };
 
-    template<int N, typename L, typename...Args>
+    template<list_tuple_aux::get_size_type N, typename L, typename...Args>
     class container :
     ::boost::mpl::eval_if_c<
         N == 0,
@@ -78,10 +80,11 @@
         tuple_ const& get_tuple()const{ return this->tuple; }
         link_ const& get_link()const{ return *this; }
 
-        typedef int size_type;
-        BOOST_STATIC_CONSTANT( size_type, static_get_size = N );
+        typedef list_tuple_aux::get_size_type get_size_type;
+        typedef list_tuple_aux::tuple_size_type tuple_size_type;
+        BOOST_STATIC_CONSTANT( get_size_type, static_get_size = N );
         BOOST_STATIC_CONSTANT(
-            size_type,
+            tuple_size_type,
             static_tuple_size = sizeof...(Args)
         );
 
Modified: sandbox/assign_v2/boost/assign/v2/ref/list_tuple/extraction.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/ref/list_tuple/extraction.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/ref/list_tuple/extraction.hpp	2011-01-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -14,6 +14,7 @@
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/int.hpp>
 #include <boost/utility/enable_if.hpp>
+#include <boost/assign/v2/ref/list_tuple/size_type.hpp>
 
 namespace boost{
 namespace assign{
@@ -21,7 +22,8 @@
 namespace ref{
 namespace list_tuple_aux{
 
-    template<std::size_t N, typename L, typename T, typename D>
+    template<list_tuple_aux::get_size_type N, 
+    	typename L, typename T, typename D>
     class extraction
     {
         typedef D const& result_of_derived_;
@@ -34,13 +36,13 @@
 
         public:
 
-        template<int I>
+        template<list_tuple_aux::get_size_type I>
         struct is_head : ::boost::mpl::bool_< I + 1 == N >{};
 
-        template<int I>
+        template<list_tuple_aux::get_size_type I>
         struct link_get_result : L::template get_result<I>{};
 
-		template<int I>
+		template<list_tuple_aux::get_size_type I>
                 struct get_result : ::boost::mpl::eval_if<
                 is_head<I>,
             ::boost::mpl::identity<
@@ -49,7 +51,7 @@
             link_get_result<I>
         >{};
 
-        template<int I>
+        template<list_tuple_aux::get_size_type I>
         typename boost::lazy_enable_if<
                 is_head<I>,
                 get_result<I>
@@ -59,7 +61,7 @@
                 return this->derived().get_tuple();
         }
 
-        template<int I>
+        template<list_tuple_aux::get_size_type I>
         typename boost::lazy_disable_if<
                 is_head<I>,
                 get_result<I>
Modified: sandbox/assign_v2/boost/assign/v2/utility/convert/dispatch.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/utility/convert/dispatch.hpp	(original)
+++ sandbox/assign_v2/boost/assign/v2/utility/convert/dispatch.hpp	2011-01-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -13,12 +13,12 @@
 #include <boost/range/end.hpp>
 #include <boost/detail/workaround.hpp>
 
-#ifdef BOOST_MSVC
-#include <boost/range/algorithm/for_each.hpp>
-#include <boost/assign/v2/put/sub.hpp>
-#else
+//#ifdef BOOST_MSVC
+//#include <boost/range/algorithm/for_each.hpp>
+//#include <boost/assign/v2/put/sub.hpp>
+//#else
 #include <boost/assign/v2/put/pipe/range.hpp>
-#endif
+//#endif
 
 #include <boost/assign/v2/utility/convert/tag.hpp>
 
@@ -31,13 +31,13 @@
     T dispatch(U const& u, convert_tag::put) 
     {
         T t; 
-    #ifdef BOOST_MSVC
-        ::boost::for_each( u, v2::put( t ) );
-    #else
-        (t | v2::_put_range( u ) );
-    #endif
+    //#ifdef BOOST_MSVC
+    //    ::boost::for_each( u, v2::put( t ) );
+    //    return t;
+    //#else
+        return (t | v2::_put_range( u ) );
+    //#endif
 
-        return t;
     }
 
         template<typename T, typename U>
Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/forward_pars.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/forward_pars.cpp	(original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/forward_pars.cpp	2011-01-20 20:10:04 EST (Thu, 20 Jan 2011)
@@ -17,7 +17,7 @@
 #include <boost/assign/v2/put/generic/new_fun.hpp>
 #include <boost/assign/v2/put/generic/new_modifier.hpp>
 #include <boost/assign/v2/put/pipe/functor.hpp>
-#include <boost/assign/v2/put/pipe/forward_pars.hpp>
+#include <boost/assign/v2/put/pipe/pars/forward.hpp>
 
 #include <libs/assign/v2/test/put/pipe/forward_pars.h>