|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r69911 - in sandbox/assign_v2: boost/assign/v2/put boost/assign/v2/put/adapter boost/assign/v2/put/container boost/assign/v2/put/deque boost/assign/v2/put/fun boost/assign/v2/put/fun/modulo boost/assign/v2/put/modifier boost/assign/v2/put/modifier/deduce boost/assign/v2/put/modifier/insert boost/assign/v2/put/modifier/iterate boost/assign/v2/put/modifier/lookup boost/assign/v2/put/modifier/modulo boost/assign/v2/put/modifier/push boost/assign/v2/put/modifier/push_back boost/assign/v2/put/modifier/push_front boost/assign/v2/put/modifier/repeat libs/assign/v2/test libs/assign/v2/test/put libs/assign/v2/test/put/modifier libs/assign/v2/test/put/pipe libs/assign/v2/test/put/pipe/modifier
From: erwann.rogard_at_[hidden]
Date: 2011-03-12 21:11:50
Author: e_r
Date: 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
New Revision: 69911
URL: http://svn.boost.org/trac/boost/changeset/69911
Log:
upd assign_v2
Text files modified:
sandbox/assign_v2/boost/assign/v2/put/adapter.hpp | 2
sandbox/assign_v2/boost/assign/v2/put/adapter/as_arg_list.hpp | 29 +++--
sandbox/assign_v2/boost/assign/v2/put/adapter/crtp.hpp | 122 ++++++++++++++++++++++----
sandbox/assign_v2/boost/assign/v2/put/adapter/modifier.hpp | 9 +
sandbox/assign_v2/boost/assign/v2/put/adapter/replace_parameter.hpp | 3
sandbox/assign_v2/boost/assign/v2/put/adapter/sub.hpp | 95 --------------------
sandbox/assign_v2/boost/assign/v2/put/container/adapter.hpp | 2
sandbox/assign_v2/boost/assign/v2/put/container/put.hpp | 4
sandbox/assign_v2/boost/assign/v2/put/deque/adapter.hpp | 2
sandbox/assign_v2/boost/assign/v2/put/deque/deque.hpp | 2
sandbox/assign_v2/boost/assign/v2/put/fun.hpp | 185 +++++++++++++++++++++++++++++++++++++++
sandbox/assign_v2/boost/assign/v2/put/fun/constructor.hpp | 18 ---
sandbox/assign_v2/boost/assign/v2/put/fun/identity.hpp | 34 -------
sandbox/assign_v2/boost/assign/v2/put/fun/modulo.hpp | 17 ---
sandbox/assign_v2/boost/assign/v2/put/fun/modulo/keyword.hpp | 47 ---------
sandbox/assign_v2/boost/assign/v2/put/fun/modulo/make.hpp | 65 -------------
sandbox/assign_v2/boost/assign/v2/put/fun/modulo/meta.hpp | 48 ----------
sandbox/assign_v2/boost/assign/v2/put/fun/new.hpp | 18 ---
sandbox/assign_v2/boost/assign/v2/put/modifier/deduce.hpp | 119 +++++++++++++++++++++++++
sandbox/assign_v2/boost/assign/v2/put/modifier/deduce/dependee.hpp | 18 ---
sandbox/assign_v2/boost/assign/v2/put/modifier/deduce/tag.hpp | 78 ----------------
sandbox/assign_v2/boost/assign/v2/put/modifier/insert.hpp | 5
sandbox/assign_v2/boost/assign/v2/put/modifier/insert/tag.hpp | 17 ---
sandbox/assign_v2/boost/assign/v2/put/modifier/iterate.hpp | 3
sandbox/assign_v2/boost/assign/v2/put/modifier/iterate/impl.hpp | 6
sandbox/assign_v2/boost/assign/v2/put/modifier/lookup.hpp | 3
sandbox/assign_v2/boost/assign/v2/put/modifier/lookup/impl.hpp | 6
sandbox/assign_v2/boost/assign/v2/put/modifier/modulo.hpp | 6
sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/keyword.hpp | 51 ----------
sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/make.hpp | 80 -----------------
sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/meta.hpp | 89 -------------------
sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/standard.hpp | 98 --------------------
sandbox/assign_v2/boost/assign/v2/put/modifier/push.hpp | 5
sandbox/assign_v2/boost/assign/v2/put/modifier/push/tag.hpp | 17 ---
sandbox/assign_v2/boost/assign/v2/put/modifier/push_back.hpp | 6
sandbox/assign_v2/boost/assign/v2/put/modifier/push_back/tag.hpp | 17 ---
sandbox/assign_v2/boost/assign/v2/put/modifier/push_front.hpp | 5
sandbox/assign_v2/boost/assign/v2/put/modifier/push_front/tag.hpp | 17 ---
sandbox/assign_v2/boost/assign/v2/put/modifier/repeat.hpp | 3
sandbox/assign_v2/boost/assign/v2/put/modifier/repeat/impl.hpp | 8
sandbox/assign_v2/boost/assign/v2/put/modifier/standard.hpp | 2
sandbox/assign_v2/boost/assign/v2/put/modulo.hpp | 2
sandbox/assign_v2/libs/assign/v2/test/mix.cpp | 2
sandbox/assign_v2/libs/assign/v2/test/put/container.cpp | 14 +-
sandbox/assign_v2/libs/assign/v2/test/put/fun.cpp | 2
sandbox/assign_v2/libs/assign/v2/test/put/modifier/lookup.cpp | 2
sandbox/assign_v2/libs/assign/v2/test/put/modifier/standard.cpp | 22 ++--
sandbox/assign_v2/libs/assign/v2/test/put/pipe/fun.cpp | 2
sandbox/assign_v2/libs/assign/v2/test/put/pipe/modifier/lookup.cpp | 2
49 files changed, 511 insertions(+), 898 deletions(-)
Modified: sandbox/assign_v2/boost/assign/v2/put/adapter.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/adapter.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/adapter.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,10 +9,8 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_ADAPTER_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_ADAPTER_ER_2010_HPP
-
#include <boost/assign/v2/put/adapter/crtp.hpp>
#include <boost/assign/v2/put/adapter/modifier.hpp>
#include <boost/assign/v2/put/adapter/replace_parameter.hpp>
-#include <boost/assign/v2/put/adapter/sub.hpp>
#endif // BOOST_ASSIGN_V2_PUT_ADAPTER_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/put/adapter/as_arg_list.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/adapter/as_arg_list.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/adapter/as_arg_list.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,6 +9,7 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_ADAPTER_AS_ARG_LIST_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_ADAPTER_AS_ARG_LIST_ER_2010_HPP
+#include <boost/assign/v2/detail/pp/ignore.hpp>
#include <boost/range/iterator.hpp>
#include <boost/range/iterator_range.hpp>
@@ -20,15 +21,16 @@
template<typename R>
class as_arg_list_adapter
{
-
+
typedef typename boost::range_iterator<R>::type ri_;
typedef boost::iterator_range<ri_> ir_;
-
public:
- as_arg_list_adapter(R& range):ir(
- boost::make_iterator_range( range )
- ){}
+ as_arg_list_adapter(R& range)
+ :ir(
+ boost::make_iterator_range( range )
+ )
+ {}
typedef ir_ result_type;
@@ -37,31 +39,36 @@
private:
as_arg_list_adapter();
ir_ ir;
+
};
+//[syntax_put_adapter_as_arg_list
namespace result_of{
template<typename R>
- struct as_arg_list{
- typedef as_arg_list_adapter<R> type;
+ struct as_arg_list
+ {
+ typedef/*<-*/ BOOST_ASSIGN_V2_IGNORE(/*->*/ unspecified /*<-*/) as_arg_list_adapter<R> /*->*/type;
};
}// result_of
template<typename R>
typename result_of::as_arg_list<R>::type
- as_arg_list(R& range)
+ as_arg_list(R& range)/*<-*/
{
+
return typename result_of::as_arg_list<R>::type( range );
- }
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
template<typename R>
typename result_of::as_arg_list<R const>::type
- as_arg_list(R const& range)
+ as_arg_list(R const& range)/*<-*/
{
return typename result_of::as_arg_list<R const>::type( range );
- }
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+//]
}// put_aux
using put_aux::as_arg_list;
namespace result_of{
Modified: sandbox/assign_v2/boost/assign/v2/put/adapter/crtp.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/adapter/crtp.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/adapter/crtp.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -11,10 +11,12 @@
#define BOOST_ASSIGN_V2_PUT_ADAPTER_CRTP_ER_2010_HPP
#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
#include <boost/assign/v2/detail/pp/forward.hpp>
+#include <boost/assign/v2/detail/pp/ignore.hpp>
#include <boost/assign/v2/detail/traits/container/is_ptr_container.hpp>
#include <boost/assign/v2/put/adapter/as_arg_list.hpp>
#include <boost/assign/v2/put/adapter/fwd.hpp>
#include <boost/assign/v2/put/adapter/modifier.hpp>
+#include <boost/concept_check.hpp>
#include <boost/mpl/always.hpp>
#include <boost/mpl/apply.hpp>
#include <boost/range/algorithm/for_each.hpp>
@@ -52,13 +54,11 @@
struct modifier_holder{
typedef Tag modifier_tag;
- typedef put_aux::modifier<Tag> modifier_type;
+ typedef put_aux::adapter_modifier<Tag> modifier_type;
modifier_holder(){}
modifier_holder(modifier_type const& m) : modifier( m ){}
- typedef put_aux::modifier<Tag> modifier_;
-
modifier_type modifier;
};
@@ -78,7 +78,7 @@
result_type operator()( T&& t )const
{
this->d_(
- /*<< Instance of F >>*/ this->fun( std::forward<Args>(args)... )
+ this->fun( std::forward<Args>(args)... )
);
return (*this);
}
@@ -101,12 +101,45 @@
D const& d_;
};
+}//put_aux
+//[syntax_put_adapter_crtp
+namespace put_aux{
+
+ template<typename C, typename D>
+ struct ConceptAdapter1{
+
+ BOOST_CONCEPT_USAGE(ConceptAdapter1)
+ {
+ D derived( cont );
+ C& ref = derived.container();
+ }
+
+ private:
+ static C& cont;
+
+ };
- // D has to model concept_sub::Pre3, with respect to container C, functor F
- // and Tag. It then models concept_sub::Post
template<typename C, typename F, typename Tag, typename D>
+ struct ConceptAdapter2 : ConceptAdapter1<C, D>{
+
+ typedef put_aux::adapter_modifier<Tag> modifier_;
+
+ BOOST_CONCEPT_USAGE(ConceptAdapter2)
+ {
+ D derived( cont, f, m );
+ }
+
+ private:
+ static C& cont;
+ static F const &f;
+ static modifier_ m;
+
+ };
+
+ template<typename /*<<Container>>*/C, typename /*<<Functor>>*/F, typename /*<<Modifier tag>>*/Tag, typename /*<<Derived type>>*/D>
class crtp
- : public fun_holder<F>
+//<-
+ : public fun_holder<F>
, public modifier_holder<Tag>
#if !BOOST_ASSIGN_V2_ENABLE_CPP0X
, public functor_aux::crtp_unary_and_up<
@@ -114,10 +147,10 @@
::boost::mpl::always< D const& >
>
#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+//->
{
-
+//<-
public:
-
D & derived(){ return static_cast<D&>(*this); }
D const& derived()const{ return static_cast<D const&>(*this); }
@@ -125,36 +158,42 @@
typedef fun_holder<F> fun_holder_;
typedef modifier_holder<Tag> modifier_holder_;
- typedef typename modifier_holder_::modifier_type modifier_;
+//->
public:
+ typedef
+ /*<-*/BOOST_ASSIGN_V2_IGNORE(/*->*/ adapter_modifier<Tag> /*<-*/)
+ typename modifier_holder_::modifier_type /*->*/
+ modifier_type;
crtp(){}
- explicit crtp( F const& f ) : fun_holder_( f ){}
- explicit crtp( F const& f, modifier_ const& m )
- : fun_holder_( f ), modifier_holder_( m ){}
+ explicit crtp( F const& f )/*<-*/ : fun_holder_( f ){}BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+ explicit crtp( F const& f, modifier_type const& m )/*<-*/
+ : fun_holder_( f ), modifier_holder_( m ){}BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
typedef D const& result_type;
template<typename R>
result_type
- operator()( as_arg_list_adapter<R> range )const
+ operator()( as_arg_list_adapter<R> range )const/*<-*/
{
return ::boost::for_each( range(), wrapper<D>( this->derived() ) );
- }
-
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+//<-
#if BOOST_ASSIGN_V2_ENABLE_CPP0X
+//->
template<typename...Args>
- result_type operator()( Args&&...args )const
+ result_type operator()( Args&&...args )const/*<-*/
{
return this->modify(
/*<< Instance of F >>*/ this->fun( std::forward<Args>(args)... )
);
- }
+ }BOOST_ASSIGN_V2_IGNORE(/*->*/;/*<-*/)/*->*/
+//<-
#else
protected:
typedef functor_aux::crtp_unary_and_up<
@@ -225,7 +264,7 @@
result_type modify(T&& t)const
{
check_modifier( t );
- /*<< Instance of put_aux::modifier<Tag> >>*/this->modifier.impl(
+ /*<< Instance of put_aux::adapter_modifier<Tag> >>*/this->modifier.impl(
/*<< Reference to C >>*/this->derived().container(),
std::forward<T>( t )
);
@@ -250,12 +289,57 @@
#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+//->
+
};
}// put_aux
+//]
}// v2
}// assign
}// boost
#endif // BOOST_ASSIGN_V2_PUT_ADAPTER_CRTP_ER_2010_HPP
+//[semantics_put_adapter_crtp
+/*`
+[*Notation]
+
+[variablelist
+ [
+ [`cont`]
+ [ Instance of `C`, supplied by the derived class ]
+ ]
+ [
+ [`f`]
+ [ Internal copy of instance of type `F`]
+ ]
+ [
+ [`__put_modifier__`]
+ [ Internal copy of instance of type `put_aux::adapter_modifier<Tag>`]
+ ]
+ [
+ [`__put_adapter__`]
+ [ Instance of `D` ]
+ ]
+]
+
+[*Expressions]
+
+[table
+ [[Expression][Side effect][Result]]
+ [
+ [ `__put_adapter__( args... ) ` ]
+ [ `__put_modifier__.impl( cont, f( args... ) )` ]
+ [ A reference to `__put_adapter__` ]
+ ]
+ [
+ [ `__put_adapter__( as_arg_list( range ) ) ` ]
+ [ `__put_adapter__( arg )` for each `arg` in `range` ]
+ [ A reference to `__put_adapter__`]
+ ]
+]
+
+*/
+//]
+
Modified: sandbox/assign_v2/boost/assign/v2/put/adapter/modifier.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/adapter/modifier.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/adapter/modifier.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,17 +9,18 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_ADAPTER_MODIFIER_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_ADAPTER_MODIFIER_ER_2010_HPP
+#include <boost/assign/v2/detail/pp/ignore.hpp>
#include <boost/concept_check.hpp>
namespace boost{
namespace assign{
namespace v2{
-//[frame_modifier
-namespace /*<< Template arguments to put_aux::modifier<> are declared within >>*/modifier_tag{}
+//[syntax_put_adapter_modifier
+namespace /*<< Template arguments to `put_aux::adapter_modifier<>` have to be declared within this `namespace`>>*/modifier_tag{}
namespace put_aux{
template<typename Tag>
- struct /*<<Specialize on Tag>>*/ modifier{};
+ struct /*<<Specialize on Tag>>*/ adapter_modifier{};
}
namespace put_concept{
@@ -34,7 +35,7 @@
}
private:
- static put_aux::modifier<Tag>& m;
+ static put_aux::adapter_modifier<Tag>& m;
static C& cont;
static T t;
};
Modified: sandbox/assign_v2/boost/assign/v2/put/adapter/replace_parameter.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/adapter/replace_parameter.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/adapter/replace_parameter.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,12 +9,13 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_ADAPTER_REPLACE_PARAMETER_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_ADAPTER_REPLACE_PARAMETER_ER_2010_HPP
+#include <boost/assign/v2/detail/pp/ignore.hpp>
#include <boost/mpl/apply.hpp>
namespace boost{
namespace assign{
namespace v2{
-//[replace_parameter
+//[syntax_put_adapter_replace_parameter
namespace put_aux{
template<typename /*<<Inherits crtp\<\> >>*/D>
Modified: sandbox/assign_v2/boost/assign/v2/put/adapter/sub.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/adapter/sub.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/adapter/sub.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,94 +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_ADAPTER_SUB_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_ADAPTER_SUB_ER_2010_HPP
-#include <boost/assign/v2/put/adapter/modifier.hpp>
-#include <boost/concept_check.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace put_concept{
-namespace sub{
-
- // X models Pre1 wrt to V
- template<typename C, typename X>
- struct Pre1{
-
- BOOST_CONCEPT_USAGE(Pre1)
- {
- X x( v );
- C& ref = x.container();
- }
-
- private:
- static C& v;
-
- };
-
- template<typename C, typename F, typename X>
- struct Pre2 : Pre1<C, X>{
-
- BOOST_CONCEPT_USAGE(Pre2)
- {
- X x( v, f );
- }
-
- private:
- static C& v;
- static F const &f;
-
- };
-
- template<typename C, typename F, typename Tag, typename X>
- struct Pre3 : Pre2<C, F, X>{
-
- typedef put_aux::modifier<Tag> modifier_;
-
- BOOST_CONCEPT_USAGE(Pre3)
- {
- X x( v, f, m );
- }
-
- private:
- static C& v;
- static F const &f;
- static modifier_ m;
-
- };
-
- template<typename C, typename F, typename Tag, typename X>
- class Post : Pre3<C, F, Tag, X>
- {
-
- typedef Pre3<C, F, Tag, X> super_t;
- typedef typename super_t::modifier_ modifier_;
-
- BOOST_CONCEPT_USAGE(Post)
- {
- F const& f = x.fun;
- modifier_ const& m = x.modifier;
- }
-
- private:
- static X const& x;
- static C& v;
- static F const &f;
- static modifier_ m;
-
- };
-
-}// sub
-}// put_concept
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_PUT_ADAPTER_SUB_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/container/adapter.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/container/adapter.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/container/adapter.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -33,7 +33,7 @@
protected:
- typedef put_aux::modifier<Tag> modifier_;
+ typedef put_aux::adapter_modifier<Tag> modifier_;
typedef ref::assign_tag::copy assign_tag_;
typedef ref::wrapper<assign_tag_,C> super1_t;
Modified: sandbox/assign_v2/boost/assign/v2/put/container/put.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/container/put.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/container/put.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -12,12 +12,13 @@
#include <boost/assign/v2/put/container/fwd.hpp>
#include <boost/assign/v2/put/container/adapter.hpp>
#include <boost/assign/v2/put/fun/deduce.hpp>
-#include <boost/assign/v2/put/modifier/deduce/tag.hpp>
+#include <boost/assign/v2/put/modifier/deduce.hpp>
#include <boost/assign/v2/put/modifier/deduce/dependee.hpp>
namespace boost{
namespace assign{
namespace v2{
+//synopsis_put_container
namespace result_of{
template<typename C>
@@ -38,6 +39,7 @@
return result_( cont );
}
+//]
}// v2
}// assign
}// boost
Modified: sandbox/assign_v2/boost/assign/v2/put/deque/adapter.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/deque/adapter.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/deque/adapter.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -39,7 +39,7 @@
typedef impl_ const cimpl_;
typedef crtp<impl_, F, Tag, deque_adapter> put_crtp_;
- typedef put_aux::modifier<Tag> modifier_;
+ typedef put_aux::adapter_modifier<Tag> modifier_;
public:
Modified: sandbox/assign_v2/boost/assign/v2/put/deque/deque.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/deque/deque.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/deque/deque.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -12,7 +12,7 @@
#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
#include <boost/assign/v2/detail/keyword/nil.hpp>
#include <boost/assign/v2/put/fun/deduce.hpp>
-#include <boost/assign/v2/put/modifier/deduce/tag.hpp>
+#include <boost/assign/v2/put/modifier/deduce.hpp>
#include <boost/assign/v2/put/modifier/deduce/dependee.hpp>
//#include <boost/assign/v2/put/deque/fwd.hpp>
#include <boost/assign/v2/put/deque/adapter.hpp>
Modified: sandbox/assign_v2/boost/assign/v2/put/fun.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/fun.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/fun.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,8 +9,187 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_FUN_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_FUN_ER_2010_HPP
-#include <boost/assign/v2/put/fun/constructor.hpp>
-#include <boost/assign/v2/put/fun/identity.hpp>
-#include <boost/assign/v2/put/fun/new.hpp>
+#include <boost/assign/v2/detail/pp/ignore.hpp>
+#include <boost/assign/v2/detail/keyword/ignore.hpp>
+#include <boost/assign/v2/put/adapter/fwd.hpp>
+#include <boost/assign/v2/put/adapter/replace_parameter.hpp>
+#include <boost/assign/v2/put/fun/modulo/meta.hpp>
+#include <boost/mpl/apply.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace put_aux{
+namespace result_of{
+
+ template<typename D>
+ struct modulo_fun{
+
+ typedef put_aux::replace_fun<D> meta_;
+
+ template<typename F>
+ struct apply : ::boost::mpl::apply1<meta_, F>{};
+
+ };
+
+}// result_of
+
+ template<typename F = keyword_aux::ignore>
+ struct modulo_fun
+ {
+ modulo_fun(){}
+ modulo_fun(F f) : f_( f ){}
+
+ F const& fun()const{ return this->f_; }
+
+ private:
+ F f_;
+ };
+
+ template<typename C, typename F, typename Tag, typename D, typename F1>
+ typename ::boost::mpl::apply1<result_of::modulo_fun<D>, F1>::type
+ operator%(
+ crtp<C, F, Tag, D> const& lhs,
+ modulo_fun<F1> const& rhs
+ )
+ {
+ typedef result_of::modulo_fun<D> meta_;
+ typedef typename ::boost::mpl::apply1<meta_, F1>::type result_;
+ return result_( lhs.container(), rhs.fun(), lhs.modifier );
+ }
+
+ struct keyword_fun{
+
+ template<typename F>
+ modulo_fun<F> operator=(F const& f)const{
+ return modulo_fun<F>( f );
+ }
+
+ };
+
+}// put_aux
+namespace{
+ const put_aux::keyword_fun _fun = put_aux::keyword_fun();
+}
+//[syntax_put_fun
+namespace result_of{
+
+ template<typename D>
+ struct modulo_fun
+//<-
+ : put_aux::result_of::modulo_fun<D>
+//->
+ {};
+
+}// result_of
+//]
+
+//[semantics_put_fun
+/*`
+
+[*Notation]
+
+See __link_put_adapter_crtp__.
+
+[*Expressions]
+
+[table
+ [[Expression][Result type][Description]]
+ [
+ [`__put_adapter__ % ( _fun = f )`]
+ [`::boost::mpl::apply1<result_of::modulo_fun<D>, F>::type`]
+ [Replaces `__put_adapter__`'s functor with `f`]
+ ]
+]
+*/
+//]
+
+}// v2
+}// assign
+}// boost
+
+#include <boost/preprocessor/cat.hpp>
+
+#define BOOST_ASSIGN_V2_PUT_FUN_alias(NAME, FUN)\
+namespace boost{\
+namespace assign{\
+namespace v2{\
+namespace put_aux{\
+\
+ template<typename T>\
+ modulo_fun< FUN > BOOST_PP_CAT(_,NAME)(){ return v2::_fun = FUN(); }\
+\
+}\
+using put_aux::BOOST_PP_CAT(_,NAME);\
+}\
+}\
+}\
+/**/
+
+#include <boost/assign/v2/detail/functor/constructor.hpp>
+#define BOOST_ASSIGN_V2_fun functor_aux::constructor<T>
+BOOST_ASSIGN_V2_PUT_FUN_alias(constructor, BOOST_ASSIGN_V2_fun)
+#undef BOOST_ASSIGN_V2_fun
+
+#include <boost/assign/v2/detail/functor/new.hpp>
+#define BOOST_ASSIGN_V2_fun functor_aux::new_<T>
+BOOST_ASSIGN_V2_PUT_FUN_alias(new, BOOST_ASSIGN_V2_fun)
+#undef BOOST_ASSIGN_V2_fun
+
+#undef BOOST_ASSIGN_V2_PUT_FUN_alias
+
+#include <boost/lambda/lambda.hpp>
+#include <boost/typeof/typeof.hpp>
+namespace boost{
+namespace assign{
+namespace v2{
+namespace put_aux{
+
+ typedef BOOST_TYPEOF( ( _fun = ::boost::lambda::_1 ) ) keyword_identity;
+
+}// put_aux
+namespace {
+
+ put_aux::keyword_identity const _identity = ( _fun = ::boost::lambda::_1 );
+
+}
+}// v2
+}// assign
+}// boost
+
+
+//[aliases_put_fun
+/*`
+[*Synopsis]
+``
+const __unspecified__ _construct;
+const __unspecified__ _identity;
+const __unspecified__ _new;
+``
+
+[*Notation]
+
+See __link_put_adapter_crtp__.
+
+[*Semantics]
+
+[table
+ [[Expression][Result type]]
+ [
+ [`__put_adapter__ % _identity`]
+ [Replaces `__put_adapter__`'s functor with an identity functor]
+ ]
+ [
+ [`__put_adapter__ % _constructor<T>()`]
+ [Replaces `__put_adapter__`'s functor with a constructor for `T`]
+ ]
+ [
+ [`__put_adapter__ % _new<T>()`]
+ [Replaces `__put_adapter__`'s functor with a functor returning a pointer for `T`]
+ ]
+]
+*/
+//]
+
#endif // BOOST_ASSIGN_V2_PUT_FUN_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/put/fun/constructor.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/fun/constructor.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/fun/constructor.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 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_PUT_FUN_CONSTRUCTOR_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_FUN_CONSTRUCTOR_ER_2010_HPP
-#include <boost/assign/v2/detail/functor/constructor.hpp>
-#include <boost/assign/v2/put/fun/modulo/keyword.hpp>
-
-BOOST_ASSIGN_V2_MODULO_FUN_KEYWORD(constructor, keyword_aux::constructor<T>)
-
-#endif // BOOST_ASSIGN_V2_PUT_FUN_CONSTRUCTOR_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/fun/identity.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/fun/identity.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/fun/identity.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,33 +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_FUN_IDENTITY_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_FUN_IDENTITY_ER_2010_HPP
-#include <boost/lambda/lambda.hpp>
-#include <boost/typeof/typeof.hpp>
-#include <boost/assign/v2/put/fun/modulo.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace put_aux{
-
- typedef BOOST_TYPEOF( ( _fun = ::boost::lambda::_1 ) ) result_of_identity;
-
-}// put_aux
-namespace {
-
- put_aux::result_of_identity const _identity
- = ( _fun = ::boost::lambda::_1 );
-}
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_PUT_FUN_IDENTITY_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/fun/modulo.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/fun/modulo.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/fun/modulo.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,16 +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_FUN_MODULO_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_FUN_MODULO_ER_2010_HPP
-#include <boost/assign/v2/put/fun/modulo/keyword.hpp>
-#include <boost/assign/v2/put/fun/modulo/make.hpp>
-#include <boost/assign/v2/put/fun/modulo/meta.hpp>
-
-#endif
\ No newline at end of file
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/fun/modulo/keyword.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/fun/modulo/keyword.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/fun/modulo/keyword.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,46 +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_FUN_MODULO_KEYWORD_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_FUN_MODULO_KEYWORD_ER_2010_HPP
-#include <boost/assign/v2/put/fun/modulo/make.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define BOOST_ASSIGN_V2_MODULO_FUN_KEYWORD(NAME, FUN)\
-namespace boost{\
-namespace assign{\
-namespace v2{\
-namespace put_aux{\
-\
- struct BOOST_PP_CAT(keyword_,NAME){\
-\
- BOOST_PP_CAT(keyword_,NAME)(){}\
-\
- template<typename T>\
- struct result{\
- typedef modulo_fun< FUN > type;\
- };\
-\
- template<typename T>\
- typename result<T>::type\
- operator()()const{ return ( v2::_fun = FUN() ); }\
-\
- };\
-\
-}\
-namespace {\
- put_aux::BOOST_PP_CAT(keyword_,NAME) const BOOST_PP_CAT(_,NAME)\
- = put_aux::BOOST_PP_CAT(keyword_,NAME);\
-}\
-}\
-}\
-}\
-/**/
-
-#endif // BOOST_ASSIGN_V2_PUT_FUN_MODULO_KEYWORD_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/fun/modulo/make.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/fun/modulo/make.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/fun/modulo/make.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 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_PUT_FUN_MODULO_MAKE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_FUN_MODULO_MAKE_ER_2010_HPP
-#include <boost/assign/v2/detail/keyword/ignore.hpp>
-#include <boost/assign/v2/put/adapter/fwd.hpp>
-#include <boost/assign/v2/put/fun/modulo/meta.hpp>
-#include <boost/mpl/apply.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace put_aux{
-
- template<typename F = keyword_aux::ignore>
- struct modulo_fun
- {
- modulo_fun(){}
- modulo_fun(F f) : f_( f ){}
-
- F const& fun()const{ return this->f_; }
-
- private:
- F f_;
- };
-
- struct keyword_fun{
-
- template<typename F>
- modulo_fun<F> operator=(F const& f)const{
- return modulo_fun<F>( f );
- }
-
- };
-
- template<typename C, typename F, typename Tag, typename D, typename F1>
- typename ::boost::mpl::apply1<result_of::modulo_fun<D>, F1>::type
- operator%(
- crtp<C, F, Tag, D> const& lhs,
- modulo_fun<F1> const& rhs
- )
- {
- typedef result_of::modulo_fun<D> meta_;
- typedef typename ::boost::mpl::apply1<meta_, F1>::type result_;
- return result_( lhs.container(), rhs.fun(), lhs.modifier );
- }
-
-
-}// put_aux
-namespace{
- const put_aux::keyword_fun _fun = put_aux::keyword_fun();
-}
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_PUT_FUN_MODULO_MAKE_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/fun/modulo/meta.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/fun/modulo/meta.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/fun/modulo/meta.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,47 +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_FUN_MODULO_META_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_FUN_MODULO_META_ER_2010_HPP
-#include <boost/mpl/apply.hpp>
-#include <boost/assign/v2/put/adapter/replace_parameter.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace put_aux{
-namespace result_of{
-
- template<typename D>
- struct modulo_fun{
-
- typedef put_aux::replace_fun<D> meta_;
-
- template<typename F>
- struct apply : ::boost::mpl::apply1<meta_, F>{};
-
- };
-
-}// result_of
-}// put_aux
-//[result_of_modulo_fun
-namespace result_of{
-
- template<typename /*<<Inherits crtp\<\> >>*/ D>
- struct /*<<Meta-function class>>*/ modulo_fun
- : put_aux::result_of::modulo_fun<D>
- {};
-
-}// result_of
-//]
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_PUT_FUN_MODULO_META_ER_2010_HPP
\ No newline at end of file
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/fun/new.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/fun/new.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/fun/new.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 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_PUT_FUN_NEW_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_FUN_NEW_ER_2010_HPP
-#include <boost/assign/v2/detail/functor/new.hpp>
-#include <boost/assign/v2/put/fun/modulo/keyword.hpp>
-
-BOOST_ASSIGN_V2_MODULO_FUN_KEYWORD(new, keyword_aux::new_<T>)
-
-#endif // BOOST_ASSIGN_V2_PUT_FUN_NEW_ER_2010_HPP
+// TOOD remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/deduce.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/deduce.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/deduce.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,7 +9,122 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_ER_2010_HPP
-#include <boost/assign/v2/put/modifier/deduce/dependee.hpp>
-#include <boost/assign/v2/put/modifier/deduce/tag.hpp>
+#include <boost/assign/v2/put/modifier/insert/tag.hpp>
+#include <boost/assign/v2/put/modifier/iterate/tag.hpp>
+#include <boost/assign/v2/put/modifier/push/tag.hpp>
+#include <boost/assign/v2/put/modifier/push_back/tag.hpp>
+
+#include <boost/assign/v2/put/modifier/insert.hpp>
+#include <boost/assign/v2/put/modifier/iterate.hpp>
+#include <boost/assign/v2/put/modifier/push.hpp>
+#include <boost/assign/v2/put/modifier/push_back.hpp>
+
+#include <boost/assign/v2/detail/pp/ignore.hpp>
+#include <boost/assign/v2/detail/traits/container/has_push.hpp>
+#include <boost/assign/v2/detail/traits/container/is_associative.hpp>
+#include <boost/assign/v2/detail/traits/container/is_array.hpp>
+#include <boost/assign/v2/detail/traits/switch.hpp>
+#include <boost/mpl/assert.hpp>
+#include <boost/preprocessor/cat.hpp>
+#include <boost/type_traits/is_same.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace switch_tag{
+ struct deduce_put{};
+}// switch_tag
+
+#ifdef BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_CASE
+#error
+#else
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_CASE(Tag, MetaFun, Number)\
+namespace switch_aux{\
+ template<>\
+ struct case_<switch_tag::deduce_put, Number> :\
+ switch_aux::helper<\
+ v2::modifier_tag::Tag,\
+ MetaFun\
+ >{};\
+}\
+/**/
+#endif
+
+#ifdef BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_ASSOCIATIVE
+#error
+#else
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_ASSOCIATIVE(CaseNumber)\
+BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_CASE(insert, container_traits::is_associative, CaseNumber)\
+/**/
+#endif
+
+#ifdef BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_ARRAY
+#error
+#else
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_ARRAY(CaseNumber)\
+BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_CASE(iterate<>, container_traits::is_array, CaseNumber)
+/**/
+#endif
+
+#ifdef BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_ADAPTER
+#error
+#else
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_ADAPTER(CaseNumber)\
+BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_CASE(push, container_traits::has_push_deduced_value, CaseNumber)
+/**/
+#endif
+
+#ifdef BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_DEFAULT
+#error
+#else
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_DEFAULT(CaseNumber)\
+namespace switch_aux{\
+ template<>\
+ struct case_<switch_tag::deduce_put, CaseNumber> :\
+ switch_aux::helper<v2::modifier_tag::push_back>\
+ {};\
+}\
+/**/
+#endif
+
+//[example_put_modifier_deduce_switch
+#ifdef BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH
+#warning
+#else
+BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_ASSOCIATIVE(0)
+BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_ARRAY(1)
+BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_ADAPTER(2)
+BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_DEFAULT(3)
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH
+//]
+#endif
+
+//[syntax_put_modifier_deduce
+namespace put_aux{
+
+ template<typename C>
+ struct /*<<Meta-function returning a modifier-tag>>*/deduce_modifier_tag
+//<-
+ : switch_aux::result< switch_tag::deduce_put, C>
+//->
+ {};
+
+}// put_aux
+//]
+
+namespace put_aux{
+
+ // For testing purposes
+ template<typename C, typename X>
+ void check_deduce()
+ {
+ typedef typename put_aux::deduce_modifier_tag<C>::type found_;
+ BOOST_MPL_ASSERT(( boost::is_same<found_, X> ));
+ }
+
+}// put_aux
+}// v2
+}// assign
+}// boost
#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/deduce/dependee.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/deduce/dependee.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/deduce/dependee.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 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_PUT_MODIFIER_DEDUCE_DEPENDEE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_DEPENDEE_ER_2010_HPP
-#include <boost/assign/v2/put/modifier/insert.hpp>
-#include <boost/assign/v2/put/modifier/iterate.hpp>
-#include <boost/assign/v2/put/modifier/push.hpp>
-#include <boost/assign/v2/put/modifier/push_back.hpp>
-
-#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_DEPENDEE_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/deduce/tag.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/deduce/tag.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/deduce/tag.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,77 +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_MODIFIER_DEDUCE_TAG_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_TAG_ER_2010_HPP
-#include <boost/assign/v2/put/modifier/insert/tag.hpp>
-#include <boost/assign/v2/put/modifier/iterate/tag.hpp>
-#include <boost/assign/v2/put/modifier/push/tag.hpp>
-#include <boost/assign/v2/put/modifier/push_back/tag.hpp>
-#include <boost/assign/v2/detail/traits/container/has_push.hpp>
-#include <boost/assign/v2/detail/traits/container/is_associative.hpp>
-#include <boost/assign/v2/detail/traits/container/is_array.hpp>
-#include <boost/assign/v2/detail/traits/switch.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace switch_tag{
- struct deduce_put{};
-}// switch_tag
-namespace switch_aux{
-
- template<>
- struct case_<switch_tag::deduce_put, 0> :
- switch_aux::helper<
- v2::modifier_tag::insert,
- v2::container_traits::is_associative
- >{};
-
- template<>
- struct case_<switch_tag::deduce_put, 1> :
- switch_aux::helper<
- v2::modifier_tag::iterate<>,
- v2::container_traits::is_array
- >{};
-
- template<>
- struct case_<switch_tag::deduce_put, 2> :
- switch_aux::helper<
- v2::modifier_tag::push,
- container_traits::has_push_deduced_value
- >{};
-
- template<>
- struct case_<switch_tag::deduce_put, 3> :
- switch_aux::helper<v2::modifier_tag::push_back>{};
-
-}// switch_aux
-namespace put_aux{
-
- template<typename T>
- struct deduce_modifier_tag
- : switch_aux::result< switch_tag::deduce_put, T>
- {};
-
- // For testing purposes
- template<typename C, typename X>
- void check_deduce()
- {
- typedef typename put_aux::deduce_modifier_tag<C>::type found_;
- BOOST_MPL_ASSERT(( boost::is_same<found_, X> ));
- }
-
-}// put_aux
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_TAG_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/insert.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/insert.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/insert.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,8 +9,11 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_INSERT_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_MODIFIER_INSERT_ER_2010_HPP
+//[put_modifier_insert
+#include <boost/assign/v2/put/modifier/standard/modifier.hpp>
+BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(insert)
#include <boost/assign/v2/put/modifier/insert/tag.hpp>
-
BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD(insert)
+//]
#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_INSERT_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/insert/tag.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/insert/tag.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/insert/tag.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,16 +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_MODIFIER_INSERT_TAG_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_INSERT_TAG_ER_2010_HPP
-#include <boost/assign/v2/put/modifier/modulo/standard.hpp>
-
-BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(insert)
-
-#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_INSERT_TAG_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/iterate.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/iterate.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/iterate.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -11,10 +11,9 @@
#define BOOST_ASSIGN_V2_PUT_MODIFIER_ITERATE_ER_2010_HPP
#include <boost/assign/v2/put/modifier/iterate/impl.hpp>
#include <boost/assign/v2/put/modifier/iterate/tag.hpp>
-#include <boost/assign/v2/put/modifier/modulo/keyword.hpp>
+#include <boost/assign/v2/put/modifier/modulo/modifier.hpp>
BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_KEYWORD(iterate)
-#include <boost/assign/v2/put/modifier/modulo/meta.hpp>
#define BOOST_ASSIGN_V2_TAG modifier_tag::iterate<Arg>
BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_META_MODIFIER_TAG(iterate, BOOST_ASSIGN_V2_TAG)
#undef BOOST_ASSIGN_V2_TAG
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/iterate/impl.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/iterate/impl.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/iterate/impl.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -27,7 +27,7 @@
namespace put_aux{
template<typename Arg>
- class modifier< modifier_tag::iterate<Arg> >
+ class adapter_modifier< modifier_tag::iterate<Arg> >
{
typedef keyword_aux::ignore ignore_;
@@ -37,8 +37,8 @@
public:
- modifier(): ptr( new arg_() ){}
- explicit modifier(
+ adapter_modifier(): ptr( new arg_() ){}
+ explicit adapter_modifier(
ignore_,
typename boost::call_traits<arg_>::param_type arg
) : ptr( new arg_( arg ) )
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/lookup.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/lookup.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/lookup.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -11,10 +11,9 @@
#define BOOST_ASSIGN_V2_PUT_MODIFIER_LOOKUP_ER_2010_HPP
#include <boost/assign/v2/put/modifier/lookup/impl.hpp>
#include <boost/assign/v2/put/modifier/lookup/tag.hpp>
-#include <boost/assign/v2/put/modifier/modulo/keyword.hpp>
+#include <boost/assign/v2/put/modifier/modulo/modifier.hpp>
BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_KEYWORD(lookup)
-#include <boost/assign/v2/put/modifier/modulo/meta.hpp>
#define BOOST_ASSIGN_V2_TAG modifier_tag::lookup<Arg>
BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_META_MODIFIER_TAG(lookup, BOOST_ASSIGN_V2_TAG)
#undef BOOST_ASSIGN_V2_TAG
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/lookup/impl.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/lookup/impl.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/lookup/impl.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -20,7 +20,7 @@
namespace v2{namespace put_aux{
template<typename Arg>
- class modifier<modifier_tag::lookup<Arg> >
+ class adapter_modifier<modifier_tag::lookup<Arg> >
{
typedef Arg arg_;
@@ -30,8 +30,8 @@
public:
- modifier() : ptr( new arg_() ){}
- explicit modifier(
+ adapter_modifier() : ptr( new arg_() ){}
+ explicit adapter_modifier(
ignore_,
typename boost::call_traits<arg_>::param_type arg
) : ptr( new arg_( arg ) )
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/modulo.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/modulo.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/modulo.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,9 +9,7 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_ER_2010_HPP
-#include <boost/assign/v2/put/modifier/modulo/keyword.hpp>
-#include <boost/assign/v2/put/modifier/modulo/make.hpp>
-#include <boost/assign/v2/put/modifier/modulo/meta.hpp>
-#include <boost/assign/v2/put/modifier/modulo/standard.hpp>
+#include <boost/assign/v2/put/modifier/modulo/modifier.hpp>
+#include <boost/assign/v2/put/modifier/standard/modifier.hpp>
#endif
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/keyword.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/keyword.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/keyword.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,50 +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_MODIFIER_MODULO_KEYWORD_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_KEYWORD_ER_2010_HPP
-#include <boost/assign/v2/put/modifier/modulo/make.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_PARAM
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_PARAM(NAME)\
- put_aux::modulo_modifier<put_aux::BOOST_PP_CAT(keyword_,NAME)>\
-/**/
-#endif
-
-#ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_KEYWORD
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_KEYWORD(NAME)\
-namespace boost{\
-namespace assign{\
-namespace v2{\
-namespace put_aux{\
-\
- struct BOOST_PP_CAT(keyword_,NAME){\
-\
- BOOST_PP_CAT(keyword_,NAME)(){}\
-\
- };\
-\
-}\
-namespace {\
- BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_PARAM(NAME) const BOOST_PP_CAT(_,NAME)\
- = BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_PARAM(NAME)();\
-}\
-}\
-}\
-}\
-/**/
-#endif
-
-// The default
-BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_KEYWORD(modifier)
-BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_META_MODIFIER_TAG(modifier, Arg)
-
-#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_KEYWORD_ER_2010_HPP
-
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/make.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/make.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/make.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,79 +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_MODIFIER_MODULO_MAKE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_MAKE_ER_2010_HPP
-#include <boost/preprocessor/cat.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/assign/v2/detail/keyword/ignore.hpp>
-#include <boost/assign/v2/put/adapter/fwd.hpp>
-#include <boost/assign/v2/put/adapter/modifier.hpp>
-#include <boost/assign/v2/put/modifier/modulo/meta.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-//[modulo_modifier
-namespace put_aux{
-
- template<typename /*<<A class of modifiers>>*/ Keyword, typename /*<<A part of the modifier's implementation>>*/Arg = keyword_aux::ignore>
- struct modulo_modifier
- {
-
- modulo_modifier(){}
- modulo_modifier(Arg arg):arg_( arg ){}
-
- Arg const& arg()const{ return this->arg_; }
-
- template<typename Arg1>
- modulo_modifier<Keyword, Arg1>
- operator=(const Arg1& arg1)const{
- return modulo_modifier<Keyword, Arg1>( arg1 );
- }
-
- protected:
- Arg arg_;
- };
-}//put_aux
-//]
-namespace put_aux{
-
- template<typename C, typename F, typename Tag, typename D,
- typename Keyword, typename Arg>
- typename ::boost::mpl::apply2<
- result_of::modulo_modifier<D>,
- Keyword, Arg
- >::type
- operator%(
- crtp<C, F, Tag, D> const& lhs,
- modulo_modifier<Keyword, Arg> const& rhs
- )
- {
- typedef put_aux::meta_modifier_tag<Keyword, Arg> meta_;
- typedef typename ::boost::mpl::apply1<meta_, D>::type modifier_tag;
- typedef put_aux::modifier<modifier_tag> modifier_;
-
- typedef typename ::boost::mpl::apply2<
- result_of::modulo_modifier<D>,
- Keyword, Arg
- >::type result_;
-
- return result_(
- lhs.container(),
- lhs.fun,
- modifier_( lhs.modifier, rhs.arg() )
- );
- }
-
-}// put_aux
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_MAKE_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/meta.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/meta.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/meta.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,88 +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_MODIFIER_MODULO_META_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_META_ER_2010_HPP
-#include <boost/assign/v2/put/adapter/replace_parameter.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-//[meta_modifier_tag
-namespace put_aux{
-
- template<typename Keyword, typename Arg>
- struct /*<<Meta-function class to be specialized on Keyword>>*/ meta_modifier_tag
- {
- template<typename /*<<Inherits crtp\<\> >>*/ D>
- struct /*<<Returns a modifier-tag>>*/ apply;
- };
-
-}// put_aux
-//]
-namespace put_aux{
-namespace result_of{
-
- template<typename D>
- struct modulo_modifier{
-
- typedef put_aux::replace_modifier_tag<D> meta_;
-
- template<typename Keyword, typename Arg>
- struct apply : ::boost::mpl::apply1<
- meta_,
- typename ::boost::mpl::apply1<
- put_aux::meta_modifier_tag<Keyword, Arg>,
- D
- >::type
- >{};
-
- };
-
-}// result_of
-}// put_aux
-//[result_of_modulo_modifier
-namespace result_of{
-
- template<typename /*<<Inherits crtp\<\> >>*/ D>
- struct /*<<Meta-function class>>*/ modulo_modifier
- : put_aux::result_of::modulo_modifier<D>
- {};
-
-}// result_of
-//]
-}// v2
-}// assign
-}// boost
-
-#ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_META_MODIFIER_TAG
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_META_MODIFIER_TAG(NAME, Result)\
-namespace boost{\
-namespace assign{\
-namespace v2{\
-namespace put_aux{\
-\
- template<typename Arg>\
- struct meta_modifier_tag<BOOST_PP_CAT(keyword_,NAME), Arg>\
- {\
- template<typename D>\
- struct apply{ typedef Result type; };\
- };\
-\
-}\
-}\
-}\
-}\
-/**/
-#endif
-
-#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_META_ER_2010_HPP
-
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/standard.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/standard.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/modulo/standard.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,97 +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_MODIFIER_MODULO_STANDARD_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_ER_2010_HPP
-#include <boost/assign/v2/detail/keyword/ignore.hpp>
-#include <boost/assign/v2/put/adapter/modifier.hpp>
-#include <boost/assign/v2/put/modifier/modulo/keyword.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_PTR(FUN)\
- template<typename C, typename T>\
- void impl(C& cont, T* t)const{\
- cont.FUN( t );\
-}\
-/**/
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_LVALUE(FUN)\
- template<typename C, typename T>\
- void impl(C& cont, T& t)const{\
- cont.FUN( t );\
-}\
-/**/
-
-#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>
-// disable_if necessary to avoid ambiguity resolution with GCC4.4
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_RVALUE(FUN)\
- template<typename C, typename T>\
- typename boost::disable_if<\
- boost::is_reference<T>,\
- void\
- >::type\
- impl(C& cont, T&& t)const{\
- cont.FUN( std::move( t ) );\
- }\
-/**/
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL(FUN)\
-BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_LVALUE(FUN)\
-BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_RVALUE(FUN)\
-/**/
-#else
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL(FUN)\
-BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL_LVALUE(FUN)\
-/**/
-#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
-
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(FUN)\
-namespace boost{\
-namespace assign{\
-namespace v2{\
-namespace modifier_tag{ struct FUN{}; }\
-}\
-}\
-}\
-/**/
-
-// Must be preceded by BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(FUN)
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD(FUN)\
-namespace boost{\
-namespace assign{\
-namespace v2{\
-namespace put_aux{\
-\
- template<>\
- class modifier<modifier_tag::FUN>\
- {\
- typedef keyword_aux::ignore ignore_;\
- public:\
- modifier(){}\
- modifier( ignore_, ignore_ ){}\
- BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_IMPL(FUN)\
- };\
-\
-}\
-namespace{\
-\
- put_aux::modulo_modifier<put_aux::keyword_modifier, modifier_tag::FUN> const\
- BOOST_PP_CAT(_,FUN) = ( \
- _modifier = modifier_tag::FUN() \
- );\
-\
-}\
-}\
-}\
-}\
-/**/
-
-#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/push.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/push.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,8 +9,11 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_ER_2010_HPP
+//[put_modifier_push
+#include <boost/assign/v2/put/modifier/standard/modifier.hpp>
+BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(push)
#include <boost/assign/v2/put/modifier/push/tag.hpp>
-
BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD(push)
+//]
#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/push/tag.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/push/tag.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push/tag.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,16 +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_MODIFIER_PUSH_TAG_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_TAG_ER_2010_HPP
-#include <boost/assign/v2/put/modifier/modulo/standard.hpp>
-
-BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(push)
-
-#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_TAG_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/push_back.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/push_back.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push_back.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,8 +9,10 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_BACK_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_BACK_ER_2010_HPP
+//[put_modifier_push_back
#include <boost/assign/v2/put/modifier/push_back/tag.hpp>
-
+BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(push_back)
+#include <boost/assign/v2/put/modifier/standard/modifier.hpp>
BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD(push_back)
-
+//]
#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_BACK_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/push_back/tag.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/push_back/tag.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push_back/tag.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,16 +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_MODIFIER_PUSH_BACK_TAG_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_BACK_TAG_ER_2010_HPP
-#include <boost/assign/v2/put/modifier/modulo/standard.hpp>
-
-BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(push_back)
-
-#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_BACK_TAG_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/push_front.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/push_front.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push_front.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,8 +9,11 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_FRONT_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_FRONT_ER_2010_HPP
+//[put_modifier_push_front
+#include <boost/assign/v2/put/modifier/standard/modifier.hpp>
+BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(push_front)
#include <boost/assign/v2/put/modifier/push_front/tag.hpp>
-
BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD(push_front)
+//]
#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_FRONT_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/push_front/tag.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/push_front/tag.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/push_front/tag.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -1,16 +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_MODIFIER_PUSH_FRONT_TAG_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_FRONT_TAG_ER_2010_HPP
-#include <boost/assign/v2/put/modifier/modulo/standard.hpp>
-
-BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_STANDARD_TAG(push_front)
-
-#endif // BOOST_ASSIGN_V2_PUT_MODIFIER_PUSH_FRONT_TAG_ER_2010_HPP
+// TODO remove file
\ No newline at end of file
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/repeat.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/repeat.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/repeat.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -11,10 +11,9 @@
#define BOOST_ASSIGN_V2_PUT_MODIFIER_REPEAT_ER_2010_HPP
#include <boost/assign/v2/put/modifier/repeat/impl.hpp>
#include <boost/assign/v2/put/modifier/repeat/tag.hpp>
-#include <boost/assign/v2/put/modifier/modulo/keyword.hpp>
+#include <boost/assign/v2/put/modifier/modulo/modifier.hpp>
BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_KEYWORD(repeat)
-#include <boost/assign/v2/put/modifier/modulo/meta.hpp>
#define BOOST_ASSIGN_V2_TAG modifier_tag::repeat<typename D::modifier_tag>
BOOST_ASSIGN_V2_PUT_MODIFIER_MODULO_META_MODIFIER_TAG(repeat, BOOST_ASSIGN_V2_TAG)
#undef BOOST_ASSIGN_V2_TAG
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/repeat/impl.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/repeat/impl.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/repeat/impl.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -25,16 +25,16 @@
namespace put_aux{
template<typename Arg>
- class modifier<modifier_tag::repeat<Arg> >
+ class adapter_modifier<modifier_tag::repeat<Arg> >
{
- typedef modifier<Arg> inner_type;
+ typedef adapter_modifier<Arg> inner_type;
public:
typedef std::size_t size_type;
- modifier() : n_( 0 ){}
- explicit modifier( inner_type inner, size_type n )
+ adapter_modifier() : n_( 0 ){}
+ explicit adapter_modifier( inner_type inner, size_type n )
: inner_( inner ), n_( n )
{}
Modified: sandbox/assign_v2/boost/assign/v2/put/modifier/standard.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modifier/standard.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modifier/standard.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,9 +9,11 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_STANDARD_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_MODIFIER_STANDARD_ER_2010_HPP
+//[put_modifier_standard
#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_ASSIGN_V2_PUT_MODIFIER_STANDARD_ER_2010_HPP
Modified: sandbox/assign_v2/boost/assign/v2/put/modulo.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/modulo.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/modulo.hpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -9,7 +9,7 @@
//////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_ASSIGN_V2_PUT_MODULO_ER_2010_HPP
#define BOOST_ASSIGN_V2_PUT_MODULO_ER_2010_HPP
-#include <boost/assign/v2/put/fun/modulo.hpp>
+#include <boost/assign/v2/put/fun.hpp>
#include <boost/assign/v2/put/modifier/modulo.hpp>
#endif // BOOST_ASSIGN_V2_PUT_MODULO_ER_2010_HPP
Modified: sandbox/assign_v2/libs/assign/v2/test/mix.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/mix.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/mix.cpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -20,7 +20,7 @@
#include <boost/typeof/typeof.hpp>
#include <boost/assign/v2/detail/config/check.hpp>
#include <boost/assign/v2/put/container.hpp>
-#include <boost/assign/v2/put/fun/modulo.hpp>
+#include <boost/assign/v2/put/fun.hpp>
#include <boost/assign/v2/put/modifier/repeat.hpp>
#include <boost/assign/v2/put/pipe/csv_put.hpp>
#include <boost/assign/v2/put/pipe/put.hpp>
Modified: sandbox/assign_v2/libs/assign/v2/test/put/container.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/container.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/container.cpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -59,7 +59,7 @@
//[put_as_arg_list
std::vector<int> numeric( 10 ); iota( numeric, 0 ); typedef std::string str_;
typedef variant< int, str_ > data_; array<data_, 16> numeric_kb;
- as2::put( numeric_kb )/*<<[^{`numeric_kb[ i ] = data_( t )` : ( i, t ) = ( 0, "+" ), ..., ( 5, "." )}]>>*/( "+" )( "-" )( "*" )( "/" )( "=" )( "." )/*<<[^{`numeric_kb[ 6 + i ] = data_( *( b + i ) )` : i = 0, ..., 9; b = `boost::begin( numeric )` }]>>*/( as2::as_arg_list( numeric ) );
+ as2::put( numeric_kb )/*<<Calls [^{`numeric_kb[ i ] = data_( t )` : ( i, t ) = ( 0, "+" ), ..., ( 5, "." )}]>>*/( "+" )( "-" )( "*" )( "/" )( "=" )( "." )/*<<Calls [^{`numeric_kb[ 6 + i ] = data_( *( b + i ) )` : i = 0, ..., 9; b = `boost::begin( numeric )` }]>>*/( as2::as_arg_list( numeric ) );
assert( get<str_>( numeric_kb.front() ) == "+" );
assert( get<int>( numeric_kb.back() ) == 9 );
@@ -81,11 +81,13 @@
/*<<Calls `ragged.push_back( variable_size_( 1, -99.99 ) )`>>*/( 1, -99.99 )
/*<<Calls `ragged.push_back( variable_size_( ) )`>>*/( );
+ assert( ragged[0].size() == a.size() );
+ assert( ragged[3].size() == 0 );
+ //]
BOOST_ASSIGN_V2_CHECK( ragged[0].size() == a.size() );
BOOST_ASSIGN_V2_CHECK( ragged[1].size() == b.size() );
BOOST_ASSIGN_V2_CHECK( ragged[2].size() == 1 );
BOOST_ASSIGN_V2_CHECK( ragged[3].size() == 0 );
- //]
data_ eps = numeric::bounds<data_>::smallest();
BOOST_ASSIGN_V2_CHECK( fabs( ragged[0].front() - a.front() ) < eps );
BOOST_ASSIGN_V2_CHECK( fabs( ragged[0].back() - a.back() ) < eps );
@@ -114,15 +116,17 @@
// http://bioinfo.mbb.yale.edu/~mbg/dom/fun3/area-codes/
//[put_seq_tuple_ref
typedef const char us_state_ [3]; us_state_ ct = "CT", nj = "NJ", ny = "NY";
- typedef int area_code_; typedef tuple<us_state_/*<<Notice the reference>>*/&, area_code_> data_;
- std::deque< data_ > tri_state_area; /*Calls `tri_state.push_back( data_( s, c ) )` for [^( s, c ) = ( ny, 212 )( ny, 718 )( ny, 516 )( ny, 914 )( nj, 210 )( nj, 908 )( nj, 609 )( ct, 203 ) ]*/
+ typedef int area_code_; typedef tuple<us_state_/*<<Notice the [*reference]>>*/&, area_code_> data_; std::deque< data_ > tri_state_area;
+ /*<<Calls `tri_state.push_back( data_( s, c ) )` for [^( s, c ) = ( ny, 212 )...( ct, 203 ) ]>>*/
as2::put( tri_state_area )( ny, 212 )( ny, 718 )( ny, 516 )( ny, 914 )( nj, 210 )( nj, 908 )( nj, 609 )( ct, 203 );
+ assert( get<0>( tri_state_area.front() ) == ny );
+ assert( get<1>( tri_state_area.back() ) == 203 );
+ //]
BOOST_ASSIGN_V2_CHECK( get<0>( tri_state_area.front() ) == ny );
BOOST_ASSIGN_V2_CHECK( get<1>( tri_state_area.front() ) == 212 );
BOOST_ASSIGN_V2_CHECK( get<0>( tri_state_area.back() ) == ct );
BOOST_ASSIGN_V2_CHECK( get<1>( tri_state_area.back() ) == 203 );
- //]
}
}// test()
Modified: sandbox/assign_v2/libs/assign/v2/test/put/fun.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/fun.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/fun.cpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -15,7 +15,7 @@
#include <boost/assign/v2/detail/config/check.hpp>
#include <boost/assign/v2/put/container/put.hpp>
#include <boost/assign/v2/put/deque.hpp>
-#include <boost/assign/v2/put/fun/modulo.hpp>
+#include <boost/assign/v2/put/fun.hpp>
#include <boost/function.hpp>
#include <boost/lambda/bind.hpp>
#include <boost/lambda/lambda.hpp>
Modified: sandbox/assign_v2/libs/assign/v2/test/put/modifier/lookup.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/modifier/lookup.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/modifier/lookup.cpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -18,7 +18,7 @@
#include <boost/tuple/tuple.hpp>
#include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/put/fun/modulo.hpp>
+#include <boost/assign/v2/put/fun.hpp>
#include <boost/assign/v2/put/modifier/lookup.hpp>
#include <boost/assign/v2/put/container/put.hpp>
#include <boost/assign/v2/put/deque.hpp>
Modified: sandbox/assign_v2/libs/assign/v2/test/put/modifier/standard.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/modifier/standard.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/modifier/standard.cpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -40,14 +40,14 @@
// ------------------------------ WARNING ---------------------------- //
// Don't misconstrue the commands in the tests below as *necessary* to //
// obtain particular implementation. In most cases, the default is //
- // already set at that invoked with operator% //
+ // already set at that invoked with operator% //
// ------------------------------------------------------------------- //
// PUT
{
- //[modifier_meta
+ //[test_put_modifier_standard_meta
typedef as2::result_of::put<std::vector<int> >::type put_;
- typedef as2::put_aux::keyword_modifier keyword_;
+ typedef as2::put_aux::keyword_standard_modifier keyword_;
typedef as2::modifier_tag::push_front tag_;
typedef as2::result_of::modulo_modifier<put_> meta1_;
typedef ::boost::mpl::apply2<meta1_, keyword_, tag_>::type result1_;
@@ -57,16 +57,18 @@
//]
}
{
- //[modifier_push_front
+ //[test_put_modifier_push_front
std::deque<double> sqrt2;
( as2::put( sqrt2 ) % as2::_push_front )( 1.41421 )( 1.4142 )( 1.414 )( 1.41 );
+
+ // TODO abs()<eps
BOOST_ASSIGN_V2_CHECK( boost::lower_bound( sqrt2, 1.41 ) == boost::begin( sqrt2 ) );
BOOST_ASSIGN_V2_CHECK( boost::upper_bound( sqrt2, 1.41421 ) == boost::end( sqrt2 ) );
//]
}
{
- //[modifier_push
+ //[test_put_modifier_push
std::queue<int> fifo; ( as2::put( fifo ) % as2::_push )( 72 )( 31 )( 48 );
BOOST_ASSIGN_V2_CHECK( fifo.front() == 72 );
@@ -74,7 +76,7 @@
//]
}
{
- //[modifier_insert
+ //[test_put_modifier_insert
std::set<std::string> letters; ( as2::put( letters ) % as2::_insert )( "d" )( "a" )( "c" )( "b" );
BOOST_ASSIGN_V2_CHECK( letters.lower_bound( "a" ) == boost::begin( letters ) );
@@ -82,7 +84,7 @@
//]
}
{
- //[modifier_push_back
+ //[test_put_modifier_push_back
typedef int int_; std::list<int> list;
( as2::put( list ) % as2::_push_back )( 72 )( 31 )( 48 );
@@ -92,9 +94,9 @@
}
// DEQUE
{
- //[modifier_meta_deque
+ //[test_put_modifier_meta_deque
typedef as2::result_of::deque<int>::type put_;
- typedef as2::put_aux::keyword_modifier keyword_;
+ typedef as2::put_aux::keyword_standard_modifier keyword_;
typedef as2::modifier_tag::push_front tag_;
typedef as2::result_of::modulo_modifier<put_> meta1_;
typedef ::boost::mpl::apply2<meta1_, keyword_, tag_>::type result1_;
@@ -105,7 +107,7 @@
//]
}
{
- //[modifier_push_front_deque
+ //[test_put_modifier_push_front_deque
BOOST_AUTO(
powers,
( as2::deque<int>( as2::_nil ) % as2::_push_front )( 16 )( 8 )( 4 )( 2 )( 1 )
Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/fun.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/fun.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/fun.cpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -12,7 +12,7 @@
#include <vector>
#include <boost/assign/v2/detail/config/check.hpp>
#include <boost/assign/v2/put/deque/csv_deque.hpp>
-#include <boost/assign/v2/put/fun/modulo.hpp>
+#include <boost/assign/v2/put/fun.hpp>
#include <boost/assign/v2/put/pipe/put.hpp>
#include <boost/lambda/lambda.hpp>
#include <boost/range/algorithm/equal.hpp>
Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/modifier/lookup.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/modifier/lookup.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/modifier/lookup.cpp 2011-03-12 21:11:39 EST (Sat, 12 Mar 2011)
@@ -12,7 +12,7 @@
#include <boost/lambda/lambda.hpp>
#include <boost/typeof/typeof.hpp>
#include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/put/fun/modulo.hpp>
+#include <boost/assign/v2/put/fun.hpp>
#include <boost/assign/v2/put/modifier/lookup.hpp>
#include <boost/assign/v2/put/pipe/put.hpp>
#include <boost/assign/v2/put/pipe/csv_put.hpp>
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