Boost logo

Boost-Commit :

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


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