$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
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