Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r69027 - in sandbox/assign_v2/boost/assign/v2/detail: check check/equal_container config traits/container
From: erwann.rogard_at_[hidden]
Date: 2011-02-19 05:38:55


Author: e_r
Date: 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
New Revision: 69027
URL: http://svn.boost.org/trac/boost/changeset/69027

Log:
upd assign_v2
Added:
   sandbox/assign_v2/boost/assign/v2/detail/check/
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/array.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/deduce.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/fifo.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/lifo.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/pp.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/range.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/sorted.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_ref.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/check/equal_val.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/check/fwd_equal_container.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/config/check.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/fwd.hpp (contents, props changed)
   sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_fwd.hpp (contents, props changed)

Added: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,44 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_CHECK_EQUAL_CONTAINER_ER_2010_HPP
+#define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_ER_2010_HPP
+#include <boost/assign/v2/detail/check/equal_container/array.hpp>
+#include <boost/assign/v2/detail/check/equal_container/deduce.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/check/fwd_equal_container.hpp> // consistency
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace check_aux{
+
+ template<typename C, typename R>
+ void equal_container(C & cont, R const& r)
+ {
+ typedef typename v2::check_aux::deduce_equal_container_tag<C>::type tag;
+ v2::checking::equal( tag(), cont, r );
+ }
+
+ template<typename C, typename R>
+ void equal_container(C const& cont, R const& r)
+ {
+ typedef typename v2::check_aux::deduce_equal_container_tag<C>::type tag;
+ v2::checking::equal( tag(), cont, r );
+ }
+
+}// check_aux
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/array.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/array.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,38 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_CHECK_EQUAL_CONTAINER_ARRAY_ER_2010_HPP
+#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/traits/container/is_array.hpp>
+#include <boost/assign/v2/detail/check_equal_container/pp.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace check_aux{
+
+ template<typename C, typename R>
+ void equal_container(v2::container_tag::array, C const & cont, R const& r)
+ {
+ BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_SIZE
+ BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_ELEM_AT
+ C cpy = cont; // becaus operator[] return a (non-const) reference
+ for(size_type i = 0; i < n1; i++)
+ {
+ BOOST_ASSIGN_V2_CHECK( cpy[ i ] == elem_at( i ) );
+ }
+ }
+
+}// check_aux
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/deduce.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/deduce.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,85 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_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_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_sorted.hpp>
+#include <boost/assign/v2/detail/traits/container/is_array.hpp>
+#include <boost/assign/v2/detail/traits/container/is_range.hpp>
+#include <boost/assign/v2/detail/traits/switch.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace switch_tag{
+ struct check_container{};
+}// switch_tag
+namespace switch_aux{
+
+ template<>
+ struct case_<switch_tag::check_container, 0> :
+ switch_aux::helper<
+ v2::container_tag::fifo,
+ v2::container_traits::is_fifo
+ >{};
+
+ template<>
+ struct case_<switch_tag::check_container, 1> :
+ switch_aux::helper<
+ v2::container_tag::lifo,
+ v2::container_traits::is_lifo
+ >{};
+
+ // TODO remove 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
+ >{};
+
+ template<>
+ struct case_<switch_tag::check_container, 3> :
+ switch_aux::helper<
+ v2::container_tag::array,
+ v2::container_traits::is_array
+ >{};
+
+ template<>
+ struct case_<switch_tag::check_container, 4> :
+ switch_aux::helper<
+ container_tag::range
+ >{};
+
+}// switch_aux
+namespace check_aux{
+
+ template<typename T>
+ struct deduce_equal_container_tag : switch_aux::result<
+ v2::switch_tag::check_container,
+ T
+ >
+ {};
+
+}// check_aux
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/fifo.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/fifo.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,39 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_CHECK_EQUAL_CONTAINER_FIFO_ER_2010_HPP
+#define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_FIFO_ER_2010_HPP
+#include <boost/assign/v2/detail/config/check.hpp>
+#include <boost/assign/v2/detail/traits/container/is_fifo.hpp>
+#include <boost/assign/v2/detail/check_equal_container/pp.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace check_aux{
+
+ template<typename C, typename R>
+ void equal_container(v2::container_tag::fifo, C const & cont, R const& r)
+ {
+ BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_SIZE
+ BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_ELEM_AT
+ C cpy = cont;
+ for(size_type i = 0; i < n1; i++)
+ {
+ BOOST_ASSIGN_V2_CHECK( cpy.front() == elem_at( i ) ); cpy.pop();
+ }
+ BOOST_ASSIGN_V2_CHECK( cpy.empty() ); // consistency check
+ }
+
+}// check_aux
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/lifo.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/lifo.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,41 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_CHECK_EQUAL_CONTAINER_LIFO_ER_2010_HPP
+#define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_LIFO_ER_2010_HPP
+#include <boost/assign/v2/detail/config/check.hpp>
+#include <boost/assign/v2/detail/traits/container/is_lifo.hpp>
+#include <boost/assign/v2/detail/check_equal_container/pp.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace check_aux{
+
+ template<typename C, typename R>
+ void equal_container(v2::container_tag::lifo, C const & cont, R const& r)
+ {
+ BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_SIZE
+ BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_ELEM_AT
+ C cpy = cont;
+ for(size_type i = 0; i < n1; i++)
+ {
+ BOOST_ASSIGN_V2_CHECK(
+ cpy.top() == elem_at( n1 - ( 1 + i ) )
+ ); cpy.pop();
+ }
+ BOOST_ASSIGN_V2_CHECK( cpy.empty() ); // consistency check
+ }
+
+}// check_aux
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/pp.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/pp.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,30 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_CHECK_EQUAL_CONTAINER_PP_ER_2010_HPP
+#define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_PP_ER_2010_HPP
+
+#include <boost/range/size.hpp>
+#include <boost/range/size_type.hpp>
+#define BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_SIZE\
+ typedef boost::range_size<R>::type size_type;\
+ size_type n1 = cont.size();\
+ size_type n2 = boost::range_size( r );\
+ BOOST_ASSIGN_V2_CHECK( n2 >= n1 );\
+/**/
+
+#include <boost/range/iterator_range.hpp>
+#define BOOST_ASSIGN_V2_CHECK_AUX_CONTAINER_ELEM_AT\
+ typedef typename boost::iterator_range<\
+ typename boost::range_iterator<R const>::type\
+ >::type elem_at_;\
+ elem_at_ elem_at = boost::make_iterator_range( r );\
+/**/
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/range.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/range.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,32 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_CHECK_EQUAL_CONTAINER_RANGE_ER_2010_HPP
+#define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_RANGE_ER_2010_HPP
+#include <boost/range/algorithm/equal.hpp>
+#include <boost/assign/v2/detail/config/check.hpp>
+#include <boost/assign/v2/detail/traits/container/is_range.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace check_aux{
+
+ template<typename C, typename R>
+ void equal_container(v2::container_tag::range, C const & cont, R const& r)
+ {
+ BOOST_ASSIGN_V2_CHECK( boost::equal( cont, r ) );
+ }
+
+}// check_aux
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/sorted.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_container/sorted.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,34 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_CHECK_EQUAL_CONTAINER_SORTED_ER_2010_HPP
+#define BOOST_ASSIGN_V2_DETAIL_CHECK_EQUAL_CONTAINER_SORTED_ER_2010_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{
+
+ template<typename C, typename R>
+ void equal_container(v2::container_tag::sorted, C const & cont, R const& r)
+ {
+ typedef v2::container_tag::range tag_;
+ // needed in case r is not sorted :
+ C benchmark( boost::begin( r ), boost::end( r ) );
+ equal(tag_, cont, benchmark );
+ }
+
+}// check_aux
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/check/equal_ref.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_ref.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,34 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_PREDICATE_EQUAL_REF_ER_2010_HPP
+#define BOOST_ASSIGN_V2_DETAIL_PREDICATE_EQUAL_REF_ER_2010_HPP
+#include <boost/assign/v2/detail/config/check.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace check_aux{
+
+ struct equal_ref{
+
+ equal_ref(){}
+ template<typename T, typename U>
+ void operator()(T const& t, U const& u)const
+ {
+ BOOST_ASSIGN_V2_CHECK( &t == &u );
+ }
+ };
+
+}// check_aux
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/check/equal_val.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/equal_val.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,34 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_PREDICATE_EQUAL_VAL_ER_2010_HPP
+#define BOOST_ASSIGN_V2_DETAIL_PREDICATE_EQUAL_VAL_ER_2010_HPP
+#include <boost/assign/v2/detail/config/check.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace check_aux{
+
+ struct equal_val{
+
+ equal_val(){}
+ template<typename T, typename U>
+ void operator()(T const& t, U const& u)const
+ {
+ BOOST_ASSIGN_V2_CHECK( t == u );
+ }
+ };
+
+}// check_aux
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/check/fwd_equal_container.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/check/fwd_equal_container.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,29 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_CHECK_FWD_EQUAL_CONTAINER_ER_2010_HPP
+#define BOOST_ASSIGN_V2_DETAIL_CHECK_FWD_EQUAL_CONTAINER_ER_2010_HPP
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace check_aux{
+
+ template<typename C, typename R>
+ void equal_container(C & cont, R const& r);
+
+ template<typename C, typename R>
+ void equal_container(C const& cont, R const& r);
+
+}// check_aux
+}// v2
+}// assign
+}// boost
+
+#endif

Added: sandbox/assign_v2/boost/assign/v2/detail/config/check.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/config/check.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,17 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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_CHECK
+#include <boost/assert.hpp>
+#define BOOST_ASSIGN_V2_CHECK( p ) BOOST_ASSERT( p )
+#endif
+
+// In the test suite, use, instead:
+// #include <boost/test/test_tools.hpp>
+// #define BOOST_ASSIGN_V2_CHECK( p ) BOOST_CHECK( p )

Added: sandbox/assign_v2/boost/assign/v2/detail/traits/container/fwd.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/fwd.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,48 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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

Added: sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_fwd.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/detail/traits/container/ptr_fwd.hpp 2011-02-19 05:38:53 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,99 @@
+//////////////////////////////////////////////////////////////////////////////
+// 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, // TODO verify
+ 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-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