Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r69311 - in sandbox/assign_v2: boost/assign/v2 boost/assign/v2/detail/config boost/assign/v2/detail/functor boost/assign/v2/put boost/assign/v2/put/container boost/assign/v2/put/container/csv boost/assign/v2/put/container/functor boost/assign/v2/put/deduce boost/assign/v2/put/ext boost/assign/v2/put/frame boost/assign/v2/put/pipe boost/assign/v2/put/pipe/modulo boost/assign/v2/put/std libs/assign/v2/src libs/assign/v2/test libs/assign/v2/test/detail libs/assign/v2/test/put libs/assign/v2/test/put/container libs/assign/v2/test/put/ext libs/assign/v2/test/put/pipe libs/assign/v2/test/put/pipe/csv libs/assign/v2/test/put/pipe/functor libs/assign/v2/test/put/ptr libs/assign/v2/test/put/std libs/assign/v2/test/unit_testing
From: erwann.rogard_at_[hidden]
Date: 2011-02-26 14:07:03


Author: e_r
Date: 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
New Revision: 69311
URL: http://svn.boost.org/trac/boost/changeset/69311

Log:
assign_v2: adding a generic csv interface and deleting that specific to particular components. ref framework not affected (yet)
Text files modified:
   sandbox/assign_v2/boost/assign/v2/detail/config/enable_cpp0x.hpp | 27 ++++--
   sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp | 6 +
   sandbox/assign_v2/boost/assign/v2/detail/functor/identity.hpp | 4
   sandbox/assign_v2/boost/assign/v2/detail/functor/new.hpp | 6 +
   sandbox/assign_v2/boost/assign/v2/put/container.hpp | 2
   sandbox/assign_v2/boost/assign/v2/put/container/csv.hpp | 16 ----
   sandbox/assign_v2/boost/assign/v2/put/container/csv/adapter.hpp | 101 -----------------------------
   sandbox/assign_v2/boost/assign/v2/put/container/csv/make.hpp | 50 --------------
   sandbox/assign_v2/boost/assign/v2/put/container/functor/make.hpp | 11 ++-
   sandbox/assign_v2/boost/assign/v2/put/deduce.hpp | 3
   sandbox/assign_v2/boost/assign/v2/put/deduce/traits.hpp | 39 -----------
   sandbox/assign_v2/boost/assign/v2/put/ext/xxx.hpp | 2
   sandbox/assign_v2/boost/assign/v2/put/frame/crtp.hpp | 25 ++++---
   sandbox/assign_v2/boost/assign/v2/put/frame/modifier.hpp | 9 +-
   sandbox/assign_v2/boost/assign/v2/put/pipe/csv.hpp | 30 +++++++
   sandbox/assign_v2/boost/assign/v2/put/pipe/modulo/forward.hpp | 5 -
   sandbox/assign_v2/boost/assign/v2/put/std/xxx.hpp | 57 ++++++++++++----
   sandbox/assign_v2/boost/assign/v2/utility.hpp | 1
   sandbox/assign_v2/libs/assign/v2/src/main.cpp | 15 ++--
   sandbox/assign_v2/libs/assign/v2/test/detail/functor.cpp | 9 -
   sandbox/assign_v2/libs/assign/v2/test/other.cpp | 137 ++++++++++++++++++++++++++++++++-------
   sandbox/assign_v2/libs/assign/v2/test/put/container.cpp | 3
   sandbox/assign_v2/libs/assign/v2/test/put/container/csv.cpp | 63 ------------------
   sandbox/assign_v2/libs/assign/v2/test/put/container/csv.h | 26 -------
   sandbox/assign_v2/libs/assign/v2/test/put/container/functor.cpp | 40 ++++++----
   sandbox/assign_v2/libs/assign/v2/test/put/deduce.cpp | 40 +++++------
   sandbox/assign_v2/libs/assign/v2/test/put/ext.cpp | 40 +++++++++++
   sandbox/assign_v2/libs/assign/v2/test/put/ext/functor.cpp | 63 ------------------
   sandbox/assign_v2/libs/assign/v2/test/put/ext/functor.h | 26 -------
   sandbox/assign_v2/libs/assign/v2/test/put/modulo.cpp | 4
   sandbox/assign_v2/libs/assign/v2/test/put/pipe.cpp | 2
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv.cpp | 32 ---------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv.h | 26 -------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/container.cpp | 38 ----------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/container.h | 28 -------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/ext.cpp | 77 ----------------------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/ext.h | 28 -------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/fun.cpp | 45 ------------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/fun.h | 28 -------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/rhs.cpp | 77 ----------------------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/rhs.h | 28 -------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/std.cpp | 42 -----------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/std.h | 28 -------
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/fun.cpp | 4
   sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/std.cpp | 2
   sandbox/assign_v2/libs/assign/v2/test/put/ptr.cpp | 74 ++++++++++++++++++++-
   sandbox/assign_v2/libs/assign/v2/test/put/ptr/functor.cpp | 90 -------------------------
   sandbox/assign_v2/libs/assign/v2/test/put/ptr/functor.h | 26 -------
   sandbox/assign_v2/libs/assign/v2/test/put/std.cpp | 20 +++++
   sandbox/assign_v2/libs/assign/v2/test/put/std/functor.cpp | 43 ------------
   sandbox/assign_v2/libs/assign/v2/test/put/std/functor.h | 26 -------
   sandbox/assign_v2/libs/assign/v2/test/unit_testing/put.cpp | 27 +------
   52 files changed, 454 insertions(+), 1197 deletions(-)

Modified: sandbox/assign_v2/boost/assign/v2/detail/config/enable_cpp0x.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/config/enable_cpp0x.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/config/enable_cpp0x.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -7,24 +7,31 @@
 // Boost Software License, Version 1.0. (See accompanying file //
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
 //////////////////////////////////////////////////////////////////////////////
-#include <boost/preprocessor/logical/and.hpp>
 #ifndef BOOST_ASSIGN_V2_ENABLE_CPP0X
-#if __GNUC__ && __GXX_EXPERIMENTAL_CXX0X__
-#define BOOST_ASSIGN_V2_ENABLE_CPP0X 1
-#else
+#include <boost/preprocessor/logical/or.hpp>
+#include <boost/config.hpp>
+#if defined(BOOST_NO_RVALUE_REFERENCES) || defined(BOOST_NO_VARIADIC_TEMPLATES) || defined(BOOST_NO_0X_HDR_TUPLE)
 #define BOOST_ASSIGN_V2_ENABLE_CPP0X 0
+#else
+#define BOOST_ASSIGN_V2_ENABLE_CPP0X 1
 #endif
 #endif
 
+
 /*
- -- TODO add check for MSVC when support for variadic template becomes
- available
+ -- Previously,
+//#if __GNUC__ && __GXX_EXPERIMENTAL_CXX0X__
+//#define BOOST_ASSIGN_V2_ENABLE_CPP0X 1
+//#else
+//#define BOOST_ASSIGN_V2_ENABLE_CPP0X 0
+//#endif
+
+ -- Alternatively,
 
- -- In principle this is more portable,
- #include <boost/preprocessor/logical/bool.hpp>
- #define BOOST_ASSIGN_V2_ENABLE_CPP0X BOOST_PP_BOOL(__cplusplus > 199711L)
+//#include <boost/preprocessor/logical/bool.hpp>
+//#define BOOST_ASSIGN_V2_ENABLE_CPP0X BOOST_PP_BOOL(__cplusplus > 199711L)
 
- but GCC is non-conformant.
+(but GCC non-conformant.)
 
  -- Sources:
  http:gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html#Common-Predefined-Macros

Modified: sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/functor/constructor.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -10,7 +10,7 @@
 #ifndef BOOST_ASSIGN_V2_DETAIL_FUNCTOR_CONSTRUCTOR_ER_2010_HPP
 #define BOOST_ASSIGN_V2_DETAIL_FUNCTOR_CONSTRUCTOR_ER_2010_HPP
 #include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
-#include <boost/assign/v2/detail/traits/container/value.hpp>
+//#include <boost/assign/v2/detail/traits/container/value.hpp>// TODO remove
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
 #include <utility>
 #else
@@ -80,6 +80,8 @@
 #endif
     };
 
+/*
+ TODO remove
     template<typename V>
     struct deduce_constructor
     {
@@ -87,7 +89,7 @@
         typedef functor_aux::constructor<value_> type;
         static type call(){ return functor_aux::constructor<value_>(); }
     };
-
+*/
 
 }// functor_aux
 namespace result_of{

Modified: sandbox/assign_v2/boost/assign/v2/detail/functor/identity.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/functor/identity.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/functor/identity.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -12,6 +12,8 @@
 #include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
 #include <utility>
+//#include <boost/type_traits/is_reference.hpp>
+//#include <boost/utility/enable_if.hpp>
 #else
 #include <boost/mpl/equal_to.hpp>
 #include <boost/mpl/at.hpp>
@@ -73,7 +75,7 @@
 
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
         template<typename T>
- T&& operator()(T&& t)const{ return t; }
+ T&& operator()(T&& t)const{ return std::forward<T>( t ); }
 #else
         template<typename T> T& impl(T& t)const{ return t; }
         template<typename T> T const& impl(T const& t)const{ return t; }

Modified: sandbox/assign_v2/boost/assign/v2/detail/functor/new.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/functor/new.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/functor/new.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -10,6 +10,7 @@
 #ifndef BOOST_ASSIGN_V2_DETAIL_FUNCTOR_NEW_ER_2010_HPP
 #define BOOST_ASSIGN_V2_DETAIL_FUNCTOR_NEW_ER_2010_HPP
 #include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
+//#include <boost/assign/v2/detail/traits/container/value.hpp>//TODO remove
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
 #include <utility>
 #else
@@ -19,7 +20,6 @@
 #include <boost/mpl/always.hpp>
 #include <boost/range/reference.hpp>
 #include <boost/type_traits/remove_cv.hpp>
-#include <boost/assign/v2/detail/traits/container/value.hpp>
 #include <boost/assign/v2/detail/config/limit_arity.hpp>
 #include <boost/assign/v2/detail/functor/crtp_unary_and_up.hpp>
 #endif
@@ -82,6 +82,8 @@
 
     };
 
+/*
+ TODO remove
     template<typename V>
     struct deduce_new_
     {
@@ -89,7 +91,7 @@
         typedef functor_aux::new_<value_> type;
         static type call(){ return functor_aux::new_<value_>(); }
     };
-
+*/
 }// functor_aux
 namespace result_of{
 

Modified: sandbox/assign_v2/boost/assign/v2/put/container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/container.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/container.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -10,7 +10,7 @@
 #ifndef BOOST_ASSIGN_V2_PUT_CONTAINER_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_CONTAINER_ER_2010_HPP
 
-#include <boost/assign/v2/put/container/csv.hpp>
+//#include <boost/assign/v2/put/container/csv.hpp>
 #include <boost/assign/v2/put/container/functor.hpp>
 #include <boost/assign/v2/put/container/range.hpp>
 

Modified: sandbox/assign_v2/boost/assign/v2/put/container/csv.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/container/csv.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/container/csv.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,16 +1,2 @@
-//////////////////////////////////////////////////////////////////////////////
-// 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_CONTAINER_CSV_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_CONTAINER_CSV_ER_2010_HPP
+// TODO remove file
 
-#include <boost/assign/v2/put/container/csv/adapter.hpp>
-#include <boost/assign/v2/put/container/csv/make.hpp>
-
-#endif

Modified: sandbox/assign_v2/boost/assign/v2/put/container/csv/adapter.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/container/csv/adapter.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/container/csv/adapter.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,100 +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_CONTAINER_CSV_ADAPTER_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_CONTAINER_CSV_ADAPTER_ER_2010_HPP
-#include <boost/assign/v2/ref/wrapper/copy.hpp>
-#include <boost/assign/v2/detail/traits/container/value.hpp>
-#include <boost/assign/v2/put/container/functor/make.hpp>
-#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
-#if BOOST_ASSIGN_V2_ENABLE_CPP0X
-#include <utility>
-#else
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/assign/v2/detail/config/limit_arity.hpp>
-#endif
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace csv_put_aux{
-
- template<typename C>
- class adapter
- : protected ref::copy_wrapper<C>::type
- {
-
- protected:
-
- typedef typename ref::copy_wrapper<C>::type super1_t;
-
- typedef typename v2::container_traits::value<C>::type value_type;
-
- public:
-
- adapter(){} // TODO remove?
- explicit adapter( C& v ) : super1_t( v ) {}
-
-#if BOOST_ASSIGN_V2_ENABLE_CPP0X
-
- protected:
- template<typename R>
- void impl(R& r){}
-
- template<typename R,typename... Args>
- void impl(R& r, value_type const& t, Args&&...args)
- {
- r( t );
- this->impl( r, std::forward<Args>( args )... );
- }
-
- public:
- template<typename... Args>
- typename result_of::put<C>::type
- operator()(Args&&...args)
- {
- typedef typename result_of::put<C>::type result_;
- result_ result = put( this->get() );
- this->impl(
- result,
- args...
- );
- return result;
- }
-
-#else
-#define BOOST_ASSIGN_V2_MACRO1(z, i, data) ( BOOST_PP_CAT(_, i) )
-#define BOOST_ASSIGN_V2_MACRO2(z, N, data)\
- typename result_of::put<C>::type\
- operator()( BOOST_PP_ENUM_PARAMS(N, value_type const & _) )\
- {\
- return put( this->get() ) BOOST_PP_REPEAT(N, BOOST_ASSIGN_V2_MACRO1, ~ );\
- }\
-/**/
-BOOST_PP_REPEAT_FROM_TO(
- 1,
- BOOST_PP_INC(BOOST_ASSIGN_V2_LIMIT_CSV_ARITY),
- BOOST_ASSIGN_V2_MACRO2,
- ~
-)
-#undef BOOST_ASSIGN_V2_MACRO1
-#undef BOOST_ASSIGN_V2_MACRO2
-#endif
- C& container()const{
- return static_cast<super1_t const&>(*this).get();
- }
-
- };
-
-}// csv_put_aux
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/boost/assign/v2/put/container/csv/make.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/container/csv/make.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/container/csv/make.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,49 +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_CONTAINER_CSV_MAKE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_CONTAINER_CSV_MAKE_ER_2010_HPP
-#include <boost/assign/v2/ref/wrapper/copy.hpp>
-#include <boost/assign/v2/detail/traits/container/value.hpp>
-#include <boost/assign/v2/put/container/functor/make.hpp>
-#include <boost/assign/v2/put/container/csv/adapter.hpp>
-#include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
-#if BOOST_ASSIGN_V2_ENABLE_CPP0X
-#include <utility>
-#else
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/assign/v2/detail/config/limit_arity.hpp>
-#endif
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace result_of{
-
- template<typename C>
- struct csv_put
- {
- typedef csv_put_aux::adapter<C> type;
- };
-
-}// result_of
-
- template<typename C>
- typename result_of::csv_put<C>::type
- csv_put( C& cont )
- {
- typedef typename result_of::csv_put<C>::type result_;
- return result_( cont );
- }
-
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/boost/assign/v2/put/container/functor/make.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/container/functor/make.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/container/functor/make.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -9,7 +9,8 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_PUT_CONTAINER_FUNCTOR_MAKE_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_CONTAINER_FUNCTOR_MAKE_ER_2010_HPP
-#include <boost/assign/v2/put/deduce/traits.hpp>
+#include <boost/assign/v2/put/deduce/fun.hpp>
+#include <boost/assign/v2/put/deduce/modifier.hpp>
 #include <boost/assign/v2/put/deduce/dependee.hpp>
 #include <boost/assign/v2/put/container/functor/adapter.hpp>
 
@@ -21,9 +22,11 @@
     template<typename C>
     struct put
     {
- typedef v2::put_traits<C> traits_;
- typedef typename traits_::functor_type f_;
- typedef typename traits_::modifier_tag modifier_tag_;
+// typedef v2::put_traits<C> traits_;
+// typedef typename traits_::functor_type f_;
+// typedef typename traits_::modifier_tag modifier_tag_;
+ typedef typename put_aux::deduce_fun<C>::type f_;
+ typedef typename put_aux::deduce_modifier_tag<C>::type modifier_tag_;
         typedef put_aux::adapter<C, f_, modifier_tag_> type;
     };
 

Modified: sandbox/assign_v2/boost/assign/v2/put/deduce.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/deduce.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/deduce.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -12,9 +12,10 @@
 
 #include <boost/assign/v2/put/deduce/dependee.hpp>
 #include <boost/assign/v2/put/deduce/fwd.hpp>
+#include <boost/assign/v2/put/deduce/fun.hpp>
 #include <boost/assign/v2/put/deduce/modifier.hpp>
 #include <boost/assign/v2/put/deduce/modulo.hpp>
-#include <boost/assign/v2/put/deduce/traits.hpp>
+//#include <boost/assign/v2/put/deduce/traits.hpp>
 
 
 #endif

Modified: sandbox/assign_v2/boost/assign/v2/put/deduce/traits.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/deduce/traits.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/deduce/traits.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,38 +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_DEDUCE_TRAITS_ER_2010_HPP
-#define BOOST_ASSIGN_V2_PUT_DEDUCE_TRAITS_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/value.hpp>
-#include <boost/assign/v2/detail/traits/container/is_ptr_container.hpp>
-#include <boost/assign/v2/detail/functor/constructor.hpp>
-#include <boost/assign/v2/detail/functor/new.hpp>
-#include <boost/assign/v2/put/deduce/modifier.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-
- template<typename C>
- struct put_traits
- {
- typedef typename v2::container_traits::value<C>::type value_type;
- typedef typename ::boost::mpl::eval_if<
- v2::container_traits::is_ptr_container<C>,
- functor_aux::deduce_new_<C>,
- functor_aux::deduce_constructor<C>
- >::type functor_type;
- typedef typename put_aux::deduce_modifier_tag<C>::type modifier_tag;
- };
-
-}// v2
-}// assign
-}// boost
-
-#endif
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/boost/assign/v2/put/ext/xxx.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/ext/xxx.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/ext/xxx.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -26,7 +26,6 @@
 
 #define BOOST_ASSIGN_V2_PUT_EXT_XXX(Param)\
 namespace result_of_modulo{\
-\
     template<typename T, typename Arg>\
     struct Param\
         : ::boost::mpl::apply1<\
@@ -34,7 +33,6 @@
             , put_parameter::Param<Arg>\
>\
     {};\
-\
 }\
 namespace put_aux{\
 \

Modified: sandbox/assign_v2/boost/assign/v2/put/frame/crtp.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/frame/crtp.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/frame/crtp.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -11,13 +11,13 @@
 #define BOOST_ASSIGN_V2_PUT_FRAME_CRTP_ER_2010_HPP
 #include <boost/mpl/always.hpp>
 #include <boost/mpl/apply.hpp>
-
-#include <boost/assign/v2/detail/functor/constructor.hpp>
+#include <boost/utility/enable_if.hpp>
 #include <boost/assign/v2/detail/pp/forward.hpp>
-
+#include <boost/assign/v2/detail/traits/container/is_ptr_container.hpp>
 #include <boost/assign/v2/put/frame/base.hpp>
 #include <boost/assign/v2/put/frame/modifier.hpp>
 #include <boost/assign/v2/put/modulo/fun.hpp>
+#include <boost/assign/v2/put/deduce/fun.hpp>
 
 #include <boost/assign/v2/detail/config/enable_cpp0x.hpp>
 #if BOOST_ASSIGN_V2_ENABLE_CPP0X
@@ -150,10 +150,9 @@
 
             struct deduce
             {
- typedef functor_aux::deduce_constructor<C> caller_;
- typedef typename caller_::type cons_;
+ typedef typename put_aux::deduce_fun<C>::type f_;
                 typedef v2::result_of_modulo::fun<D> meta_;
- typedef typename ::boost::mpl::apply1<meta_, cons_>::type type;
+ typedef typename ::boost::mpl::apply1<meta_, f_>::type type;
             };
 
         };
@@ -161,19 +160,23 @@
         typename result_of_modulo::deduce::type
         modulo_deduce()const
         {
- typedef functor_aux::deduce_constructor<C> caller_;
- typedef typename caller_::type cons_;
+ typedef typename put_aux::deduce_fun<C>::type f_;
             typedef typename result_of_modulo::deduce::type result_;
             return result_(
                 this->derived().container(),
- caller_::call()
+ f_()
             );
         }
 
         protected:
 
- template<typename T>
- result_type modify(T* t)const
+ template<typename T>
+ struct ptr_enabler : boost::enable_if<
+ container_traits::is_ptr_container<C>
+ >{};
+
+ template<typename T>
+ result_type modify(T* t,typename ptr_enabler<T>::type* = 0)const
         {
             typedef put_concept::ModifierImpl<modifier_, C, T*> concept_;
             BOOST_CONCEPT_ASSERT(( concept_ ));

Modified: sandbox/assign_v2/boost/assign/v2/put/frame/modifier.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/frame/modifier.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/frame/modifier.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -29,21 +29,20 @@
 }// put_aux
 namespace put_concept{
 
- // M models ModifierImpl with respect to container V and reference
- // (or pointer) type R
- template<typename M, typename C, typename R>
+ // M models ModifierImpl with respect to container V and type T
+ template<typename M, typename C, typename T>
     struct ModifierImpl
     {
 
         BOOST_CONCEPT_USAGE(ModifierImpl)
         {
- m.impl( cont, t );
+ //m.impl( cont, t ); // TODO
         }
 
         private:
         static M& m;
         static C& cont;
- static R t;
+ static T t;
     };
 
 }// put_concept

Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/csv.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/csv.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/csv.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -10,9 +10,33 @@
 #ifndef BOOST_ASSIGN_V2_PUT_PIPE_CSV_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_PIPE_CSV_ER_2010_HPP
 
-#include <boost/assign/v2/put/pipe/csv/rhs.hpp>
+/*#include <boost/assign/v2/put/pipe/csv/rhs.hpp>
 #include <boost/assign/v2/put/pipe/csv/generator.hpp>
 #include <boost/assign/v2/put/pipe/csv/keyword.hpp>
-#include <boost/assign/v2/put/pipe/csv/operator.hpp>
+#include <boost/assign/v2/put/pipe/csv/operator.hpp>*/
 
-#endif // BOOST_ASSIGN_V2_PUT_PIPE_CSV_ER_2010_HPP
+#include <boost/assign/v2/put/pipe/functor.hpp>
+#include <boost/assign/v2/utility/csv.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace csv_aux{
+
+ template<typename C, typename Pars, typename SeqArgs, bool enable_pars>
+ C& operator|(
+ C& cont,
+ csv_aux::adapter<
+ v2::put_pipe_aux::rhs<Pars, SeqArgs, enable_pars>
+ > const& rhs
+ )
+ {
+ cont | rhs.functor();
+ }
+
+}// csv_aux
+}// v2
+}// assign
+}// boost
+
+#endif

Modified: sandbox/assign_v2/boost/assign/v2/put/pipe/modulo/forward.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/pipe/modulo/forward.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/pipe/modulo/forward.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -62,10 +62,7 @@
 
     template<typename Pars, typename T,typename C>
     typename result_of::forward_pars<0, Pars, T>::type
- forward_pars(
- T const& object,
- C const& c
- )
+ forward_pars( T const& object, C const& c )
     {
         typedef result_of::forward_pars<0, Pars, T> caller_;
         return caller_::call( c, object );

Modified: sandbox/assign_v2/boost/assign/v2/put/std/xxx.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/std/xxx.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/std/xxx.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -7,13 +7,53 @@
 // Boost Software License, Version 1.0. (See accompanying file //
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
 //////////////////////////////////////////////////////////////////////////////
+#include <iostream> // TODO remove
+
 #ifndef BOOST_ASSIGN_V2_PUT_STD_XXX
 #include <boost/preprocessor/cat.hpp>
 #include <boost/accumulators/framework/accumulator_base.hpp>
-#include <boost/assign/v2/detail/pp/forward.hpp>
 #include <boost/assign/v2/put/frame/modifier.hpp>
 #include <boost/assign/v2/put/modulo/modifier.hpp>
 
+#define BOOST_ASSIGN_V2_PUT_STD_IMPL_PTR(FUN)\
+ template<typename C, typename T>\
+ void impl(C& cont, T* t)const{\
+ cont.FUN( t );\
+ }\
+/**/
+#define BOOST_ASSIGN_V2_PUT_STD_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_STD_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_STD_IMPL(FUN)\
+ BOOST_ASSIGN_V2_PUT_STD_IMPL_LVALUE(FUN)\
+ BOOST_ASSIGN_V2_PUT_STD_IMPL_RVALUE(FUN)\
+/**/
+#else
+#define BOOST_ASSIGN_V2_PUT_STD_IMPL(FUN)\
+ BOOST_ASSIGN_V2_PUT_STD_IMPL_LVALUE(FUN)\
+/**/
+#endif // BOOST_ASSIGN_V2_ENABLE_CPP0X
+
 #define BOOST_ASSIGN_V2_PUT_STD_XXX(FUN)\
 namespace boost{\
 namespace assign{\
@@ -24,24 +64,11 @@
     template<>\
     class modifier<v2::modifier_tag::FUN>\
     {\
-\
         typedef boost::accumulators::dont_care dont_care_;\
-\
         public:\
-\
         modifier(){}\
         modifier( dont_care_ ){}\
-\
- template<typename C, typename T>\
- void impl(C& cont, BOOST_ASSIGN_V2_forward_param(T, t) )const{\
- cont.FUN(\
- BOOST_ASSIGN_V2_forward_arg(T, t)\
- );\
- }\
-\
- template<typename C, typename T>\
- void impl(C& cont, T* t)const{ cont.FUN( t ); }\
-\
+ BOOST_ASSIGN_V2_PUT_STD_IMPL(FUN)\
     };\
 \
 }\

Modified: sandbox/assign_v2/boost/assign/v2/utility.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/utility.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/utility.hpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -12,5 +12,6 @@
 
 #include <boost/assign/v2/utility/chain.hpp>
 #include <boost/assign/v2/utility/convert.hpp>
+#include <boost/assign/v2/utility/csv.hpp>
 
 #endif

Modified: sandbox/assign_v2/libs/assign/v2/src/main.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/src/main.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/src/main.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,11 +1,12 @@
 
 // Test
+/*
 #include <libs/assign/v2/test/detail.h>
 #include <libs/assign/v2/test/ref.h>
 #include <libs/assign/v2/test/put.h>
 #include <libs/assign/v2/test/utility.h>
 #include <libs/assign/v2/test/other.h>
-
+*/
 // Speed
 //#include <fstream>
 //#include <libs/assign/v2/speed/put_ref.h>
@@ -15,12 +16,12 @@
 
     // Do not put libs/assign/v2/test/unit_testing in this project
     {
- using namespace test_assign_v2;
- xxx_detail::test();
- xxx_put::test();
- xxx_ref::test();
- xxx_utility::test();
- xxx_other::test();
+ //using namespace test_assign_v2;
+ //xxx_detail::test();
+ //xxx_put::test();
+ //xxx_ref::test();
+ //xxx_utility::test();
+ //xxx_other::test();
     }
 /*
     {

Modified: sandbox/assign_v2/libs/assign/v2/test/detail/functor.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/detail/functor.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/detail/functor.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -9,12 +9,9 @@
 //////////////////////////////////////////////////////////////////////////////
 #include <string>
 #include <iostream>
-#include <boost/preprocessor/arithmetic/sub.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/control/expr_if.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/repetition/enum_trailing.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
+#include <boost/preprocessor/arithmetic.hpp>
+#include <boost/preprocessor/control.hpp>
+#include <boost/preprocessor/repetition.hpp>
 #include <boost/tuple/tuple.hpp>
 
 #include <boost/assign/v2/detail/config/tuple_limit_arity.hpp>

Modified: sandbox/assign_v2/libs/assign/v2/test/other.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/other.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/other.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -8,8 +8,14 @@
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
 //////////////////////////////////////////////////////////////////////////////
 #include <utility>
+#include <deque>
+#include <list>
+#include <map>
 #include <vector>
+#include <boost/array.hpp>
 #include <boost/lambda/lambda.hpp>
+#include <boost/next_prior.hpp>
+#include <boost/range/begin.hpp>
 #include <boost/range/algorithm/copy.hpp>
 #include <boost/range/algorithm/stable_partition.hpp>
 #include <boost/range/algorithm/equal.hpp>
@@ -19,8 +25,13 @@
 #include <boost/assign/v2/ref/array/csv.hpp>
 #include <boost/assign/v2/ref/array/functor.hpp>
 #include <boost/assign/v2/ref/array/functor/converter.hpp>
+#include <boost/assign/v2/put/container.hpp>
 #include <boost/assign/v2/put/deque/csv.hpp>
-#include <boost/assign/v2/put/pipe/csv.hpp>
+#include <boost/assign/v2/put/pipe/functor.hpp>
+#include <boost/assign/v2/put/container/functor.hpp>
+#include <boost/assign/v2/put/std.hpp>
+#include <boost/assign/v2/put/ext.hpp>
+#include <boost/assign/v2/utility/csv.hpp>
 #include <libs/assign/v2/test/other.h>
 
 namespace test_assign_v2{
@@ -31,8 +42,28 @@
     void test(){
 
         namespace as2 = boost::assign::v2;
- namespace bl = boost::lambda;
+ namespace lambda = boost::lambda;
 
+ // INTRODUCTION
+ {
+ // suggested by JB:
+ //[csv_put_pipe
+ std::deque<int> cont;
+ boost::range::stable_partition(
+ /*<< Calls `cont.push_back( t )` for [^t=0,...,5], and returns `cont` >>*/
+ cont | as2::csv( as2::_put, 0, 1, 2, 3, 4, 5),
+ lambda::_1 % 2
+ );
+ //]
+ //[csv_array
+ BOOST_ASSIGN_V2_CHECK(boost::range::equal(
+ cont,
+ /*<< The input [^1, 3, ..., 4] is held by reference (not copies) >>*/
+ as2::ref::csv_array(1, 3, 5, 0, 2, 4)
+ ));
+ //]
+ }
+ // REF + CONVERTER
         {
             //[array_converter
             typedef std::pair<std::string, int> T;
@@ -48,6 +79,7 @@
             BOOST_ASSIGN_V2_CHECK( cont[2].first == "mar" );
             BOOST_ASSIGN_V2_CHECK( cont[2].second == 31 );
         }
+ // CHAIN + REF
         {
             //[chain_w
             std::vector<int> r( 3 ); r[0] = 1; r[1] = 2; r[2] = 0;
@@ -66,36 +98,93 @@
             BOOST_ASSIGN_V2_CHECK( z == r[2] );
             //]
         }
+ // PUT + CSV
+ // container.hpp
         {
- //[array_converter
- typedef std::pair<std::string, int> T;
- typedef std::vector<T> cont_;
- cont_ cont = converter( // name lookup
- as2::ref::array( T("jan", 31) )( T("feb", 28) )( T("mar", 31) )
+ //[csv_put_default
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::list<T> cont;
+ as2::csv( as2::put( cont ) , x, y, z );
+ BOOST_ASSIGN_V2_CHECK( cont.front() == x );
+ BOOST_ASSIGN_V2_CHECK( cont.back() == z );
+ //]
+ BOOST_ASSIGN_V2_CHECK( *boost::next( boost::begin( cont ) ) == y );
+ }
+ // modulo.hpp
+ {
+ //[csv_put_fun
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::vector<int> cont;
+ cont | as2::csv(
+ as2::_put % ( as2::_fun = ( lambda::_1 + 1 ) ),
+ x, y, z
             );
- BOOST_ASSIGN_V2_CHECK( cont[1].first == "feb" );
- BOOST_ASSIGN_V2_CHECK( cont[1].second == 28 );
+ BOOST_ASSIGN_V2_CHECK( cont.front() == ( x + 1 ) );
+ BOOST_ASSIGN_V2_CHECK( cont.back() == ( z + 1 ) );
             //]
- BOOST_ASSIGN_V2_CHECK( cont[0].first == "jan" );
- BOOST_ASSIGN_V2_CHECK( cont[0].second == 31 );
- BOOST_ASSIGN_V2_CHECK( cont[2].first == "mar" );
- BOOST_ASSIGN_V2_CHECK( cont[2].second == 31 );
         }
         {
- // suggested by JB:
- //[motivational_ex1
- std::vector<int> cont;
- boost::range::stable_partition(
- cont | as2::_csv_put(0, 1, 2, 3, 4, 5)/*< Successively calls cont.push_back( t ) for t=0,...,5, and returns cont >*/,
- bl::_1 % 2
+ //[csv_put_id
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::list<T> cont;
+ as2::csv(
+ as2::put( cont ) % ( as2::_fun = as2::_identity ),
+ x, y, z
             );
- BOOST_ASSIGN_V2_CHECK(boost::range::equal(
- cont,
- as2::ref::csv_array(1, 3, 5, 0, 2, 4) /*< Copying is avoided by keeping references to the input (1, 3, ..., 4) >*/
- ));
+ BOOST_ASSIGN_V2_CHECK( cont.front() == x );
+ BOOST_ASSIGN_V2_CHECK( cont.back() == z );
             //]
-
+ BOOST_ASSIGN_V2_CHECK( *boost::next( boost::begin( cont ) ) == y );
+ }
+ // std.hpp
+ {
+ //[csv_put_push_front
+ typedef int T; T x = 1, y = 2, z = 0;
+ std::deque<int> cont;
+ cont | as2::csv( as2::_put % as2::_push_front, x, y ,z );
+ BOOST_ASSIGN_V2_CHECK( cont.front() == z );
+ BOOST_ASSIGN_V2_CHECK( cont.back() == x );
+ //]
+ }
+ // ext.hpp
+ {
+ //[csv_put_lookup
+ std::map<std::string, int> cont;
+ cont["jan"] = 29; cont["feb"] = 26; cont["mar"] = 29;
+ cont |
+ as2::csv(
+ as2::_put % ( as2::_lookup = ( lambda::_1 +=2 ) )
+ , "jan", "feb", "mar"
+ );
+ BOOST_ASSIGN_V2_CHECK( cont["feb"] == 28 );
+ //]
+ BOOST_ASSIGN_V2_CHECK( cont["jan"] == 31 );
+ BOOST_ASSIGN_V2_CHECK( cont["mar"] == 31 );
+ }
+ {
+ //[csv_put_repeat
+ typedef int T; std::deque<T> cont; T x = 1, y = 2, z = 0;
+ cont | as2::csv( as2::_put % ( as2::_repeat = 2 ), x, y, z );
+ BOOST_ASSIGN_V2_CHECK( cont.size() == 6 );
+ //]
+ BOOST_ASSIGN_V2_CHECK( cont[0] == x );
+ BOOST_ASSIGN_V2_CHECK( cont[1] == x );
+ BOOST_ASSIGN_V2_CHECK( cont[2] == y );
+ BOOST_ASSIGN_V2_CHECK( cont[3] == y );
+ BOOST_ASSIGN_V2_CHECK( cont[4] == z );
+ BOOST_ASSIGN_V2_CHECK( cont[5] == z );
         }
+ {
+ //[csv_put_iterate
+ typedef int T; T x = 1, y = 2, z = 0;
+ boost::array<T, 3> cont; cont[0] = x;
+ cont | as2::csv( as2::_put % ( as2::_iterate = 1 ) , y, z );
+ BOOST_ASSIGN_V2_CHECK( cont[1] == y );
+ //]
+ BOOST_ASSIGN_V2_CHECK( cont[0] == x );
+ BOOST_ASSIGN_V2_CHECK( cont[2] == z );
+ }
+
     }
 
 }// xxx_other

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-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -8,11 +8,9 @@
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
 //////////////////////////////////////////////////////////////////////////////
 #include <libs/assign/v2/test/put/container/functor.h>
-#include <libs/assign/v2/test/put/container/csv.h>
 #include <libs/assign/v2/test/put/container/range.h>
 #include <libs/assign/v2/test/put/container.h>
 
-
 namespace test_assign_v2{
 namespace xxx_put{
 namespace xxx_container{
@@ -20,7 +18,6 @@
     void test()
     {
         xxx_functor::test();
- xxx_csv::test();
         xxx_range::test();
     }
 

Modified: sandbox/assign_v2/libs/assign/v2/test/put/container/csv.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/container/csv.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/container/csv.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,62 +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) //
-//////////////////////////////////////////////////////////////////////////////
-#include <list>
-#include <map>
-#include <string>
-#include <boost/ptr_container/ptr_vector.hpp>
-#include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/put/container.hpp>
-#include <libs/assign/v2/test/put/container/csv.h>
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_container{
-namespace xxx_csv{
-
- void test()
- {
- namespace as2 = boost::assign::v2;
- {
- //[csv_list
- typedef int T; T x = 1, y = 2, z = 0;
- std::list<T> cont1, cont2;
- ( as2::put( cont1 ) )( x )( y )( z );
- ( as2::csv_put( cont2 ) )( x, y, z );
- BOOST_ASSIGN_V2_CHECK( cont1 == cont2 );
- //]
- }
- {
- //[csv_map
- typedef std::map<std::string, int> cont_;
- typedef cont_::value_type type; cont_ cont;
- as2::csv_put( cont )(
- type("jan", 31), type("feb", 28), type("mar", 31)
- );
- BOOST_ASSIGN_V2_CHECK( cont["feb"] == 28 );
- //]
- BOOST_ASSIGN_V2_CHECK( cont["jan"] == 31 );
- BOOST_ASSIGN_V2_CHECK( cont["mar"] == 31 );
- }
- {
- //[ptr_vector
- typedef int T; T x = 1, y = 2, z = 0;
- boost::ptr_vector<T> cont1, cont2;
- as2::csv_put( cont1 )( x, y, z );
- as2::put( cont2 )( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( cont1 == cont2 );
- //]
- }
- // TODO ptr_map
- }
-
-}// xxx_csv
-}// xxx_container
-}// xxx_put
-}// test_assign_v2
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/container/csv.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/container/csv.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/container/csv.h 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,25 +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 LIBS_ASSIGN_V2_TEST_PUT_CONTAINER_CSV_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_PUT_CONTAINER_CSV_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_container{
-namespace xxx_csv{
-
- void test();
-
-}// xxx_csv
-}// xxx_container
-}// xxx_put
-}// xxx_test_assign
-
-#endif
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/container/functor.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/container/functor.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/container/functor.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -41,26 +41,36 @@
             // std::string may be replaced by const char* using a custom
             // comparator
             //[map
- std::map<std::string, int> assoc;
- as2::put( assoc )( "jan", 31 )( "feb", 28 )( "mar", 31 );
- BOOST_ASSIGN_V2_CHECK( assoc["feb"] == 28 );
+ typedef std::map<std::string, int> C; C cont;
+ as2::put( cont )( "jan", 31 )( "feb", 28 )( "mar", 31 );
+ BOOST_ASSIGN_V2_CHECK( cont["feb"] == 28 );
+ //]
+ BOOST_ASSIGN_V2_CHECK( cont["jan"] == 31 );
+ BOOST_ASSIGN_V2_CHECK( cont["mar"] == 31 );
+ }
+ {
+ // Used in intro (same as above but different naming)
+ //[cal
+ typedef std::map<std::string, int> C; C cal;
+ /*<< Calls `cal.insert( C::value_type(x, y) )` for [^(x,y)=( "jan", 31 ),( "feb", 28 ),( "mar", 31 )] >>*/
+ as2::put( cal )( "jan", 31 )( "feb", 28 )( "mar", 31 );
+ BOOST_ASSIGN_V2_CHECK( cal["feb"] == 28 );
             //]
         }
         {
             //[set
             typedef std::string T;
- std::set<T> assoc;
+ std::set<T> cont;
             T x = "isomer", y = "ephemeral", z = "prosaic";
- as2::put( assoc )( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( assoc.count( x ) == 1 );
- BOOST_ASSIGN_V2_CHECK( assoc.count( z ) == 1 );
+ as2::put( cont )( x )( y )( z );
+ BOOST_ASSIGN_V2_CHECK( cont.count( x ) == 1 );
+ BOOST_ASSIGN_V2_CHECK( cont.count( z ) == 1 );
             //]
         }
         {
             //[deque
             typedef int T; T x = 1, y = 2, z = 0;
- std::deque<T> cont;
- as2::put( cont )( x )( y )( z );
+ std::deque<T> cont; as2::put( cont )( x )( y )( z );
             BOOST_ASSIGN_V2_CHECK( cont.front() == x );
             BOOST_ASSIGN_V2_CHECK( cont.back() == z );
             //]
@@ -68,8 +78,7 @@
         {
             //[list
             typedef int T; T x = 1, y = 2, z = 0;
- std::list<T> cont;
- ( as2::put( cont ) )( x )( y )( z );
+ std::list<T> cont; ( as2::put( cont ) )( x )( y )( z );
             BOOST_ASSIGN_V2_CHECK( cont.front() == x );
             BOOST_ASSIGN_V2_CHECK( cont.back() == z );
             //]
@@ -77,8 +86,7 @@
         {
             //[vector
             typedef int T; T x = 1, y = 2, z = 0;
- std::vector<T> cont;
- as2::put( cont )( x )( y )( z );
+ std::vector<T> cont; as2::put( cont )( x )( y )( z );
             BOOST_ASSIGN_V2_CHECK( cont.front() == x );
             BOOST_ASSIGN_V2_CHECK( cont.back() == z );
             //]
@@ -86,8 +94,7 @@
         {
             //[queue
             typedef int T; T x = 8, y = 7, z = 4;
- std::queue<T> fifo;
- as2::put( fifo )( x )( y )( z );
+ std::queue<T> fifo; as2::put( fifo )( x )( y )( z );
             BOOST_ASSIGN_V2_CHECK( fifo.front() == x );
             BOOST_ASSIGN_V2_CHECK( fifo.back() == z );
             //]
@@ -95,8 +102,7 @@
         {
             //[stack
             typedef int T; T x = 8, y = 7, z = 4;
- std::stack<T> lifo;
- as2::put( lifo )( x )( y )( z );
+ std::stack<T> lifo; as2::put( lifo )( x )( y )( z );
             BOOST_ASSIGN_V2_CHECK( lifo.top() == z ); lifo.pop();
             BOOST_ASSIGN_V2_CHECK( lifo.top() == y ); lifo.pop();
             BOOST_ASSIGN_V2_CHECK( lifo.top() == x ); lifo.pop();

Modified: sandbox/assign_v2/libs/assign/v2/test/put/deduce.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/deduce.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/deduce.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -34,39 +34,37 @@
     {
         namespace as2 = boost::assign::v2;
         {
- typedef as2::modifier_tag::push_back wanted_;
- as2::put_aux::check_deduce<std::deque<int>, wanted_>();
- as2::put_aux::check_deduce<std::list<int>, wanted_>();
- as2::put_aux::check_deduce<std::vector<int>, wanted_>();
+ typedef as2::modifier_tag::push_back answer_;
+ as2::put_aux::check_deduce<std::deque<int>, answer_>();
+ as2::put_aux::check_deduce<std::list<int>, answer_>();
+ as2::put_aux::check_deduce<std::vector<int>, answer_>();
 
- as2::put_aux::check_deduce<boost::ptr_deque<int>, wanted_>();
- as2::put_aux::check_deduce<boost::ptr_list<int>, wanted_>();
- as2::put_aux::check_deduce<boost::ptr_vector<int>, wanted_>();
+ as2::put_aux::check_deduce<boost::ptr_deque<int>, answer_>();
+ as2::put_aux::check_deduce<boost::ptr_list<int>, answer_>();
+ as2::put_aux::check_deduce<boost::ptr_vector<int>, answer_>();
         }
         {
- typedef as2::modifier_tag::iterate wanted_;
- as2::put_aux::check_deduce<boost::array<int, 1>, wanted_>();
- as2::put_aux::check_deduce<boost::ptr_array<int, 1>, wanted_>();
+ typedef as2::modifier_tag::iterate answer_;
+ as2::put_aux::check_deduce<boost::array<int, 1>, answer_>();
+ as2::put_aux::check_deduce<boost::ptr_array<int, 1>, answer_>();
         }
         {
- typedef as2::modifier_tag::push wanted_;
- as2::put_aux::check_deduce<std::queue<int>, wanted_>();
- as2::put_aux::check_deduce<std::stack<int>, wanted_>();
+ typedef as2::modifier_tag::push answer_;
+ as2::put_aux::check_deduce<std::queue<int>, answer_>();
+ as2::put_aux::check_deduce<std::stack<int>, answer_>();
         }
         {
- typedef as2::modifier_tag::insert wanted_;
- as2::put_aux::check_deduce<std::set<int>, wanted_>();
+ typedef as2::modifier_tag::insert answer_;
+ as2::put_aux::check_deduce<std::set<int>, answer_>();
             typedef std::string str_;
- as2::put_aux::check_deduce<std::map<str_, int>, wanted_>();
+ as2::put_aux::check_deduce<std::map<str_, int>, answer_>();
         }
         {
             //[deduce_map
             typedef std::map<std::string, int> cont_;
- typedef as2::put_traits< cont_ > traits_;
- BOOST_MPL_ASSERT((boost::is_same<
- traits_::modifier_tag,
- as2::modifier_tag::insert
- >));
+ typedef as2::put_aux::deduce_modifier_tag<cont_>::type found_;
+ typedef as2::modifier_tag::insert answer_;
+ BOOST_MPL_ASSERT((boost::is_same<found_, answer_>));
             //]
         }
     }

Modified: sandbox/assign_v2/libs/assign/v2/test/put/ext.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/ext.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/ext.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -7,7 +7,14 @@
 // Boost Software License, Version 1.0. (See accompanying file //
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
 //////////////////////////////////////////////////////////////////////////////
-#include <libs/assign/v2/test/put/ext/functor.h>
+#include <vector>
+#include <map>
+#include <stack>
+#include <boost/lambda/lambda.hpp>
+#include <boost/array.hpp>
+#include <boost/assign/v2/detail/config/check.hpp>
+#include <boost/assign/v2/put/ext.hpp>
+#include <boost/assign/v2/put/container/functor.hpp>
 #include <libs/assign/v2/test/put/ext.h>
 
 namespace test_assign_v2{
@@ -16,7 +23,36 @@
 
     void test()
     {
- xxx_functor::test();
+ namespace as2 = boost::assign::v2;
+ namespace lambda = boost::lambda;
+ {
+ //[iterate
+ boost::array<int, 3> cont;
+ ( as2::put( cont ) % as2::_iterate )( 1 )( 2 )( 3 );
+ BOOST_ASSIGN_V2_CHECK( cont[0] == 1 );
+ BOOST_ASSIGN_V2_CHECK( cont[2] == 3 );
+ //]
+ }
+ {
+ //[lookup
+ std::map<std::string, int> cont;
+ cont["jan"] = 31; cont["feb"] = 29; cont["mar"] = 32;
+ (
+ as2::put( cont ) % ( as2::_lookup = ( lambda::_1 -= 1 ) )
+ )( "feb" )( "mar" );
+ BOOST_ASSIGN_V2_CHECK( cont["feb"] == 28 );
+ BOOST_ASSIGN_V2_CHECK( cont["mar"] == 31 );
+ //]
+ }
+ {
+ //[repeat
+ std::vector<int> cont;
+ ( as2::put( cont ) % ( as2::_repeat = 2 ) )( -1 )( 0 )( 1 );
+ BOOST_ASSIGN_V2_CHECK( cont.size() == 6 );
+ BOOST_ASSIGN_V2_CHECK( cont.front() == -1 );
+ BOOST_ASSIGN_V2_CHECK( cont.back() == 1 );
+ //]
+ }
     }
 
 }// xxx_ext

Modified: sandbox/assign_v2/libs/assign/v2/test/put/ext/functor.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/ext/functor.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/ext/functor.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,62 +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) //
-//////////////////////////////////////////////////////////////////////////////
-#include <vector>
-#include <map>
-#include <stack>
-#include <boost/lambda/lambda.hpp>
-#include <boost/array.hpp>
-#include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/put/ext.hpp>
-#include <boost/assign/v2/put/container/functor.hpp>
-#include <libs/assign/v2/test/put/ext/functor.h>
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_ext{
-namespace xxx_functor{
-
- void test()
- {
- namespace as2 = boost::assign::v2;
- namespace bl = boost::lambda;
- {
- //[iterate
- boost::array<int, 3> cont;
- ( as2::put( cont ) % as2::_iterate )( 1 )( 2 )( 3 );
- BOOST_ASSIGN_V2_CHECK( cont[0] == 1 );
- BOOST_ASSIGN_V2_CHECK( cont[2] == 3 );
- //]
- }
- {
- //[lookup
- std::map<std::string, int> cont;
- cont["jan"] = 31; cont["feb"] = 29; cont["mar"] = 32;
- (
- as2::put( cont ) % ( as2::_lookup = ( bl::_1 -= 1 ) )
- )( "feb" )( "mar" );
- BOOST_ASSIGN_V2_CHECK( cont["feb"] == 28 );
- BOOST_ASSIGN_V2_CHECK( cont["mar"] == 31 );
- //]
- }
- {
- //[repeat
- std::vector<int> cont;
- ( as2::put( cont ) % ( as2::_repeat = 2 ) )( -1 )( 0 )( 1 );
- BOOST_ASSIGN_V2_CHECK( cont.size() == 6 );
- BOOST_ASSIGN_V2_CHECK( cont.front() == -1 );
- BOOST_ASSIGN_V2_CHECK( cont.back() == 1 );
- //]
- }
- }
-
-}// xxx_functor
-}// xxx_ext
-}// xxx_put
-}// test_assign_v2
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/ext/functor.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/ext/functor.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/ext/functor.h 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,25 +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 LIBS_ASSIGN_V2_TEST_PUT_EXT_FUNCTOR_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_PUT_EXT_FUNCTOR_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_ext{
-namespace xxx_functor{
-
- void test();
-
-}// xxx_functor
-}// xxx_ext
-}// xxx_put
-}// xxx_test_assign
-
-#endif
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/modulo.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/modulo.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/modulo.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -23,13 +23,13 @@
     void test()
     {
         namespace as2 = boost::assign::v2;
- namespace bl = boost::lambda;
+ namespace lambda = boost::lambda;
         {
             //[modulo_fun
             typedef int T; T x = 1, y = 2, z = 0;
             std::vector<int> cont;
             (
- as2::put( cont ) % ( as2::_fun = ( bl::_1 + 1 ) )
+ as2::put( cont ) % ( as2::_fun = ( lambda::_1 + 1 ) )
             )( x )( y )( z );
             BOOST_ASSIGN_V2_CHECK( cont.front() == ( x + 1 ) );
             BOOST_ASSIGN_V2_CHECK( cont.back() == ( z + 1 ) );

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -9,7 +9,6 @@
 //////////////////////////////////////////////////////////////////////////////
 #include <libs/assign/v2/test/put/pipe/modulo.h>
 #include <libs/assign/v2/test/put/pipe/functor.h>
-#include <libs/assign/v2/test/put/pipe/csv.h>
 #include <libs/assign/v2/test/put/pipe/range.h>
 #include <libs/assign/v2/test/put/pipe.h>
 
@@ -19,7 +18,6 @@
 
     void test(){
         xxx_modulo::test();
- xxx_csv::test();
         xxx_functor::test();
         xxx_range::test();
     }

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,31 +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) //
-//////////////////////////////////////////////////////////////////////////////
-#include <libs/assign/v2/test/put/pipe/csv/container.h>
-#include <libs/assign/v2/test/put/pipe/csv/rhs.h>
-#include <libs/assign/v2/test/put/pipe/csv/fun.h>
-#include <libs/assign/v2/test/put/pipe/csv/std.h>
-#include <libs/assign/v2/test/put/pipe/csv.h>
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-
- void test(){
- xxx_container::test();
- xxx_rhs::test();
- xxx_fun::test();
- xxx_std::test();
- }
-
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// xxx_test_assign
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv.h 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,25 +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 LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-
- void test();
-
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// xxx_test_assign
-
-#endif
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/container.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/container.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/container.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,37 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#include <list>
-#include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/put/pipe/csv.hpp>
-#include <libs/assign/v2/test/put/pipe/functor/container.h>
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-namespace xxx_container{
-
- void test()
- {
- namespace as2 = boost::assign::v2;
- //[csv_pipe_list
- typedef int T; T x = 1, y = 2, z = 0;
- std::list<T> cont;
- cont | as2::_csv_put( x, y, z );
- BOOST_ASSIGN_V2_CHECK( cont.front() == x );
- BOOST_ASSIGN_V2_CHECK( cont.back() == z );
- //]
- }
-
-}// xxx_container
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// xxx_test_assign
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/container.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/container.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/container.h 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,27 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_CONTAINER_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_CONTAINER_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-namespace xxx_container{
-
- void test();
-
-}// xxx_container
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// xxx_test_assign
-
-#endif
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/ext.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/ext.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/ext.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,76 +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) //
-//////////////////////////////////////////////////////////////////////////////
-#include <map>
-#include <deque>
-#include <string>
-
-#include <boost/lambda/lambda.hpp>
-
-#include <boost/assign/v2/put/pipe/csv.hpp>
-#include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/put/ext/lookup.hpp>
-#include <boost/assign/v2/put/ext/repeat.hpp>
-#include <boost/assign/v2/put/ext/iterate.hpp>
-#include <libs/assign/v2/test/put/pipe/csv/ext.h>
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-namespace xxx_ext{
-
- void test(){
-
- // This test is also about string literals
-
- namespace as2 = boost::assign::v2;
- namespace bl = boost::lambda;
- {
- //[csv_lookup
- std::map<std::string, int> cont;
- cont["jan"] = 29; cont["feb"] = 26; cont["mar"] = 29;
- cont | (
- as2::_csv_put % ( as2::_lookup = ( bl::_1 +=2 ) )
- )( "jan", "feb", "mar" );
- BOOST_ASSIGN_V2_CHECK( cont["jan"] == 31 );
- BOOST_ASSIGN_V2_CHECK( cont["feb"] == 28 );
- BOOST_ASSIGN_V2_CHECK( cont["mar"] == 31 );
- //]
- }
- {
- //[csv_repeat
- typedef int T; std::deque<T> cont; T x = 1, y = 2, z = 0;
- cont | ( as2::_csv_put % ( as2::_repeat = 2 ) )( x, y, z );
- BOOST_ASSIGN_V2_CHECK( cont.size() == 6 );
- //]
- BOOST_ASSIGN_V2_CHECK( cont[0] == x );
- BOOST_ASSIGN_V2_CHECK( cont[1] == x );
- BOOST_ASSIGN_V2_CHECK( cont[2] == y );
- BOOST_ASSIGN_V2_CHECK( cont[3] == y );
- BOOST_ASSIGN_V2_CHECK( cont[4] == z );
- BOOST_ASSIGN_V2_CHECK( cont[5] == z );
- }
- {
- //[csv_iterate
- typedef int T; T x = 1, y = 2, z = 0;
- boost::array<T, 3> cont; cont[0] = x;
- cont | (as2::_csv_put % ( as2::_iterate = 1 ) )( y, z );
- BOOST_ASSIGN_V2_CHECK( cont[0] == x );
- BOOST_ASSIGN_V2_CHECK( cont[1] == y );
- BOOST_ASSIGN_V2_CHECK( cont[2] == z );
- //]
- }
- }
-
-}// xxx_ext
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// xxx_test_assign
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/ext.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/ext.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/ext.h 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,27 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_EXT_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_EXT_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-namespace xxx_ext{
-
- void test();
-
-}// xxx_ext
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// xxx_test_assign
-
-#endif
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/fun.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/fun.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/fun.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,44 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#include <vector>
-#include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/put/modulo/fun.hpp>
-#include <boost/assign/v2/put/pipe/csv.hpp>
-#include <boost/lambda/lambda.hpp>
-#include <libs/assign/v2/test/put/pipe/csv/fun.h>
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-namespace xxx_fun{
-
- void test()
- {
- namespace as2 = boost::assign::v2;
- namespace bl = boost::lambda;
- {
- //[csv_modulo_fun
- typedef int T; T x = 1, y = 2, z = 0;
- std::vector<int> cont;
- cont | (
- as2::_csv_put % ( as2::_fun = ( bl::_1 + 1 ) )
- )( x, y, z );
- BOOST_ASSIGN_V2_CHECK( cont.front() == ( x + 1 ) );
- BOOST_ASSIGN_V2_CHECK( cont.back() == ( z + 1 ) );
- //]
- }
- }
-
-}// xxx_fun
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// test_assign_v2
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/fun.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/fun.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/fun.h 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,27 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_FUN_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_FUN_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-namespace xxx_fun{
-
- void test();
-
-}// xxx_fun
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// xxx_test_assign
-
-#endif
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/rhs.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/rhs.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/rhs.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,77 +1,2 @@
-//////////////////////////////////////////////////////////////////////////////
-// 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) //
-//////////////////////////////////////////////////////////////////////////////
-#include <iostream>
-#include <boost/preprocessor/expr_if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/typeof/typeof.hpp>
-#include <boost/assign/v2/detail/check/equal_val.hpp>
-#include <boost/assign/v2/detail/check/equal_ref.hpp>
-#include <boost/assign/v2/put/pipe/csv.hpp>
-
-#include <libs/assign/v2/test/put/pipe/csv/rhs.h>
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-namespace xxx_rhs{
-
- template<int i, typename T, typename P, typename U>
- void xxx_assert(T& rhs, P const& pred, U const& u)
- {
- // TODO name lookup?
- using namespace boost;
- using namespace boost::assign::v2;
-
- pred( rhs.seq_args()[ i ].get(), u );
- }
-
- void test(){
-
- namespace as2 = boost::assign::v2;
- typedef boost::mpl::int_<0> zero_;
- typedef int const cint_;
- cint_ x = -1, y = 0, z = 1;
- int x1 = x + 5, y1 = y + 5, z1 = z + 5;
-
- namespace chk = as2::check_aux;
- typedef chk::equal_ref r_;
- typedef chk::equal_val v_;
-
- {
- BOOST_AUTO( rhs, ( as2::_csv_put( x1, y1, z1 ) ) );
- xxx_assert<0>(rhs, r_(), x1);
- xxx_assert<1>(rhs, r_(), y1);
- xxx_assert<2>(rhs, r_(), z1);
- }
- {
- BOOST_AUTO( rhs, ( as2::_csv_put( x1, y1, z ) ) );
- xxx_assert<0>(rhs, r_(), x1);
- xxx_assert<1>(rhs, r_(), y1);
- xxx_assert<2>(rhs, r_(), z);
- }
-#define Z -10
- {
- BOOST_AUTO( rhs, ( as2::_csv_put( x1, y, Z ) ) );
- xxx_assert<0>(rhs, r_(), x1);
- xxx_assert<1>(rhs, r_(), y);
- xxx_assert<2>(rhs, v_(), Z);
- }
-
-#undef Z
-
- }
-
-}// xxx_rhs
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// xxx_test_assign
+// TODO remove file
 

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/rhs.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/rhs.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/rhs.h 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,27 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_RHS_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_RHS_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-namespace xxx_rhs{
-
- void test();
-
-}// xxx_rhs
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// xxx_test_assign
-
-#endif
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/std.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/std.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/std.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,42 +1,2 @@
-//////////////////////////////////////////////////////////////////////////////
-// 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) //
-//////////////////////////////////////////////////////////////////////////////
-#include <deque>
-#include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/put/std/push_front.hpp>
-#include <boost/assign/v2/put/pipe/csv.hpp>
-#include <boost/lambda/lambda.hpp>
-#include <libs/assign/v2/test/put/pipe/csv/std.h>
+// TODO remove file
 
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-namespace xxx_std{
-
- void test()
- {
- namespace as2 = boost::assign::v2;
- namespace bl = boost::lambda;
- {
- //[push_front
- typedef int T; T x = 1, y = 2, z = 0;
- std::deque<int> cont;
- cont | ( as2::_csv_put % as2::_push_front )( x, y ,z );
- BOOST_ASSIGN_V2_CHECK( cont.front() == z );
- BOOST_ASSIGN_V2_CHECK( cont.back() == x );
- //]
- }
- }
-
-}// xxx_std
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// test_assign_v2

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/std.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/std.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/csv/std.h 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,27 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_STD_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_PUT_PIPE_CSV_STD_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_pipe{
-namespace xxx_csv{
-namespace xxx_std{
-
- void test();
-
-}// xxx_std
-}// xxx_csv
-}// xxx_pipe
-}// xxx_put
-}// xxx_test_assign
-
-#endif
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/fun.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/fun.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/fun.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -23,13 +23,13 @@
     void test()
     {
         namespace as2 = boost::assign::v2;
- namespace bl = boost::lambda;
+ namespace lambda = boost::lambda;
         {
             //[fun
             typedef int T; T x = 1, y = 2, z = 0;
             std::vector<int> cont;
             cont | (
- as2::_put % ( as2::_fun = ( bl::_1 + 1 ) )
+ as2::_put % ( as2::_fun = ( lambda::_1 + 1 ) )
             )( x )( y )( z );
             BOOST_ASSIGN_V2_CHECK( cont.front() == ( x + 1 ) );
             BOOST_ASSIGN_V2_CHECK( cont.back() == ( z + 1 ) );

Modified: sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/std.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/std.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/pipe/functor/std.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -23,7 +23,7 @@
     void test()
     {
         namespace as2 = boost::assign::v2;
- namespace bl = boost::lambda;
+ namespace lambda = boost::lambda;
         {
             //[push_front
             typedef int T; T x = 1, y = 2, z = 0;

Modified: sandbox/assign_v2/libs/assign/v2/test/put/ptr.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/ptr.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/ptr.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -7,16 +7,82 @@
 // Boost Software License, Version 1.0. (See accompanying file //
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
 //////////////////////////////////////////////////////////////////////////////
-#include <libs/assign/v2/test/put/ptr/functor.h>
+#include <string>
+#include <boost/ptr_container/ptr_array.hpp>
+#include <boost/ptr_container/ptr_deque.hpp>
+#include <boost/ptr_container/ptr_list.hpp>
+#include <boost/ptr_container/ptr_map.hpp>
+#include <boost/ptr_container/ptr_set.hpp>
+#include <boost/ptr_container/ptr_vector.hpp>
+#include <boost/assign/v2/detail/config/check.hpp>
+#include <boost/assign/v2/put/container/functor.hpp>
+
 #include <libs/assign/v2/test/put/ptr.h>
 
 namespace test_assign_v2{
 namespace xxx_put{
 namespace xxx_ptr{
 
- void test()
- {
- xxx_functor::test();
+ void test(){
+ namespace as2 = boost::assign::v2;
+ {
+ //[array
+ typedef int T;
+ T x = 1, y = 2, z = 3;
+ boost::ptr_array<T, 3> cont; as2::put( cont )( x )( y )( z );
+ BOOST_ASSIGN_V2_CHECK( cont[0] == x );
+ BOOST_ASSIGN_V2_CHECK( cont[2] == z );
+ //]
+
+ }
+/*
+ // These are not yet available (TODO)
+ {
+ //[map
+ boost::ptr_map<std::string, int> assoc;
+ as2::put( assoc )( "jan", 31 )( "feb", 28 )( "mar", 31 );
+ BOOST_ASSIGN_V2_CHECK( assoc["feb"] == 28 );
+ //]
+ }
+ {
+ //[set
+ typedef std::string T;
+ boost::ptr_set<T> assoc;
+ T x = "isomer", y = "ephemeral", z = "prosaic";
+ as2::put( assoc )( x )( y )( z );
+ BOOST_ASSIGN_V2_CHECK( assoc.count( x ) == 1 );
+ BOOST_ASSIGN_V2_CHECK( assoc.count( z ) == 1 );
+ //]
+ }
+*/
+ {
+ //[deque
+ typedef int T; T x = 1, y = 2, z = 0;
+ boost::ptr_deque<T> cont;
+ as2::put( cont )( x )( y )( z );
+ BOOST_ASSIGN_V2_CHECK( cont.front() == x );
+ BOOST_ASSIGN_V2_CHECK( cont.back() == z );
+ //]
+ }
+ {
+ //[list
+ typedef int T; T x = 1, y = 2, z = 0;
+ boost::ptr_list<T> cont;
+ ( as2::put( cont ) )( x )( y )( z );
+ BOOST_ASSIGN_V2_CHECK( cont.front() == x );
+ BOOST_ASSIGN_V2_CHECK( cont.back() == z );
+ //]
+ }
+ {
+ //[vector
+ typedef int T; T x = 1, y = 2, z = 0;
+ boost::ptr_vector<T> cont;
+ as2::put( cont )( x )( y )( z );
+ BOOST_ASSIGN_V2_CHECK( cont.front() == x );
+ BOOST_ASSIGN_V2_CHECK( cont.back() == z );
+ //]
+ }
+
     }// test
 
 }// xxx_ptr

Modified: sandbox/assign_v2/libs/assign/v2/test/put/ptr/functor.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/ptr/functor.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/ptr/functor.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,89 +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) //
-//////////////////////////////////////////////////////////////////////////////
-#include <string>
-#include <boost/ptr_container/ptr_array.hpp>
-#include <boost/ptr_container/ptr_deque.hpp>
-#include <boost/ptr_container/ptr_list.hpp>
-#include <boost/ptr_container/ptr_map.hpp>
-#include <boost/ptr_container/ptr_set.hpp>
-#include <boost/ptr_container/ptr_vector.hpp>
-#include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/put/container/functor.hpp>
-
-#include <libs/assign/v2/test/put/ptr/functor.h>
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_ptr{
-namespace xxx_functor{
-
- void test(){
- namespace as2 = boost::assign::v2;
- {
- //[array
- typedef int T;
- T x = 1, y = 2, z = 3;
- boost::ptr_array<T, 3> cont; as2::put( cont )( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( cont[0] == x );
- BOOST_ASSIGN_V2_CHECK( cont[2] == z );
- //]
- }
-/*
- {
- //[map
- boost::ptr_map<std::string, int> assoc;
- as2::put( assoc )( "jan", 31 )( "feb", 28 )( "mar", 31 );
- BOOST_ASSIGN_V2_CHECK( assoc["feb"] == 28 );
- //]
- }
- {
- //[set
- typedef std::string T;
- boost::ptr_set<T> assoc;
- T x = "isomer", y = "ephemeral", z = "prosaic";
- as2::put( assoc )( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( assoc.count( x ) == 1 );
- BOOST_ASSIGN_V2_CHECK( assoc.count( z ) == 1 );
- //]
- }
-*/
- {
- //[deque
- typedef int T; T x = 1, y = 2, z = 0;
- boost::ptr_deque<T> cont;
- as2::put( cont )( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( cont.front() == x );
- BOOST_ASSIGN_V2_CHECK( cont.back() == z );
- //]
- }
- {
- //[list
- typedef int T; T x = 1, y = 2, z = 0;
- boost::ptr_list<T> cont;
- ( as2::put( cont ) )( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( cont.front() == x );
- BOOST_ASSIGN_V2_CHECK( cont.back() == z );
- //]
- }
- {
- //[vector
- typedef int T; T x = 1, y = 2, z = 0;
- boost::ptr_vector<T> cont;
- as2::put( cont )( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( cont.front() == x );
- BOOST_ASSIGN_V2_CHECK( cont.back() == z );
- //]
- }
- }// test
-
-}// xxx_functor
-}// xxx_ptr
-}// xxx_put
-}// xxx_test_assign
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/ptr/functor.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/ptr/functor.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/ptr/functor.h 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,25 +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 LIBS_ASSIGN_V2_TEST_PUT_PTR_FUNCTOR_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_PUT_PTR_FUNCTOR_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_ptr{
-namespace xxx_functor{
-
- void test();
-
-}// xxx_functor
-}// xxx_ptr
-}// xxx_put
-}// xxx_test_assign
-
-#endif
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/std.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/std.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/std.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -7,7 +7,10 @@
 // Boost Software License, Version 1.0. (See accompanying file //
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
 //////////////////////////////////////////////////////////////////////////////
-#include <libs/assign/v2/test/put/std/functor.h>
+#include <deque>
+#include <boost/assign/v2/detail/config/check.hpp>
+#include <boost/assign/v2/put/std/push_front.hpp>
+#include <boost/assign/v2/put/container/functor.hpp>
 #include <libs/assign/v2/test/put/std.h>
 
 namespace test_assign_v2{
@@ -16,7 +19,20 @@
 
     void test()
     {
- xxx_functor::test();
+ namespace as2 = boost::assign::v2;
+
+ /* Only have to check those that are in /std which are not in
+ /deduce/dependee.hpp */
+
+ {
+ //[std_deque
+ typedef int T; T x = 0, y = 2, z = 1;
+ std::deque<T> cont;
+ ( as2::put( cont ) % as2::_push_front )( x )( y )( z );
+ BOOST_ASSIGN_V2_CHECK( cont[0] == z );
+ BOOST_ASSIGN_V2_CHECK( cont[2] == x );
+ //]
+ }
     }
 
 }// xxx_std

Modified: sandbox/assign_v2/libs/assign/v2/test/put/std/functor.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/std/functor.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/std/functor.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,42 +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) //
-//////////////////////////////////////////////////////////////////////////////
-#include <deque>
-#include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/put/std/push_front.hpp>
-#include <boost/assign/v2/put/container/functor.hpp>
-#include <libs/assign/v2/test/put/std/functor.h>
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_std{
-namespace xxx_functor{
-
- void test()
- {
- namespace as2 = boost::assign::v2;
-
- /* Only have to check those that are in /std which are not in
- /deduce/dependee.hpp */
-
- {
- //[std_deque
- typedef int T; T x = 0, y = 2, z = 1;
- std::deque<T> cont;
- ( as2::put( cont ) % as2::_push_front )( x )( y )( z );
- BOOST_ASSIGN_V2_CHECK( cont[0] == z );
- BOOST_ASSIGN_V2_CHECK( cont[2] == x );
- //]
- }
- }
-
-}// xxx_functor
-}// xxx_std
-}// xxx_put
-}// test_assign_v2
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/libs/assign/v2/test/put/std/functor.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put/std/functor.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put/std/functor.h 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -1,25 +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 LIBS_ASSIGN_V2_TEST_PUT_STD_FUNCTOR_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_PUT_STD_FUNCTOR_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_put{
-namespace xxx_std{
-namespace xxx_functor{
-
- void test();
-
-}// xxx_functor
-}// xxx_std
-}// xxx_put
-}// xxx_test_assign
-
-#endif
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/libs/assign/v2/test/unit_testing/put.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/unit_testing/put.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/unit_testing/put.cpp 2011-02-26 14:06:57 EST (Sat, 26 Feb 2011)
@@ -19,16 +19,14 @@
 #include <libs/assign/v2/test/put/modulo.cpp>
 
 #include <libs/assign/v2/test/put/container/functor.cpp>
-#include <libs/assign/v2/test/put/container/csv.cpp>
 #include <libs/assign/v2/test/put/container/range.cpp>
 
-#include <libs/assign/v2/test/put/std/functor.cpp>
-#include <libs/assign/v2/test/put/ext/functor.cpp>
-#include <libs/assign/v2/test/put/ptr/functor.cpp>
+#include <libs/assign/v2/test/put/std.cpp>
+#include <libs/assign/v2/test/put/ext.cpp>
+#include <libs/assign/v2/test/put/ptr.cpp>
 
 #include <libs/assign/v2/test/put/deque/modulo.cpp>
 #include <libs/assign/v2/test/put/deque/functor.cpp>
-#include <libs/assign/v2/test/put/deque/csv.cpp>
 #include <libs/assign/v2/test/put/deque/std.cpp>
 
 #include <libs/assign/v2/test/put/pipe/functor/container.cpp>
@@ -38,12 +36,6 @@
 #include <libs/assign/v2/test/put/pipe/functor/std.cpp>
 #include <libs/assign/v2/test/put/pipe/functor/str_literal.cpp>
 
-#include <libs/assign/v2/test/put/pipe/csv/container.cpp>
-#include <libs/assign/v2/test/put/pipe/csv/rhs.cpp>
-#include <libs/assign/v2/test/put/pipe/csv/fun.cpp>
-#include <libs/assign/v2/test/put/pipe/csv/std.cpp>
-#include <libs/assign/v2/test/put/pipe/csv/ext.cpp>
-
 #include <libs/assign/v2/test/put/pipe/modulo.cpp>
 #include <libs/assign/v2/test/put/pipe/range.cpp>
 
@@ -60,16 +52,14 @@
 
 
                 test->add( BOOST_TEST_CASE( &ns::xxx_container::xxx_functor::test ) );
- test->add( BOOST_TEST_CASE( &ns::xxx_container::xxx_csv::test ) );
                 test->add( BOOST_TEST_CASE( &ns::xxx_container::xxx_range::test ) );
 
- test->add( BOOST_TEST_CASE( &ns::xxx_std::xxx_functor::test ) );
- test->add( BOOST_TEST_CASE( &ns::xxx_ext::xxx_functor::test ) );
- test->add( BOOST_TEST_CASE( &ns::xxx_ptr::xxx_functor::test ) );
+ test->add( BOOST_TEST_CASE( &ns::xxx_std::test ) );
+ test->add( BOOST_TEST_CASE( &ns::xxx_ext::test ) );
+ test->add( BOOST_TEST_CASE( &ns::xxx_ptr::test ) );
 
                 test->add( BOOST_TEST_CASE( &ns::xxx_deque::xxx_modulo::test ) );
                 test->add( BOOST_TEST_CASE( &ns::xxx_deque::xxx_functor::test ) );
- test->add( BOOST_TEST_CASE( &ns::xxx_deque::xxx_csv::test ) );
                 test->add( BOOST_TEST_CASE( &ns::xxx_deque::xxx_std::test ) );
 
                 test->add( BOOST_TEST_CASE( &ns::xxx_pipe::xxx_functor::xxx_container::test ) );
@@ -79,11 +69,6 @@
                 test->add( BOOST_TEST_CASE( &ns::xxx_pipe::xxx_functor::xxx_std::test ) );
                 test->add( BOOST_TEST_CASE( &ns::xxx_pipe::xxx_functor::xxx_str_literal::test ) );
 
- test->add( BOOST_TEST_CASE( &ns::xxx_pipe::xxx_csv::xxx_container::test ) );
- test->add( BOOST_TEST_CASE( &ns::xxx_pipe::xxx_csv::xxx_rhs::test ) );
- test->add( BOOST_TEST_CASE( &ns::xxx_pipe::xxx_csv::xxx_fun::test ) );
- test->add( BOOST_TEST_CASE( &ns::xxx_pipe::xxx_csv::xxx_std::test ) );
- test->add( BOOST_TEST_CASE( &ns::xxx_pipe::xxx_csv::xxx_ext::test ) );
     }
     return test;
 }


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