Boost logo

Boost-Commit :

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


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk