Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r70100 - in sandbox/assign_v2: boost/assign/v2/detail boost/assign/v2/detail/check/equal_container boost/assign/v2/detail/traits boost/assign/v2/detail/traits/container boost/assign/v2/put/adapter boost/assign/v2/put/fun boost/assign/v2/put/modifier boost/assign/v2/utility/chain boost/assign/v2/utility/conversion libs/assign/v2 libs/assign/v2/src libs/assign/v2/test libs/assign/v2/test/detail libs/assign/v2/test/detail/traits libs/assign/v2/test/put libs/assign/v2/test/unit_testing
From: erwann.rogard_at_[hidden]
Date: 2011-03-17 21:54:58


Author: e_r
Date: 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
New Revision: 70100
URL: http://svn.boost.org/trac/boost/changeset/70100

Log:
upd assign_v2
Text files modified:
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/array.hpp | 5
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/deduce.hpp | 38 +++----
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/fifo.hpp | 5
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/lifo.hpp | 5
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/range.hpp | 5
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/sorted.hpp | 9 +
   sandbox/assign_v2/boost/assign/v2/detail/traits.hpp | 3
   sandbox/assign_v2/boost/assign/v2/detail/traits/container.hpp | 30 -----
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/forward_to_value.hpp | 30 -----
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/fwd.hpp | 49 ---------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/has_push.hpp | 57 -----------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/is.hpp | 26 -----
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_array.hpp | 42 --------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_associative.hpp | 36 -------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_fifo.hpp | 38 -------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_lifo.hpp | 38 -------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_map.hpp | 40 -------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_ptr_container.hpp | 30 -----
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_range.hpp | 32 ------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_set.hpp | 40 -------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_sorted.hpp | 41 --------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_fwd.hpp | 100 --------------------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_to_value.hpp | 197 ---------------------------------------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_to_value_container.hpp | 30 -----
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/static_size.hpp | 47 ---------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/value.hpp | 38 -------
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/value_container.hpp | 35 ------
   sandbox/assign_v2/boost/assign/v2/detail/traits/type.hpp | 1
   sandbox/assign_v2/boost/assign/v2/put/adapter/crtp.hpp | 4
   sandbox/assign_v2/boost/assign/v2/put/fun/deduce.hpp | 27 +++-
   sandbox/assign_v2/boost/assign/v2/put/modifier/deduce.hpp | 17 +-
   sandbox/assign_v2/boost/assign/v2/put/modifier/iterate.hpp | 3
   sandbox/assign_v2/boost/assign/v2/utility/chain/chain.hpp | 24 +---
   sandbox/assign_v2/boost/assign/v2/utility/chain/iterator.hpp | 16 +--
   sandbox/assign_v2/boost/assign/v2/utility/chain/meta.hpp | 27 ++--
   sandbox/assign_v2/boost/assign/v2/utility/conversion/predicate.hpp | 27 ++++-
   sandbox/assign_v2/libs/assign/v2/src/main.cpp | 23 ++--
   sandbox/assign_v2/libs/assign/v2/test/detail/traits.cpp | 39 ++++++-
   sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_push.cpp | 45 --------
   sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_push.h | 27 -----
   sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_value_type.cpp | 41 --------
   sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_value_type.h | 26 -----
   sandbox/assign_v2/libs/assign/v2/test/put.cpp | 3
   sandbox/assign_v2/libs/assign/v2/test/put/ptr.cpp | 48 +++++---
   sandbox/assign_v2/libs/assign/v2/test/unit_testing/detail.cpp | 6
   sandbox/assign_v2/libs/assign/v2/test/unit_testing/put.cpp | 7 -
   sandbox/assign_v2/libs/assign/v2/tutorial.cpp | 10 ++
   47 files changed, 227 insertions(+), 1240 deletions(-)

Modified: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/array.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/array.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/array.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -11,15 +11,16 @@
 #define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_ARRAY_ER_2010_HPP
 #include <boost/assign/v2/detail/config/check.hpp>
 #include <boost/assign/v2/detail/check/equal_container/pp.hpp>
-#include <boost/assign/v2/detail/traits/container/is_array.hpp>
 
 namespace boost{
 namespace assign{
 namespace v2{
 namespace check_aux{
 
+ struct array{};
+
     template<typename C, typename R>
- void equal_container(v2::container_tag::array, C const & cont, R const& r)
+ void equal_container(array, C const & cont, R const& r)
     {
         BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_SIZE
         BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_ELEM_AT

Modified: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/deduce.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/deduce.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/deduce.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -9,12 +9,12 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_DEDUCE_ER_2010_HPP
 #define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_DEDUCE_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is_array.hpp>
-#include <boost/assign/v2/detail/traits/container/is_fifo.hpp>
-#include <boost/assign/v2/detail/traits/container/is_lifo.hpp>
-#include <boost/assign/v2/detail/traits/container/is_map.hpp>
-#include <boost/assign/v2/detail/traits/container/is_range.hpp>
-#include <boost/assign/v2/detail/traits/container/is_sorted.hpp>
+#include <boost/assign/v2/detail/traits/value_container/category.hpp>
+#include <boost/assign/v2/detail/check/equal_container/array.hpp>
+#include <boost/assign/v2/detail/check/equal_container/fifo.hpp>
+#include <boost/assign/v2/detail/check/equal_container/lifo.hpp>
+#include <boost/assign/v2/detail/check/equal_container/range.hpp>
+#include <boost/assign/v2/detail/check/equal_container/sorted.hpp>
 #include <boost/assign/v2/detail/traits/switch.hpp>
 
 namespace boost{
@@ -28,43 +28,35 @@
     template<>
     struct case_<switch_tag::check_container, 0> :
         switch_aux::helper<
- v2::container_tag::fifo,
- v2::container_traits::is_fifo
+ check_aux::fifo,
+ value_container_aux::is_fifo
>{};
 
     template<>
     struct case_<switch_tag::check_container, 1> :
         switch_aux::helper<
- v2::container_tag::lifo,
- v2::container_traits::is_lifo
+ check_aux::lifo,
+ value_container_aux::is_lifo
>{};
 
- // Uncommented bec. map is taken care of by sorted
- //template<>
- //struct case_<switch_tag::check_container, 2> :
- // switch_aux::helper<
- // v2::container_tag::map,
- // v2::container_traits::is_map
- // >{};
-
     template<>
     struct case_<switch_tag::check_container, 2> :
         switch_aux::helper<
- v2::container_tag::sorted,
- v2::container_traits::is_sorted
+ check_aux::sorted,
+ value_container_aux::is_sorted
>{};
 
     template<>
     struct case_<switch_tag::check_container, 3> :
         switch_aux::helper<
- v2::container_tag::array,
- v2::container_traits::is_array
+ check_aux::array,
+ value_container_aux::is_array
>{};
 
     template<>
     struct case_<switch_tag::check_container, 4> :
         switch_aux::helper<
- container_tag::range
+ check_aux::range
>{};
 
 }// switch_aux

Modified: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/fifo.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/fifo.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/fifo.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -11,15 +11,16 @@
 #define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_FIFO_ER_2010_HPP
 #include <boost/assign/v2/detail/check/equal_container/pp.hpp>
 #include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/detail/traits/container/is_fifo.hpp>
 
 namespace boost{
 namespace assign{
 namespace v2{
 namespace check_aux{
 
+ struct fifo{};
+
     template<typename C, typename R>
- void equal_container(v2::container_tag::fifo, C const & cont, R const& r)
+ void equal_container(fifo, C const & cont, R const& r)
     {
         BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_SIZE
         BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_ELEM_AT

Modified: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/lifo.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/lifo.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/lifo.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -11,15 +11,16 @@
 #define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_LIFO_ER_2010_HPP
 #include <boost/assign/v2/detail/check/equal_container/pp.hpp>
 #include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/detail/traits/container/is_lifo.hpp>
 
 namespace boost{
 namespace assign{
 namespace v2{
 namespace check_aux{
 
+ struct lifo{};
+
     template<typename C, typename R>
- void equal_container(v2::container_tag::lifo, C const & cont, R const& r)
+ void equal_container(lifo, C const & cont, R const& r)
     {
         BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_SIZE
         BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_ELEM_AT

Modified: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/range.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/range.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/range.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -10,7 +10,6 @@
 #ifndef BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_RANGE_ER_2010_HPP
 #define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_RANGE_ER_2010_HPP
 #include <boost/assign/v2/detail/config/check.hpp>
-#include <boost/assign/v2/detail/traits/container/is_range.hpp>
 #include <boost/range/algorithm/equal.hpp>
 
 namespace boost{
@@ -18,8 +17,10 @@
 namespace v2{
 namespace check_aux{
 
+ struct range{};
+
     template<typename C, typename R>
- void equal_container(v2::container_tag::range, C const & cont, R const& r)
+ void equal_container(range, C const & cont, R const& r)
     {
         BOOST_ASSIGN_V2_CHECK( boost::equal( cont, r ) );
     }

Modified: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/sorted.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/sorted.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/sorted.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -9,21 +9,22 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_SORTED_ER_2010_HPP
 #define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_SORTED_ER_2010_HPP
-#include <boost/assign/v2/detail/check/equal_container/range.hpp>
 #include <boost/range/algorithm/sort.hpp>
+#include <boost/assign/v2/detail/check/equal_container/range.hpp>
 
 namespace boost{
 namespace assign{
 namespace v2{
 namespace check_aux{
 
+ struct sorted{};
+
     template<typename C, typename R>
- void equal_container(v2::container_tag::sorted, C const & cont, R const& r)
+ void equal_container(sorted, C const & cont, R const& r)
     {
- typedef v2::container_tag::range tag_;
         // R may not be sorted, but benchmark is.
         C benchmark( boost::begin( r ), boost::end( r ) );
- equal_container(tag_(), cont, benchmark );
+ equal_container(range(), cont, benchmark );
     }
 
 }// check_aux

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -10,6 +10,7 @@
 #ifndef BOOST_ASSIGN_V2_DETAIL_TRAITS_ER_2010_HPP
 #define BOOST_ASSIGN_V2_DETAIL_TRAITS_ER_2010_HPP
 #include <boost/assign/v2/detail/traits/type.hpp>
-#include <boost/assign/v2/detail/traits/container.hpp>
+#include <boost/assign/v2/detail/traits/ptr_container.hpp>
+#include <boost/assign/v2/detail/traits/value_container.hpp>
 
 #endif // BOOST_ASSIGN_V2_DETAIL_TRAITS_ER_2010_HPP

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,29 +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_TRAITS_CONTAINER_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/forward_to_value.hpp>
-#include <boost/assign/v2/detail/traits/container/has_push.hpp>
-#include <boost/assign/v2/detail/traits/container/is_array.hpp>
-#include <boost/assign/v2/detail/traits/container/is_associative.hpp>
-#include <boost/assign/v2/detail/traits/container/is_fifo.hpp>
-#include <boost/assign/v2/detail/traits/container/is_lifo.hpp>
-#include <boost/assign/v2/detail/traits/container/is_map.hpp>
-#include <boost/assign/v2/detail/traits/container/is_ptr_container.hpp>
-#include <boost/assign/v2/detail/traits/container/is_range.hpp>
-#include <boost/assign/v2/detail/traits/container/is_set.hpp>
-#include <boost/assign/v2/detail/traits/container/is_sorted.hpp>
-#include <boost/assign/v2/detail/traits/container/ptr_to_value.hpp>
-#include <boost/assign/v2/detail/traits/container/ptr_to_value_container.hpp>
-#include <boost/assign/v2/detail/traits/container/static_size.hpp>
-#include <boost/assign/v2/detail/traits/container/value.hpp>
-#include <boost/assign/v2/detail/traits/container/value_container.hpp>
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/forward_to_value.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/forward_to_value.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/forward_to_value.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,29 +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_TRAITS_CONTAINER_FWD_TO_VALUE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_FWD_TO_VALUE_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/value_container.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_traits{
-
- template<template<typename T> class F, typename V>
- struct forward_to_value: F<
- typename value_container<V>::type
- >{};
-
-}// container_traits
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_FWD_TO_VALUE_ER_2010_HPP
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/fwd.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/fwd.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/fwd.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,48 +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_DETAIL_TRAITS_CONTAINER_FWD_ER_2010_HPP
-#define BOOST_ASSIGN_V2_DETAIL_TRAITS_CONTAINER_FWD_ER_2010_HPP
-#include <cstddef>
-
-namespace std{
-
- // www.sgi.com/tech/stl/Deque.html
- template<typename T, typename A> class deque;
-
- // http://www.sgi.com/tech/stl/List.html
- template<typename T, typename A> class list;
-
- // http://www.sgi.com/tech/stl/Map.html
- template<typename K, typename T, typename C, typename A> class map;
-
- // http://www.sgi.com/tech/stl/queue.html
- template<typename T, typename S> class queue;
-
- // http://www.sgi.com/tech/stl/set.html
- template<typename T, typename C, typename A> class set;
-
- // http://www.sgi.com/tech/stl/stack.html
- template<typename T, typename S> class stack;
-
- // http://www.sgi.com/tech/stl/Vector.html
- template<typename T, typename A> class vector;
-
-}// std
-namespace boost{
-
- // http://www.boost.org/doc/libs/release/doc/html/array.html
- template<typename T, std::size_t size> class array;
-
- // http://www.boost.org/doc/libs/release/libs/circular_buffer/index.html
- template<typename T, typename Alloc> class circular_buffer;
-
-}// boost
-
-#endif // BOOST_ASSIGN_V2_DETAIL_TRAITS_CONTAINER_FWD_ER_2010_HPP
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/has_push.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/has_push.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/has_push.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,56 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_TRAITS_CONTAINER_HAS_PUSH_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_HAS_PUSH_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/value.hpp>
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_traits{
-
- template<typename V, typename T
- = typename container_traits::value<V>::type>
- struct has_push{
-
- typedef typename boost::type_traits::yes_type yes_;
- typedef typename boost::type_traits::no_type no_;
-
- template<typename U,void (U::*fp)(T const&)>
- struct helper{
- // See http://lists.boost.org/Archives/boost/2002/03/27233.php
- };
-
- template<typename U>
- static yes_ test(U*, helper<U, &U::push>* p = 0);
- static no_ test(...);
-
- BOOST_STATIC_CONSTANT(
- bool,
- value = sizeof( test((V*)0) ) == sizeof( yes_ )
- );
-
- typedef ::boost::mpl::bool_<value> type;
-
- };
-
- template<typename V>
- struct has_push_deduced_value : v2::container_traits::has_push<V>{};
-
-}// container_traits
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_HAS_PUSH_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/is.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/is.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/is.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 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 BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/fwd.hpp>
-#include <boost/assign/v2/detail/traits/container/forward_to_value.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS(name)\
-namespace container_traits{\
- template<typename V>\
- struct BOOST_PP_CAT(is_,name) : forward_to_value<\
- container_traits_aux::BOOST_PP_CAT(is_,name),\
- typename boost::remove_cv<V>::type\
- >{};\
-}\
-/**/
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_array.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_array.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_array.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,41 +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_TRAITS_CONTAINER_IS_ARRAY_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_ARRAY_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is.hpp>
-
-namespace boost{
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
- template< class T, std::size_t sz >
- class array;
-#endif
-
-namespace assign{
-namespace v2{
-namespace container_tag{
- struct array{};
-}// container_tag
-namespace container_traits_aux{
-
- template<typename V> struct is_array : ::boost::mpl::false_{};
- template<typename T, std::size_t sz> struct is_array<
- boost::array<T, sz>
- > : ::boost::mpl::true_{};
-
-}// containert_type_aux
-
- BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS(array)
-
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_ARRAY_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_associative.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_associative.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_associative.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,35 +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_TRAITS_CONTAINER_IS_ASSOCIATIVE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_ASSOCIATIVE_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is_map.hpp>
-#include <boost/assign/v2/detail/traits/container/is_set.hpp>
-#include <boost/mpl/or.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_tag{
- struct associative{};
-}// container_tag
-namespace container_traits{
-
- template<typename V>
- struct is_associative : ::boost::mpl::or_<
- container_traits::is_set<V>,
- container_traits::is_map<V>
- >{};
-
-}// container_traits
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_ASSOCIATIVE_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_fifo.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_fifo.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_fifo.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,37 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_FIFO_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_FIFO_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_tag{
- struct fifo{};
-}// container_tag
-namespace container_traits_aux{
-
- template<typename V>
- struct is_fifo : ::boost::mpl::false_{};
-
- template<typename T, typename A>
- struct is_fifo< std::queue<T,A> > : ::boost::mpl::true_{};
-
-}// container_traits_aux
-
-
- BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS(fifo)
-
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_FIFO_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_lifo.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_lifo.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_lifo.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,37 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_LIFO_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_LIFO_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_tag{
- struct lifo{};
-}// container_tag
-namespace container_traits_aux{
-
- template<typename V>
- struct is_lifo : ::boost::mpl::false_{};
-
- template<typename T, typename A>
- struct is_lifo< std::stack<T,A> > : ::boost::mpl::true_{};
-
-}// container_traits_aux
-
-
- BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS(lifo)
-
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_LIFO_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_map.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_map.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_map.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,39 +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_TRAITS_CONTAINER_IS_MAP_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_MAP_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_tag{
- struct map{};
-}// container_tag
-namespace container_traits_aux{
-
- template<typename V>
- struct is_map : ::boost::mpl::false_{};
-
- template<typename K, typename D, typename C, typename A>
- struct is_map<
- std::map<K,D,C,A>
- > : ::boost::mpl::true_{};
-
-}// container_traits_aux
-
-
- BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS(map)
-
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_MAP_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_ptr_container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_ptr_container.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_ptr_container.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,29 +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_TRAITS_CONTAINER_IS_PTR_CONTAINER_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_PTR_CONTAINER_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/ptr_to_value.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_traits{
-
- template<typename V>
- struct is_ptr_container : ptr_to_value<V>::is_applicable{};
-
-}// container_traits
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_PTR_CONTAINER_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_range.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_range.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_range.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 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) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_RANGE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_RANGE_ER_2010_HPP
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_tag{
- struct range{};
-}// container_tag
-namespace container_traits{
-
- template<typename V>
- struct is_range{
- // purposedly left blank.
- };
-
-}// container_traits
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_RANGE_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_set.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_set.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_set.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,39 +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_TRAITS_CONTAINER_IS_SET_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_SET_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_tag{
- struct set{};
-}// container_tag
-namespace container_traits_aux{
-
- template<typename V>
- struct is_set : ::boost::mpl::false_{};
-
- template<typename K, typename C, typename A>
- struct is_set<
- std::set<K,C,A>
- > : ::boost::mpl::true_{};
-
-}// container_traits_aux
-
-
- BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS(set)
-
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_SET_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_sorted.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_sorted.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/is_sorted.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,40 +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_TRAITS_CONTAINER_IS_SORTED_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_SORTED_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_tag{
- struct sorted{};
-}// container_tag
-namespace container_traits_aux{
-
- template<typename V>
- struct is_sorted : ::boost::mpl::false_{};
-
- template<typename T, typename C, typename A>
- struct is_sorted< std::set<T, C, A> > : ::boost::mpl::true_{};
-
- template<typename K, typename T, typename C, typename A>
- struct is_sorted< std::map<K, T, C, A> > : ::boost::mpl::true_{};
-
-}// container_traits_aux
-
-
- BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS(sorted)
-
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_IS_SORTED_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_fwd.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_fwd.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_fwd.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,99 +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_DETAIL_TRAITS_CONTAINER_FWD_PTR_ER_2010_HPP
-#define BOOST_ASSIGN_V2_DETAIL_TRAITS_CONTAINER_FWD_PTR_ER_2010_HPP
-#include <cstddef>
-
-namespace boost{
-
- template
- <
- class T,
- std::size_t N,
- class CloneAllocator
- >
- class ptr_array;
-
- template
- <
- class T,
- class CloneAllocator,
- class Allocator
- >
- class ptr_circular_buffer;
-
- template
- <
- class T,
- class CloneAllocator,
- class Allocator
- >
- class ptr_deque;
-
- template
- <
- class T,
- class CloneAllocator,
- class Allocator
- >
- class ptr_list;
-
- template
- <
- class Key,
- class T,
- class Compare,
- class CloneAllocator,
- class Allocator
- >
- class ptr_map;
-
- template
- <
- class Key,
- class Compare,
- class CloneAllocator,
- class Allocator
- >
- class ptr_set;
-
- template
- <
- class Key,
- class T,
- class Hash,
- class Pred,
- class CloneAllocator,
- class Allocator
- >
- class ptr_unordered_map;
-
- template
- <
- class Key,
- class Hash,
- class Pred,
- class CloneAllocator,
- class Allocator
- >
- class ptr_unordered_set;
-
-
- template
- <
- class T,
- class CloneAllocator,
- class Allocator
- >
- class ptr_vector;
-
-}// boost
-
-#endif // BOOST_ASSIGN_V2_DETAIL_TRAITS_CONTAINER_FWD_PTR_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_to_value.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_to_value.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_to_value.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,196 +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_TRAITS_CONTAINER_PTR_TO_VALUE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_PTR_TO_VALUE_ER_2010_HPP
-#include <memory> // std::allocator
-#include <boost/preprocessor/cat.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/assign/v2/detail/traits/container/ptr_fwd.hpp>
-#include <boost/assign/v2/detail/traits/container/fwd.hpp>
-#include <boost/assign/v2/detail/traits/container/static_size.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_traits{
-
- template<typename V>
- struct ptr_to_value{
-
- struct is_applicable : ::boost::mpl::false_{};
-
- };
-
-namespace ptr_to_value_aux{
-
- template<typename A, typename T> struct allocator{};
-
- template<typename T>
- struct allocator<std::allocator<void*>, T>
- {
- typedef std::allocator<T> type;
- };
-
- template<typename V>
- struct common
- {
-
- struct is_applicable : ::boost::mpl::true_{};
-
- typedef typename boost::remove_reference<
- typename V::reference
- >::type value_type;
-
- typedef typename ptr_to_value_aux::allocator<
- typename V::allocator_type,
- value_type
- >::type allocator_type;
- };
-
- template<typename V,template<typename, std::size_t> class F>
- struct array_like{
-
- // there is no allocator, hence can't derive from common<V>
-
- struct is_applicable : ::boost::mpl::true_{};
-
- typedef typename boost::remove_reference<
- typename V::reference
- >::type value_type;
-
- typedef F<
- typename array_like::value_type,
- container_traits::static_size<V>::value
- > container_type;
-
- };
-
- template<typename V,template<typename, typename> class F>
- struct seq_like : ptr_to_value_aux::common<V>{
-
- typedef F<
- typename seq_like::value_type,
- typename seq_like::allocator_type
- > container_type;
-
- };
-
- template<typename V,template<typename, typename, typename, typename> class F>
- struct map_like : ptr_to_value_aux::common<V>{
-
- typedef F<
- typename V::key_type,
- typename map_like::value_type,
- typename V::key_compare,
- typename map_like::allocator_type
- > container_type;
-
- };
-
- template<typename V,template<typename, typename, typename> class F>
- struct set_like : ptr_to_value_aux::common<V>{
-
- typedef F<
- typename V::key_type,
- typename V::key_compare,
- typename set_like::allocator_type
- > container_type;
-
- };
-
- template<typename V,
- template<typename, typename, typename, typename, typename> class F>
- class unordered_map_like : ptr_to_value_aux::common<V>{
-
- typedef F<
- typename V::key_type,
- typename unordered_map_like::value_type,
- typename V::hasher,
- typename V::key_equal,
- typename unordered_map_like::allocator_type
- > container_type;
-
- };
-
- template<typename V,
- template<typename, typename, typename, typename> class F>
- class unordered_set_like : ptr_to_value_aux::common<V>{
-
- typedef F<
- typename V::key_type,
- typename V::hasher,
- typename V::key_equal,
- typename unordered_set_like::allocator_type
- > container_type;
-
- };
-
-
-}// ptr_to_value_aux
-
-
- // Array
- template<
- typename T,
- std::size_t N,
- typename A
- >
- struct ptr_to_value<
- boost::ptr_array<T,N,A>
- > : ptr_to_value_aux::array_like<
- boost::ptr_array<T,N,A>,
- boost::array
- >{};
-
- // Sequence
-
- template<
- typename T,
- typename C,
- typename A
- >
- struct ptr_to_value<
- boost::ptr_deque<T,C,A>
- > : ptr_to_value_aux::seq_like<
- boost::ptr_deque<T,C,A>,
- std::deque
- >{};
-
- template<
- typename T,
- typename C,
- typename A
- >
- struct ptr_to_value<
- boost::ptr_list<T,C,A>
- > : ptr_to_value_aux::seq_like<
- boost::ptr_list<T,C,A>,
- std::list
- >{};
-
- template<
- typename T,
- typename C,
- typename A
- >
- struct ptr_to_value<
- boost::ptr_vector<T,C,A>
- > : ptr_to_value_aux::seq_like<
- boost::ptr_vector<T,C,A>,
- std::vector
- >{};
-
-}// container_traits
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_PTR_TO_VALUE_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_to_value_container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_to_value_container.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_to_value_container.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,29 +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_TRAITS_CONTAINER_PTR_TO_VALUE_CONTAINER_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_PTR_TO_VALUE_CONTAINER_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is_ptr_container.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_traits{
-
- template<typename V>
- struct ptr_to_value_container{
- typedef typename ptr_to_value<V>::container_type type;
- };
-
-}// container_traits
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_PTR_TO_VALUE_CONTAINER_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/static_size.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/static_size.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/static_size.hpp 2011-03-17 21:54:54 EDT (Thu, 17 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_TRAITS_CONTAINER_STATIC_SIZE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_STATIC_SIZE_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/fwd.hpp>
-#include <boost/assign/v2/detail/traits/container/ptr_fwd.hpp>
-#include <boost/mpl/size_t.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_traits{
-
- template<typename V>
- struct static_size{
-
- // Needed as a meta-function (indirection) bec. ptr_array
- // does not expose static_size.
-
- };
-
- template<typename T, std::size_t N>
- struct static_size< boost::array<T,N> >
- : ::boost::mpl::size_t<
- boost::array<T,N>::static_size
- >{};
-
- template<typename T, std::size_t N, typename C>
- struct static_size< boost::ptr_array<T, N, C> >
- : ::boost::mpl::size_t<
- N
- >{};
-
-}// container_traits
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_STATIC_SIZE_ER_2010_HPP
+// TODO remove file
\ No newline at end of file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/value.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/value.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/value.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,37 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_ASSIGN_V2_TRAITS_CONTAINER_VALUE_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_VALUE_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/forward_to_value.hpp>
-#include <boost/assign/v2/detail/traits/type/value.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_traits
-{
-
- // TODO think about range_value<V>, remove_reference<V::reference>::type
- // as alternative, taking into account (ptr_container)s.
- template<typename V>
- struct value : container_traits::forward_to_value<
- type_traits::value,
- V
- >{};
-
-}// container_traits
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_VALUE_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/container/value_container.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/container/value_container.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/value_container.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,34 +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_TRAITS_CONTAINER_VALUE_CONTAINER_ER_2010_HPP
-#define BOOST_ASSIGN_V2_TRAITS_CONTAINER_VALUE_CONTAINER_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is_ptr_container.hpp>
-#include <boost/assign/v2/detail/traits/container/ptr_to_value_container.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-
-namespace boost{
-namespace assign{
-namespace v2{
-namespace container_traits{
-
- template<typename V>
- struct value_container : ::boost::mpl::eval_if<
- is_ptr_container<V>,
- ptr_to_value_container<V>,
- ::boost::mpl::identity<V>
- >{};
-
-}// container_traits
-}// v2
-}// assign
-}// boost
-
-#endif // BOOST_ASSIGN_V2_TRAITS_CONTAINER_VALUE_CONTAINER_ER_2010_HPP
+// TODO remove file

Modified: sandbox/assign_v2/boost/assign/v2/detail/traits/type.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/detail/traits/type.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/type.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -10,7 +10,6 @@
 #ifndef BOOST_ASSIGN_V2_DETAIL_TRAITS_TYPE_ER_2010_HPP
 #define BOOST_ASSIGN_V2_DETAIL_TRAITS_TYPE_ER_2010_HPP
 #include <boost/assign/v2/detail/traits/type/has_value_type.hpp>
-#include <boost/assign/v2/detail/traits/type/meta_convert.hpp>
 #include <boost/assign/v2/detail/traits/type/value.hpp>
 
 #endif // BOOST_ASSIGN_V2_DETAIL_TRAITS_TYPE_ER_2010_HPP

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-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -12,7 +12,7 @@
 #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/detail/traits/ptr_container/meta.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>
@@ -228,7 +228,7 @@
 
         template<typename T>
         struct ptr_enabler : boost::enable_if<
- container_traits::is_ptr_container<C>
+ ptr_container_aux::is_ptr_container<C>
>{};
 
         template<typename T>

Modified: sandbox/assign_v2/boost/assign/v2/put/fun/deduce.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/put/fun/deduce.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/put/fun/deduce.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -9,41 +9,50 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_PUT_FUN_DEDUCE_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_FUN_DEDUCE_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is_ptr_container.hpp>
-#include <boost/assign/v2/detail/traits/container/value.hpp>
+#include <boost/assign/v2/detail/traits/ptr_container/to_value_container.hpp>
+#include <boost/assign/v2/detail/traits/ptr_container/meta.hpp>
 #include <boost/assign/v2/detail/functor/constructor.hpp>
 #include <boost/assign/v2/detail/functor/new.hpp>
 #include <boost/mpl/eval_if.hpp>
 
+#include <boost/type_traits/remove_pointer.hpp>
+#include <boost/type_traits/is_pointer.hpp>
+
 namespace boost{
 namespace assign{
 namespace v2{
 //[syntax_put_fun_deduce
 namespace put_aux{
 
- template<typename /*<<Pointer-container>>*/C>
- struct /*<<Meta-function mapping the `C`'s pointer-type to a factory thereof>>*/ deduce_fun_pointer/*<-*/
+ template<typename C>
+ struct container_value{ typedef typename C::value_type type; };
+
+ template<typename /*<<Pointer-container>>*/PtrC>
+ struct /*<<Meta-function mapping the `PtrC`'s pointer-type to a factory thereof>>*/ deduce_fun_pointer/*<-*/
     {
- typedef typename v2::container_traits::value<C>::type value_type;
- typedef functor_aux::new_<value_type> type;
+ typedef typename v2::ptr_container_aux::to_value_container<
+ PtrC
+ >::type cont_;
+ typedef functor_aux::new_<typename cont_::value_type> type;
     }/*->*/;
 
     template<typename /*<<Value-container>>*/C>
     struct /*<<Meta-function mapping `C`'s value-type to a factory thereof>>*/ deduce_fun_value/*<-*/
     {
- typedef typename v2::container_traits::value<C>::type value_type;
- typedef functor_aux::constructor<value_type> type;
+// typedef typename v2::container_traits::value<C>::type value_type;
+ typedef functor_aux::constructor<typename C::value_type> type;
     }/*->*/;
 
     template<typename /*<<Either of a value or pointer-container>>*/C>
     struct /*<<Meta-function mapping `C`s element-type to a factory thereof>>*/deduce_fun/*<-*/
         : boost::mpl::eval_if<
- container_traits::is_ptr_container<C>,
+ ptr_container_aux::is_ptr_container<C>,
             deduce_fun_pointer<C>,
             deduce_fun_value<C>
>
     {}/*->*/;
 
+
 }// put_aux
 //]
 }// v2

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-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -10,9 +10,9 @@
 #ifndef BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_ER_2010_HPP
 #define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_ER_2010_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/value_container/has_push.hpp>
+#include <boost/assign/v2/detail/traits/value_container/category.hpp>
+#include <boost/assign/v2/detail/traits/ptr_container/meta.hpp>
 #include <boost/assign/v2/detail/traits/switch.hpp>
 #include <boost/assign/v2/put/modifier/insert.hpp>
 #include <boost/assign/v2/put/modifier/iterate.hpp>
@@ -32,23 +32,24 @@
 #ifdef BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_CASE
 #error
 #else
-#define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_CASE(Tag, MetaFun, Number)\
+#define BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_CASE(Tag, MetaF, Number)\
 namespace switch_aux{\
     template<>\
     struct case_<switch_tag::deduce_put, Number> :\
         switch_aux::helper<\
             v2::modifier_tag::Tag,\
- MetaFun\
+ ptr_container_aux::through_value_container<MetaF>::apply\
>{};\
 }\
 /**/
 #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)\
+BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_CASE(insert, value_container_aux::is_sorted, CaseNumber)\
 /**/
 #endif
 
@@ -56,7 +57,7 @@
 #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)
+BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_CASE(iterate<>, value_container_aux::is_array, CaseNumber)
 /**/
 #endif
 
@@ -64,7 +65,7 @@
 #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)
+BOOST_ASSIGN_V2_PUT_MODIFIER_DEDUCE_SWITCH_CASE(push, value_container_aux::has_push_deduced_value, CaseNumber)
 /**/
 #endif
 

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-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -87,11 +87,10 @@
             cont.at( (*this->ptr)() ) = t;
         }
         
- // TODO verify
         template<typename C, typename T>
         void impl(C& cont, T* t)const
         {
- cont.replace( this->arg_() , t);
+ cont.replace( (*this->ptr)(), t);
         }
 
         protected:

Modified: sandbox/assign_v2/boost/assign/v2/utility/chain/chain.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/utility/chain/chain.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/utility/chain/chain.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -26,19 +26,13 @@
 
     typedef ::boost::mpl::void_ void_;
 
- // Tag1 controls conversion. Seet traits/type/meta_convert.hpp
-
- template<typename U, typename Tag1 = use_default, typename Tag2 = void_>
+ template<typename U>
     struct adaptor1
     {
         adaptor1( U& r ) : value( r ){}
         mutable U& value;
     };
 
- template<
- typename Tag1 = use_default,
- typename Tag2 = void_
- >
     struct adaptor2
     {
 
@@ -46,7 +40,7 @@
 
         template<typename U>
         struct result{
- typedef chain_aux::adaptor1<U, Tag1, Tag2> type;
+ typedef chain_aux::adaptor1<U> type;
            static type call(U& u){ return type( u ); }
         };
 
@@ -66,22 +60,22 @@
 
 }// chain_aux
 namespace{
- const chain_aux::adaptor2<> _chain = chain_aux::adaptor2<>();
+ const chain_aux::adaptor2 _chain = chain_aux::adaptor2();
 }
 namespace result_of{
 
- template<typename R1, typename R2, typename Tag = use_default>
- struct chain : chain_aux::result<R1, R2, Tag>{};
+ template<typename R1, typename R2>
+ struct chain : chain_aux::result<R1, R2>{};
 
 }// result_of
 namespace chain_aux{
 
 #define BOOST_ASSIGN_V2_FRAMEWORK_CHAIN(U1) \
- template<typename R1, typename U2, typename Tag> \
- typename chain_aux::result<U1, U2, Tag>::type \
- operator|(U1 & r1, chain_aux::adaptor1<U2, Tag> const & h) \
+ template<typename R1, typename U2> \
+ typename chain_aux::result<U1, U2>::type \
+ operator|(U1 & r1, chain_aux::adaptor1<U2> const & h) \
     { \
- typedef chain_aux::result<U1, U2, Tag> caller_; \
+ typedef chain_aux::result<U1, U2> caller_; \
         return caller_::call( r1, h.value ); \
     } \
 \

Modified: sandbox/assign_v2/boost/assign/v2/utility/chain/iterator.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/utility/chain/iterator.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/utility/chain/iterator.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -9,9 +9,10 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_CHAIN_ITERATOR_ER_2010_HPP
 #define BOOST_ASSIGN_V2_CHAIN_ITERATOR_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/type/meta_convert.hpp>
+#include <boost/assign/v2/ref/convert_traits/reference.hpp>
 #include <boost/iterator/iterator_traits.hpp>
 #include <boost/mpl/apply.hpp>
+#include <boost/mpl/quote.hpp>
 #include <boost/range/detail/demote_iterator_traversal_tag.hpp>
 #include <boost/range/detail/join_iterator.hpp>
 #include <boost/type_traits/remove_reference.hpp>
@@ -21,17 +22,15 @@
 namespace v2{
 namespace chain_aux{
 
- template<
- typename It1,
- typename It2,
- typename Tag
- >
+ template<typename It1, typename It2>
     struct iterator
     {
         typedef typename boost::iterator_reference<It1>::type ref1_;
         typedef typename boost::iterator_reference<It2>::type ref2_;
+ typedef ::boost::mpl::quote2<
+ ref::convert_traits::reference
+ > convert_;
 
- typedef v2::type_traits::meta_convert<Tag> convert_;
         typedef typename ::boost::mpl::apply2<
             convert_,
             ref1_,
@@ -39,9 +38,6 @@
>::type reference;
 
         typedef typename boost::remove_reference<reference>::type value_type;
-
-
-
         typedef boost::range_detail::join_iterator<
             It1
             ,It2

Modified: sandbox/assign_v2/boost/assign/v2/utility/chain/meta.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/utility/chain/meta.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/utility/chain/meta.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -30,13 +30,12 @@
 namespace v2{
 namespace chain_aux{
 
- template<typename R1, typename R2, template<typename> class F, typename Tag>
+ template<typename R1, typename R2, template<typename> class F>
     struct range{
 
         typedef typename chain_aux::iterator<
             typename F<R1>::type,
- typename F<R2>::type,
- Tag
+ typename F<R2>::type
>::type iterator_t;
         typedef boost::iterator_range< iterator_t > type;
 
@@ -54,13 +53,13 @@
         }
     };
 
- template<typename R1, typename R2, typename Tag>
+ template<typename R1, typename R2>
     struct range_l
- : chain_aux::range< R1, R2, boost::range_iterator,Tag>{};
+ : chain_aux::range< R1, R2, boost::range_iterator>{};
 
- template<typename R1, typename R2, typename Tag>
+ template<typename R1, typename R2>
     struct range_r
- : chain_aux::range<R1, R2, boost::range_const_iterator,Tag>{};
+ : chain_aux::range<R1, R2, boost::range_const_iterator>{};
 
     // Use-const
     template<typename U1, typename U2,
@@ -74,24 +73,24 @@
     template<typename U>
     struct dont_use_const_impl<U, U, true, false> : ::boost::mpl::true_{};
 
- template<typename R1, typename R2, typename Tag = use_default>
+ template<typename R1, typename R2>
     struct dont_use_const : dont_use_const_impl<
         typename boost::range_reference<R1>::type,
         typename boost::range_reference<R2>::type
>{};
 
- template<typename R1, typename R2, typename Tag = use_default>
+ template<typename R1, typename R2>
     struct use_const : ::boost::mpl::bool_<
- !dont_use_const<R1, R2, Tag>::value
+ !dont_use_const<R1, R2>::value
>{};
     
     // Result
- template<typename R1, typename R2, typename Tag = use_default>
+ template<typename R1, typename R2>
     struct result{
         typedef typename ::boost::mpl::eval_if<
- chain_aux::use_const<R1, R2, Tag>,
- ::boost::mpl::identity< chain_aux::range_r<R1, R2, Tag> >,
- ::boost::mpl::identity< chain_aux::range_l<R1, R2, Tag> >
+ chain_aux::use_const<R1, R2>,
+ ::boost::mpl::identity< chain_aux::range_r<R1, R2> >,
+ ::boost::mpl::identity< chain_aux::range_l<R1, R2> >
>::type caller_;
 
         typedef typename caller_::type type;

Modified: sandbox/assign_v2/boost/assign/v2/utility/conversion/predicate.hpp
==============================================================================
--- sandbox/assign_v2/boost/assign/v2/utility/conversion/predicate.hpp (original)
+++ sandbox/assign_v2/boost/assign/v2/utility/conversion/predicate.hpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -9,8 +9,9 @@
 //////////////////////////////////////////////////////////////////////////////
 #ifndef BOOST_ASSIGN_V2_UTILITY_CONVERSION_TRAITS_ER_2010_HPP
 #define BOOST_ASSIGN_V2_UTILITY_CONVERSION_TRAITS_ER_2010_HPP
-#include <boost/assign/v2/detail/traits/container/is_array.hpp>
-#include <boost/assign/v2/detail/traits/container/has_push.hpp>
+#include <boost/assign/v2/detail/traits/value_container/category.hpp>
+#include <boost/assign/v2/detail/traits/value_container/has_push.hpp>
+#include <boost/assign/v2/detail/traits/ptr_container/meta.hpp>
 #include <boost/mpl/or.hpp>
 
 namespace boost{
@@ -18,12 +19,28 @@
 namespace v2{
 namespace conversion_aux{
 
+ template<typename C>
+ struct is_array : ::boost::mpl::apply1<
+ ptr_container_aux::through_value_container<
+ value_container_aux::is_array
+ >,
+ C
+ >{};
+
+ template<typename C>
+ struct has_push : ::boost::mpl::apply1<
+ ptr_container_aux::through_value_container<
+ value_container_aux::has_push_deduced_value
+ >,
+ C
+ >{};
+
     template<typename C, typename R>
     struct use_put : ::boost::mpl::or_<
- v2::container_traits::is_array<C>,
- v2::container_traits::has_push<C>
+ is_array<C>,
+ has_push<C>
>{};
-
+
 }// conversion_aux
 }// v2
 }// assign

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-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -5,18 +5,17 @@
 #include <boost/format.hpp>
 
 // Test
-//#include <libs/assign/v2/test/detail.h>
+#include <libs/assign/v2/test/detail.h>
 #include <libs/assign/v2/test/ref.h>
-//#include <libs/assign/v2/test/mix.h>
 #include <libs/assign/v2/test/put.h>
 #include <libs/assign/v2/test/utility.h>
-#include <libs/assign/v2/tutorial.h>
 
 // Tutorial
+#include <libs/assign/v2/tutorial.h>
 
 // Speed -- CPP0x required
-#include <fstream>
-#include <libs/assign/v2/speed/test.h>
+//#include <fstream>
+//#include <libs/assign/v2/speed/test.h>
 
 int main (int argc, char * const argv[])
 {
@@ -51,18 +50,18 @@
     }
     {
         using namespace test_assign_v2;
- //xxx_put::test();
- //xxx_mix::test();
- //xxx_ref::test();
- //xxx_utility::test();
+ xxx_detail::test();
+ xxx_put::test();
+ xxx_ref::test();
+ xxx_utility::test();
     }
     {
         tutorial_assign_v2::run();
     }
     {
- using namespace speed_assign_v2;
- std::ofstream ofs("assign_v2_speed_test");
- speed_assign_v2::test(ofs);
+ //using namespace speed_assign_v2;
+ //std::ofstream ofs("assign_v2_speed_test");
+ //speed_assign_v2::test(ofs);
     }
 
     return 0;

Modified: sandbox/assign_v2/libs/assign/v2/test/detail/traits.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/detail/traits.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/detail/traits.cpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -7,9 +7,16 @@
 // 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/assign/v2/detail/traits.hpp> // ensure parses
-#include <libs/assign/v2/test/detail/traits/has_push.h>
-#include <libs/assign/v2/test/detail/traits/has_value_type.h>
+#include <cstddef>
+#include <vector>
+#include <stack>
+#include <queue>
+#include <vector>
+#include <boost/assign/v2/detail/traits.hpp> // ensure it parses
+#include <boost/assign/v2/detail/traits/value_container/has_push.hpp>
+#include <boost/assign/v2/detail/traits/value_container/has_value_type.hpp>
+#include <boost/mpl/assert.hpp>
+#include <boost/static_assert.hpp>
 #include <libs/assign/v2/test/detail/traits.h>
 
 namespace test_assign_v2{
@@ -17,8 +24,30 @@
 namespace xxx_traits{
 
     void test(){
- xxx_has_push::test();
- xxx_has_value_type::test();
+ namespace as2 = boost::assign::v2;
+ namespace ns = as2::value_container_aux;
+ {
+ typedef std::queue<int> v_;
+ BOOST_MPL_ASSERT(( ns::has_push<v_> ));
+ }
+ {
+ typedef std::queue<int> v_;
+ BOOST_MPL_ASSERT(( ns::has_push<v_> ));
+ }
+ {
+ typedef std::vector<int> v_;
+ BOOST_MPL_ASSERT_NOT(( ns::has_push<v_> ));
+ }
+ {
+ typedef std::vector<int> inp_;
+ typedef ns::has_value_type<inp_>::type pred_;
+ BOOST_STATIC_ASSERT(pred_::value);
+ }
+ {
+ typedef int inp_;
+ typedef ns::has_value_type<inp_>::type pred_;
+ BOOST_STATIC_ASSERT(!pred_::value);
+ }
     }
 
 }// xxx_traits

Modified: sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_push.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_push.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_push.cpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 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 <stack>
-#include <queue>
-#include <boost/mpl/assert.hpp>
-#include <boost/assign/v2/detail/traits/container/has_push.hpp>
-#include <libs/assign/v2/test/detail/traits/has_push.h>
-
-namespace test_assign_v2{
-namespace xxx_detail{
-namespace xxx_traits{
-namespace xxx_has_push{
-
- void test()
- {
- namespace as2 = boost::assign::v2;
- namespace ns = as2::container_traits;
- {
- typedef std::queue<int> v_;
- BOOST_MPL_ASSERT(( ns::has_push<v_> ));
- }
- {
- typedef std::queue<int> v_;
- BOOST_MPL_ASSERT(( ns::has_push<v_> ));
- }
- {
- typedef std::vector<int> v_;
- BOOST_MPL_ASSERT_NOT(( ns::has_push<v_> ));
- }
- }
-
-}// xxx_has_push
-}// xxx_detail
-}// xxx_type_traits
-}// test_assign_v2
-
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_push.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_push.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_push.h 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,26 +1 @@
-//////////////////////////////////////////////////////////////////////////////
-// Boost.Assign v2 //
-// //
-// Copyright (C) 2003-2004 Thorsten Ottosen //
-// Copyright (C) 2010 Erwann Rogard //
-// Use, modification and distribution are subject to the //
-// Boost Software License, Version 1.0. (See accompanying file //
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
-//////////////////////////////////////////////////////////////////////////////
-#ifndef LIBS_ASSIGN_V2_TEST_DETAIL_TRAITS_HAS_PUSH_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_DETAIL_TRAITS_HAS_PUSH_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_detail{
-namespace xxx_traits{
-namespace xxx_has_push{
-
- void test();
-
-}// xxx_has_push
-}// xxx_traits
-}// detail
-}// test_assign_v2
-
-#endif
-
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_value_type.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_value_type.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_value_type.cpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -1,40 +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 <cstddef>
-#include <boost/static_assert.hpp>
-#include <boost/assign/v2/detail/traits/type/has_value_type.hpp>
-#include <libs/assign/v2/test/detail/traits/has_value_type.h>
-
-namespace test_assign_v2{
-namespace xxx_detail{
-namespace xxx_traits{
-namespace xxx_has_value_type{
-
- void test(){
-
- namespace as2 = boost::assign::v2;
- {
- typedef std::vector<int> inp_;
- typedef as2::type_traits::has_value_type<inp_>::type pred_;
- BOOST_STATIC_ASSERT(pred_::value);
- }
- {
- typedef int inp_;
- typedef as2::type_traits::has_value_type<inp_>::type pred_;
- BOOST_STATIC_ASSERT(!pred_::value);
- }
- }
-
-
-}// xxx_has_value_type
-}// xxx_traits
-}// xxx_detail
-}// test_assign
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_value_type.h
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_value_type.h (original)
+++ sandbox/assign_v2/libs/assign/v2/test/detail/traits/has_value_type.h 2011-03-17 21:54:54 EDT (Thu, 17 Mar 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_DETAIL_TRAITS_HAS_VALUE_TYPE_ER_2010_H
-#define LIBS_ASSIGN_V2_TEST_DETAIL_TRAITS_HAS_VALUE_TYPE_ER_2010_H
-
-namespace test_assign_v2{
-namespace xxx_detail{
-namespace xxx_traits{
-namespace xxx_has_value_type{
-
- void test();
-
-}// xxx_has_value_type
-}// xxx_traits
-}// xxx_detail
-}// test_assign
-
-#endif
+// TODO remove file

Modified: sandbox/assign_v2/libs/assign/v2/test/put.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/put.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/put.cpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -20,12 +20,11 @@
 
     void test()
     {
- //xxx_deduce::test();
         xxx_deque::test();
         xxx_fun::test();
         xxx_modifier::test();
         xxx_pipe::test();
- //xxx_ptr::test();
+ xxx_ptr::test();
         xxx_put::test();
     }
 

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-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -14,8 +14,8 @@
 #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_map.hpp>
+#include <boost/ptr_container/ptr_set.hpp>
 #include <boost/ptr_container/ptr_vector.hpp>
 #include <libs/assign/v2/test/put/ptr.h>
 
@@ -27,51 +27,61 @@
 
         namespace as2 = boost::assign::v2;
 
-// TODO
         {
             //[test_put_ptr_array
- //typedef int T;
- //T x = 1, y = 2, z = 3; boost::ptr_array<T, 3> cont;
- //as2::put( cont )( x )( y )( z );
+ 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.front() == x );
+ BOOST_ASSIGN_V2_CHECK( cont.back() == z );
             //]
         }
         {
             //[test_put_ptr_deque
- //typedef int T; T x = 1, y = 2, z = 0; boost::ptr_deque<T> cont;
- //as2::put( cont )( x )( y )( z );
+ 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 );
             //]
         }
         {
             //[test_put_ptr_list
- //typedef int T; T x = 1, y = 2, z = 0; boost::ptr_list<T> cont;
- //as2::put( cont )( x )( y )( z );
+ 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 );
             //]
         }
         {
             //[test_put_ptr_vector
- //typedef int T; T x = 1, y = 2, z = 0; boost::ptr_vector<T> cont;
- //as2::put( cont )( x )( y )( z );
+ 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 );
             //]
         }
-
-
+ // TODO
 /*
- // These are not yet available (TODO)
         {
             //[put_ptr_map
             boost::ptr_map<std::string, int> assoc;
             as2::put( assoc )( "jan", 31 )( "feb", 28 )( "mar", 31 );
             //]
         }
+*/
         {
             //[put_ptr_set
- typedef std::string T;
- boost::ptr_set<T> assoc;
+ typedef std::string T; boost::ptr_set<T> assoc;
             T x = "isomer", y = "ephemeral", z = "prosaic";
- as2::put( assoc )( x )( y )( z );
+ as2::put( assoc )( x )( z )( y );
+ BOOST_ASSIGN_V2_CHECK( assoc.count( x ) == 1 );
+ BOOST_ASSIGN_V2_CHECK( assoc.count( z ) == 1 );
             //]
         }
-*/
     }// test
 
 }// xxx_ptr

Modified: sandbox/assign_v2/libs/assign/v2/test/unit_testing/detail.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/test/unit_testing/detail.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/test/unit_testing/detail.cpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -14,9 +14,8 @@
 
 #include <boost/test/test_tools.hpp>
 #define BOOST_ASSIGN_V2_CHECK( p ) BOOST_CHECK( p )
-#include <libs/assign/v2/test/detail/traits/has_push.cpp>
-#include <libs/assign/v2/test/detail/traits/has_value_type.cpp>
 #include <libs/assign/v2/test/detail/functor.cpp>
+#include <libs/assign/v2/test/detail/traits.cpp>
 
 #include <boost/test/unit_test.hpp>
 using boost::unit_test::test_suite;
@@ -26,9 +25,8 @@
     using namespace test_assign_v2;
     {
             using namespace xxx_detail;
- test->add( BOOST_TEST_CASE( &xxx_traits::xxx_has_push::test ) );
- test->add( BOOST_TEST_CASE( &xxx_traits::xxx_has_value_type::test ) );
                 test->add( BOOST_TEST_CASE( &xxx_functor::test ) );
+ test->add( BOOST_TEST_CASE( &xxx_traits::test ) );
     }
     return test;
 }

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-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -10,8 +10,6 @@
 #ifndef LIBS_ASSIGN_V2_TEST_UNIT_TEST_PUT_ER_2010_CPP
 #define LIBS_ASSIGN_V2_TEST_UNIT_TEST_PUT_ER_2010_CPP
 
-#include <iostream> // needed?
-
 #include <boost/test/test_tools.hpp>
 #define BOOST_ASSIGN_V2_CHECK( p ) BOOST_CHECK( p )
 
@@ -29,12 +27,10 @@
 #include <libs/assign/v2/test/put/pipe/modifier/repeat.cpp>
 #include <libs/assign/v2/test/put/pipe/modifier/standard.cpp>
 #include <libs/assign/v2/test/put/pipe/put.cpp>
+#include <libs/assign/v2/test/put/ptr.cpp>
 #include <libs/assign/v2/test/put/put.cpp>
 
 
-//#include <libs/assign/v2/test/put/ptr.cpp>
-
-
 #include <boost/test/unit_test.hpp>
 using boost::unit_test::test_suite;
 test_suite* init_unit_test_suite( int argc, char* argv[] )
@@ -58,6 +54,7 @@
                 test->add( BOOST_TEST_CASE( &ns::xxx_pipe::xxx_modifier::xxx_repeat::test ) );
                 test->add( BOOST_TEST_CASE( &ns::xxx_pipe::xxx_modifier::xxx_standard::test ) );
                 test->add( BOOST_TEST_CASE( &ns::xxx_pipe::xxx_put::test ) );
+ test->add( BOOST_TEST_CASE( &ns::xxx_ptr::test ) );
                 test->add( BOOST_TEST_CASE( &ns::xxx_put::test ) );
     }
     return test;

Modified: sandbox/assign_v2/libs/assign/v2/tutorial.cpp
==============================================================================
--- sandbox/assign_v2/libs/assign/v2/tutorial.cpp (original)
+++ sandbox/assign_v2/libs/assign/v2/tutorial.cpp 2011-03-17 21:54:54 EDT (Thu, 17 Mar 2011)
@@ -16,6 +16,7 @@
 #include <boost/assign/v2.hpp>
 #include <boost/array.hpp>
 #include <boost/lambda/lambda.hpp>
+#include <boost/ptr_container/ptr_set.hpp>
 #include <boost/range/algorithm_ext/iota.hpp>
 #include <boost/range/algorithm/copy.hpp>
 #include <boost/range/algorithm/equal.hpp>
@@ -43,6 +44,15 @@
             //]
         }
         {
+ //[tutorial_ptr_container
+ typedef std::string T; ptr_set<T> assoc;
+ T x = "isomer", y = "ephemeral", z = "prosaic";
+ put( assoc )( x )( z )( y );
+ assert( assoc.count( x ) == 1 );
+ assert( assoc.count( z ) == 1 );
+ //]
+ }
+ {
             //[tutorial_piping
             using namespace lambda;
             std::deque<int> cont; range::stable_partition( cont | _csv_put( 0, 1, 2, 3, 4, 5 ), _1 % 2 );


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