$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r69641 - in sandbox/assign_v2/boost/assign/v2/put: . modifier modifier/insert modifier/iterate modifier/lookup modifier/push modifier/push_back modifier/push_front modifier/repeat
From: erwann.rogard_at_[hidden]
Date: 2011-03-07 20:19:04
Author: e_r
Date: 2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
New Revision: 69641
URL: http://svn.boost.org/trac/boost/changeset/69641
Log:
upd assign_v2
Added:
   sandbox/assign_v2/boost/assign/v2/put/modifier/
   sandbox/assign_v2/boost/assign/v2/put/modifier.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/insert/
   sandbox/assign_v2/boost/assign/v2/put/modifier/insert.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/insert/tag.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/iterate/
   sandbox/assign_v2/boost/assign/v2/put/modifier/iterate.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/iterate/impl.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/iterate/tag.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/lookup/
   sandbox/assign_v2/boost/assign/v2/put/modifier/lookup.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/lookup/impl.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/lookup/tag.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/push/
   sandbox/assign_v2/boost/assign/v2/put/modifier/push.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/push/tag.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/push_back/
   sandbox/assign_v2/boost/assign/v2/put/modifier/push_back.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/push_back/tag.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/push_front/
   sandbox/assign_v2/boost/assign/v2/put/modifier/push_front.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/push_front/tag.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/repeat/
   sandbox/assign_v2/boost/assign/v2/put/modifier/repeat.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/repeat/impl.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/repeat/tag.hpp   (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/put/modifier/standard.hpp   (contents, props changed)
Added: sandbox/assign_v2/boost/assign/v2/put/modifier.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,18 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_ER_2010_HPP
+
+#include <boost/assign/v2/put/modifier/standard.hpp>
+#include <boost/assign/v2/put/modifier/iterate.hpp>
+#include <boost/assign/v2/put/modifier/lookup.hpp>
+// TODO repeat
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/insert.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/insert.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,16 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_INSERT_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_INSERT_ER_2010_HPP
+#include <boost/assign/v2/put/modifier/insert/tag.hpp>
+
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_STANDARD(insert)
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/insert/tag.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/insert/tag.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,16 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_INSERT_TAG_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_INSERT_TAG_ER_2010_HPP
+#include <boost/assign/v2/put/modulo/modifier/standard.hpp>
+
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_STANDARD_TAG(insert)
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/iterate.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/iterate.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,23 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_ITERATE_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_ITERATE_ER_2010_HPP
+#include <boost/assign/v2/put/modifier/iterate/tag.hpp>
+#include <boost/assign/v2/put/modifier/iterate/impl.hpp>
+
+#include <boost/assign/v2/put/modulo/modifier/keyword.hpp>
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_KEYWORD(iterate)
+
+#include <boost/assign/v2/put/modulo/modifier/meta.hpp>
+#define BOOST_ASSIGN_V2_TAG modifier_tag::iterate<Arg>
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_META_MODIFIER_TAG(iterate, BOOST_ASSIGN_V2_TAG)
+#undef BOOST_ASSIGN_V2_TAG
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/iterate/impl.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/iterate/impl.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,75 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_ITERATE_IMPL_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_ITERATE_IMPL_ER_2010_HPP
+#include <boost/assign/v2/detail/keyword/ignore.hpp>
+#include <boost/assign/v2/put/frame/modifier.hpp>
+#include <boost/assign/v2/put/modifier/iterate/tag.hpp>
+
+#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+#include <utility>
+#include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/is_reference.hpp>
+#endif
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace put_aux{
+                
+    template<typename Arg>
+    class modifier< modifier_tag::iterate<Arg> >
+    {
+
+		typedef keyword_aux::ignore ignore_;
+                    
+        public:
+                    
+        modifier(){}
+        explicit modifier( ignore_, Arg arg )
+            : arg_( arg )
+        {}
+
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+		template<typename C, typename T>
+			typename boost::disable_if<
+			boost::is_reference<T>,
+    		void
+		>::type
+        impl(C& cont, T&& t )const
+        {
+            cont.at( this->arg_() ) = std::move( t ); // TODO ?
+        }
+
+#endif
+                    
+        template<typename C, typename T>
+        void impl(C& cont, T& t )const
+        {
+            cont.at( this->arg_() ) = t;
+        }
+
+        template<typename C, typename T>
+        void impl(C& cont, T* t)const
+        {
+            cont.replace( this->arg_() , t);
+        }
+                    
+        protected:
+        mutable Arg arg_;
+    };
+
+}// put_aux
+}// v2
+}// assign
+}// boost
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/iterate/tag.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/iterate/tag.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,26 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_ITERATE_TAG_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_ITERATE_TAG_ER_2010_HPP
+#include <boost/assign/v2/detail/functor/post_increment.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace modifier_tag{ 
+
+	template<typename Arg = functor_aux::post_increment<> > struct iterate{}; 
+
+}// modifier_tag
+}// v2
+}// assign
+}// boost
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/lookup.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/lookup.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,23 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_LOOKUP_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_LOOKUP_ER_2010_HPP
+#include <boost/assign/v2/put/modifier/lookup/tag.hpp>
+#include <boost/assign/v2/put/modifier/lookup/impl.hpp>
+
+#include <boost/assign/v2/put/modulo/modifier/keyword.hpp>
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_KEYWORD(lookup)
+
+#include <boost/assign/v2/put/modulo/modifier/meta.hpp>
+#define BOOST_ASSIGN_V2_TAG modifier_tag::lookup<Arg>
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_META_MODIFIER_TAG(lookup, BOOST_ASSIGN_V2_TAG)
+#undef BOOST_ASSIGN_V2_TAG
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/lookup/impl.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/lookup/impl.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,65 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_LOOKUP_IMPL_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_LOOKUP_IMPL_ER_2010_HPP
+#include <boost/call_traits.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/assign/v2/detail/keyword/ignore.hpp>
+#include <boost/assign/v2/put/frame/modifier.hpp>
+#include <boost/assign/v2/put/modifier/lookup/tag.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{namespace put_aux{
+                
+    template<typename Arg>
+    class modifier<modifier_tag::lookup<Arg> >
+    {
+
+        typedef Arg arg_;
+        // storing a copy of Arg has caused problems with lambda::, hence ptr
+        typedef boost::shared_ptr<arg_> ptr_; 
+		typedef keyword_aux::ignore ignore_;
+		
+        public:
+
+        modifier(){}
+        explicit modifier(
+        	ignore_,
+            typename boost::call_traits<arg_>::param_type arg
+        ) : ptr( new arg_( arg ) )
+        {}
+
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+		template<typename C, typename T>
+        void impl(C& cont, T&& t )const
+        {
+            cont[ key ] = (*this->ptr)( cont[ std::forward<T>( key ) ] );
+        }
+
+#else
+
+        template<typename C,typename T>
+        void impl(C& cont, T& key )const{
+            cont[ key ] = (*this->ptr)( cont[ key ] );
+        }
+
+#endif
+
+        private:
+        ptr_ ptr;
+    };
+
+}// put_aux
+}// v2
+}// assign
+}// boost
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/lookup/tag.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/lookup/tag.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,25 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_LOOKUP_TAG_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_LOOKUP_TAG_ER_2010_HPP
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace modifier_tag{ 
+
+	template<typename Arg> struct lookup; 
+
+}// modifier_tag
+}// v2
+}// assign
+}// boost
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/push.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,16 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_PUSH_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_ER_2010_HPP
+#include <boost/assign/v2/put/modifier/push/tag.hpp>
+
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_STANDARD(push)
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/push/tag.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push/tag.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,16 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_PUSH_TAG_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_TAG_ER_2010_HPP
+#include <boost/assign/v2/put/modulo/modifier/standard.hpp>
+
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_STANDARD_TAG(push)
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/push_back.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push_back.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,16 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_PUSH_BACK_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_BACK_ER_2010_HPP
+#include <boost/assign/v2/put/modifier/push_back/tag.hpp>
+
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_STANDARD(push_back)
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/push_back/tag.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push_back/tag.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,16 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_PUSH_BACK_TAG_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_BACK_TAG_ER_2010_HPP
+#include <boost/assign/v2/put/modulo/modifier/standard.hpp>
+
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_STANDARD_TAG(push_back)
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/push_front.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push_front.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,16 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_PUSH_FRONT_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_FRONT_ER_2010_HPP
+#include <boost/assign/v2/put/modifier/push_front/tag.hpp>
+
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_STANDARD(push_front)
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/push_front/tag.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push_front/tag.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,16 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_PUSH_FRONT_TAG_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_FRONT_TAG_ER_2010_HPP
+#include <boost/assign/v2/put/modulo/modifier/standard.hpp>
+
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_STANDARD_TAG(push_front)
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/repeat.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/repeat.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,23 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_REPEAT_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_REPEAT_ER_2010_HPP
+#include <boost/assign/v2/put/modifier/repeat/tag.hpp>
+#include <boost/assign/v2/put/modifier/repeat/impl.hpp>
+
+#include <boost/assign/v2/put/modulo/modifier/keyword.hpp>
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_KEYWORD(repeat)
+
+#include <boost/assign/v2/put/modulo/modifier/meta.hpp>
+#define BOOST_ASSIGN_V2_TAG modifier_tag::repeat<typename D::modifier_tag>
+BOOST_ASSIGN_V2_PUT_MODULO_MODIFIER_META_MODIFIER_TAG(repeat, BOOST_ASSIGN_V2_TAG)
+#undef BOOST_ASSIGN_V2_TAG
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/repeat/impl.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/repeat/impl.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,82 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_REPEAT_IMPL_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_REPEAT_IMPL_ER_2010_HPP
+#include <cstddef>
+#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+#include <utility>
+#include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/is_reference.hpp>
+#endif
+#include <boost/assign/v2/put/frame/modifier.hpp>
+#include <boost/assign/v2/put/modifier/repeat/tag.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace put_aux{
+
+    template<typename Arg>
+    class modifier<modifier_tag::repeat<Arg> >
+    {
+        typedef modifier<Arg> inner_type;
+
+        public:
+
+        typedef std::size_t size_type;
+
+        modifier() : n_( 0 ){}
+        explicit modifier( inner_type inner, size_type n )
+            : inner_( inner ), n_( n )
+        {
+        }
+
+#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+		template<typename C, typename T>
+			typename boost::disable_if<
+			boost::is_reference<T>,
+    		void
+		>::type
+        impl(C& cont, T&& t )const
+        {
+        	size_type m = this->size();\
+        	while(m--) this->inner_.impl( cont, std::move( t ) /* TODO ? */ );
+        }
+
+#endif
+
+		template<typename C, typename T>
+		void impl(C& cont, T& t )const
+        {
+        	size_type m = this->size();
+        	while(m--) this->inner_.impl( cont, t );
+        }
+
+        template<typename C, typename T>
+        void impl(C& cont, T* t)const
+        {
+        	size_type m = this->size();
+        	while(m--) this->inner_.impl( cont, t );
+        }
+
+        size_type const& size()const{ return this->n_; }
+
+        protected:
+        inner_type inner_;
+        size_type n_;
+    };
+
+}// put_aux
+}// v2
+}// assign
+}// boost
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/repeat/tag.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/repeat/tag.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,26 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_REPEAT_TAG_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_REPEAT_TAG_ER_2010_HPP
+#include <boost/assign/v2/detail/functor/post_increment.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace modifier_tag{ 
+
+	template<typename /*<<Arg is the modifier-tag of the implementation to override>>*/> struct repeat{}; 
+
+}// modifier_tag
+}// v2
+}// assign
+}// boost
+
+#endif
Added: sandbox/assign_v2/boost/assign/v2/put/modifier/standard.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/standard.hpp	2011-03-07 20:18:58 EST (Mon, 07 Mar 2011)
@@ -0,0 +1,18 @@
+//////////////////////////////////////////////////////////////////////////////
+//  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_MODIFIER_STANDARD_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_STANDARD_ER_2010_HPP
+
+#include <boost/assign/v2/put/modifier/insert.hpp>
+#include <boost/assign/v2/put/modifier/push.hpp>
+#include <boost/assign/v2/put/modifier/push_back.hpp>
+#include <boost/assign/v2/put/modifier/push_front.hpp>
+
+#endif