Boost logo

Boost-Commit :

From: RaoulGough_at_[hidden]
Date: 2008-05-18 11:47:45


Author: raoulgough
Date: 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
New Revision: 45489
URL: http://svn.boost.org/trac/boost/changeset/45489

Log:
Move indexing_v2 components into indexing_v2 subdirectories and namespace
Added:
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/
      - copied from r43482, /sandbox/python_indexing_v2/boost/python/suite/indexing/
   sandbox/python_indexing_v2/libs/python/doc/PyConDC_2003/bpl.pdf
      - copied unchanged from r44826, /sandbox/python_indexing_v2/libs/python/doc/PyConDC_2003/bpl.pdf
   sandbox/python_indexing_v2/libs/python/doc/tutorial/index.html
      - copied unchanged from r44826, /sandbox/python_indexing_v2/libs/python/doc/tutorial/index.html
   sandbox/python_indexing_v2/libs/python/src/indexing_v2/
      - copied from r43482, /sandbox/python_indexing_v2/libs/python/src/indexing/
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/int_wrapper.hpp
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/int_wrapper.hpp
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_array.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_array.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_array_common.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_array_common.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_array_ext.cpp
      - copied, changed from r45487, /sandbox/python_indexing_v2/libs/python/test/test_array_ext.cpp
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_array_ref.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_array_ref.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_container_proxy.cpp
      - copied, changed from r45487, /sandbox/python_indexing_v2/libs/python/test/test_container_proxy.cpp
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_deque_ext.cpp
      - copied, changed from r45487, /sandbox/python_indexing_v2/libs/python/test/test_deque_ext.cpp
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_deque_plain.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_deque_plain.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_deque_proxy.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_deque_proxy.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_deque_ref.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_deque_ref.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_indexing_const.cpp
      - copied, changed from r45487, /sandbox/python_indexing_v2/libs/python/test/test_indexing_const.cpp
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_indexing_const.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_indexing_const.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_list_ext.cpp
      - copied, changed from r45487, /sandbox/python_indexing_v2/libs/python/test/test_list_ext.cpp
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_list_plain.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_list_plain.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_map_plain.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_map_plain.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_python_list.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_python_list.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_python_ref_common.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_python_ref_common.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_set_plain.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_set_plain.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_common.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_vector_common.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_disable.cpp
      - copied, changed from r45487, /sandbox/python_indexing_v2/libs/python/test/test_vector_disable.cpp
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_disable.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_vector_disable.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_ext.cpp
      - copied, changed from r45487, /sandbox/python_indexing_v2/libs/python/test/test_vector_ext.cpp
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_plain.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_vector_plain.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_proxy.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_vector_proxy.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_ref.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_vector_ref.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_shared.cpp
      - copied, changed from r45487, /sandbox/python_indexing_v2/libs/python/test/test_vector_shared.cpp
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_shared.py
      - copied unchanged from r43482, /sandbox/python_indexing_v2/libs/python/test/test_vector_shared.py
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/testnonlinear.cpp
      - copied, changed from r45487, /sandbox/python_indexing_v2/libs/python/test/testnonlinear.cpp
Removed:
   sandbox/python_indexing_v2/boost/python/suite/indexing/
   sandbox/python_indexing_v2/libs/python/src/indexing/
   sandbox/python_indexing_v2/libs/python/test/int_wrapper.hpp
   sandbox/python_indexing_v2/libs/python/test/test_array.py
   sandbox/python_indexing_v2/libs/python/test/test_array_common.py
   sandbox/python_indexing_v2/libs/python/test/test_array_ext.cpp
   sandbox/python_indexing_v2/libs/python/test/test_array_ref.py
   sandbox/python_indexing_v2/libs/python/test/test_container_proxy.cpp
   sandbox/python_indexing_v2/libs/python/test/test_deque_ext.cpp
   sandbox/python_indexing_v2/libs/python/test/test_deque_plain.py
   sandbox/python_indexing_v2/libs/python/test/test_deque_proxy.py
   sandbox/python_indexing_v2/libs/python/test/test_deque_ref.py
   sandbox/python_indexing_v2/libs/python/test/test_indexing_const.cpp
   sandbox/python_indexing_v2/libs/python/test/test_indexing_const.py
   sandbox/python_indexing_v2/libs/python/test/test_list_ext.cpp
   sandbox/python_indexing_v2/libs/python/test/test_list_plain.py
   sandbox/python_indexing_v2/libs/python/test/test_map_plain.py
   sandbox/python_indexing_v2/libs/python/test/test_python_list.py
   sandbox/python_indexing_v2/libs/python/test/test_python_ref_common.py
   sandbox/python_indexing_v2/libs/python/test/test_set_plain.py
   sandbox/python_indexing_v2/libs/python/test/test_vector_common.py
   sandbox/python_indexing_v2/libs/python/test/test_vector_disable.cpp
   sandbox/python_indexing_v2/libs/python/test/test_vector_disable.py
   sandbox/python_indexing_v2/libs/python/test/test_vector_ext.cpp
   sandbox/python_indexing_v2/libs/python/test/test_vector_plain.py
   sandbox/python_indexing_v2/libs/python/test/test_vector_proxy.py
   sandbox/python_indexing_v2/libs/python/test/test_vector_ref.py
   sandbox/python_indexing_v2/libs/python/test/test_vector_shared.cpp
   sandbox/python_indexing_v2/libs/python/test/test_vector_shared.py
   sandbox/python_indexing_v2/libs/python/test/testnonlinear.cpp
Text files modified:
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/algorithms.hpp | 15 ++++++++-------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/container_proxy.hpp | 27 ++++++++++++++-------------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/container_suite.hpp | 15 ++++++++-------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/container_traits.hpp | 19 ++++++++++---------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/deque.hpp | 13 +++++++------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/element_proxy.hpp | 15 ++++++++-------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/element_proxy_traits.hpp | 11 ++++++-----
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/int_slice_helper.hpp | 9 +++++----
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/iterator_range.hpp | 23 ++++++++++++-----------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/iterator_traits.hpp | 18 ++++++++----------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/list.hpp | 13 +++++++------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/map.hpp | 13 +++++++------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/methods.hpp | 9 +++++----
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/proxy_iterator.hpp | 11 ++++++-----
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/python_iterator.hpp | 7 ++++---
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/set.hpp | 13 +++++++------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/shared_proxy_impl.hpp | 9 +++++----
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/slice.hpp | 13 +++++++------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/slice_handler.hpp | 16 +++++++++++-----
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/suite_utils.hpp | 9 +++++----
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/value_traits.hpp | 7 ++++---
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/vector.hpp | 13 +++++++------
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/visitor.hpp | 11 ++++++-----
   sandbox/python_indexing_v2/boost/python/suite/indexing_v2/workaround.hpp | 9 +++++----
   sandbox/python_indexing_v2/libs/python/build/Jamfile.v2 | 3 +++
   sandbox/python_indexing_v2/libs/python/src/indexing_v2/python_iterator.cpp | 13 +++++++------
   sandbox/python_indexing_v2/libs/python/src/indexing_v2/slice.cpp | 15 ++++++++-------
   sandbox/python_indexing_v2/libs/python/test/Jamfile.v2 | 31 +++++++++++++++++++++++++++++++
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_array_ext.cpp | 25 +++++++++++++------------
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_container_proxy.cpp | 25 +++++++++++++------------
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_deque_ext.cpp | 29 +++++++++++++++--------------
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_indexing_const.cpp | 15 ++++++++-------
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_list_ext.cpp | 15 ++++++++-------
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_disable.cpp | 23 ++++++++++++-----------
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_ext.cpp | 29 +++++++++++++++--------------
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_shared.cpp | 23 ++++++++++++-----------
   sandbox/python_indexing_v2/libs/python/test/indexing_v2/testnonlinear.cpp | 21 +++++++++++----------
   37 files changed, 328 insertions(+), 257 deletions(-)

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/algorithms.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/algorithms.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/algorithms.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -2,7 +2,7 @@
 //
 // Uniform interface layer for all containers.
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,8 +10,9 @@
 //
 // History
 // =======
-// 2003/ 9/11 rmg File creation from suite_utils.hpp
-// 2003/10/28 rmg Split container-specific versions into separate headers
+// 2003-09-11 rmg File creation from suite_utils.hpp
+// 2003-10-28 rmg Split container-specific versions into separate headers
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -19,12 +20,12 @@
 #ifndef BOOST_PYTHON_INDEXING_ALGORITHMS_HPP
 #define BOOST_PYTHON_INDEXING_ALGORITHMS_HPP
 
-#include <boost/python/suite/indexing/suite_utils.hpp>
+#include <boost/python/suite/indexing_v2/suite_utils.hpp>
 
 #include <boost/type_traits.hpp>
 #include <boost/python/errors.hpp>
-#include <boost/python/suite/indexing/int_slice_helper.hpp>
-#include <boost/python/suite/indexing/slice.hpp>
+#include <boost/python/suite/indexing_v2/int_slice_helper.hpp>
+#include <boost/python/suite/indexing_v2/slice.hpp>
 #include <boost/mpl/if.hpp>
 #include <boost/limits.hpp>
 #include <algorithm>
@@ -32,7 +33,7 @@
 #include <stdexcept>
 #include <string>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   template<typename ContainerTraits, typename Ovr = detail::no_override>
   class default_algorithms
   {

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/container_proxy.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/container_proxy.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/container_proxy.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -19,8 +19,9 @@
 //
 // History
 // =======
-// 2003/ 8/26 rmg File creation
-// 2003/10/23 rmg Change pointer container from map to sequence
+// 2003-08-26 rmg File creation
+// 2003-10-23 rmg Change pointer container from map to sequence
+// 2008-04-27 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -28,23 +29,23 @@
 #ifndef BOOST_PYTHON_INDEXING_CONTAINER_PROXY_HPP
 #define BOOST_PYTHON_INDEXING_CONTAINER_PROXY_HPP
 
-#include <boost/python/suite/indexing/proxy_iterator.hpp>
-#include <boost/python/suite/indexing/shared_proxy_impl.hpp>
-#include <boost/python/suite/indexing/element_proxy.hpp>
-#include <boost/python/suite/indexing/element_proxy_traits.hpp>
-#include <boost/python/suite/indexing/workaround.hpp>
-#include <boost/python/suite/indexing/methods.hpp>
+#include <boost/python/suite/indexing_v2/proxy_iterator.hpp>
+#include <boost/python/suite/indexing_v2/shared_proxy_impl.hpp>
+#include <boost/python/suite/indexing_v2/element_proxy.hpp>
+#include <boost/python/suite/indexing_v2/element_proxy_traits.hpp>
+#include <boost/python/suite/indexing_v2/workaround.hpp>
+#include <boost/python/suite/indexing_v2/methods.hpp>
 
 #include <vector>
 #include <cassert>
 #include <boost/shared_ptr.hpp>
 #include <boost/mpl/apply.hpp>
 #include <boost/iterator/iterator_traits.hpp>
-#include <boost/python/suite/indexing/container_traits.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/algorithms.hpp>
+#include <boost/python/suite/indexing_v2/container_traits.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/algorithms.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
 
   template<typename T> struct identity {
     typedef T held_type;

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/container_suite.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/container_suite.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/container_suite.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,8 +10,9 @@
 //
 // History
 // =======
-// 2003/ 8/23 rmg File creation
-// 2003/ 9/ 8 rmg Extracted trait facilities into container_traits.hpp
+// 2003-08-23 rmg File creation
+// 2003-09-08 rmg Extracted trait facilities into container_traits.hpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -19,14 +20,14 @@
 #ifndef BOOST_PYTHON_INDEXING_CONTAINER_SUITE_HPP
 #define BOOST_PYTHON_INDEXING_CONTAINER_SUITE_HPP
 
-#include <boost/python/suite/indexing/methods.hpp>
-#include <boost/python/suite/indexing/algorithms.hpp>
-#include <boost/python/suite/indexing/visitor.hpp>
+#include <boost/python/suite/indexing_v2/methods.hpp>
+#include <boost/python/suite/indexing_v2/algorithms.hpp>
+#include <boost/python/suite/indexing_v2/visitor.hpp>
 
 #include <boost/python/return_by_value.hpp>
 #include <boost/python/return_value_policy.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   typedef boost::python::return_value_policy<boost::python::return_by_value>
   default_container_policies;
 

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/container_traits.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/container_traits.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/container_traits.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -11,10 +11,11 @@
 //
 // History
 // =======
-// 2003/ 8/23 rmg File creation as container_suite.hpp
-// 2003/ 9/ 8 rmg Renamed container_traits.hpp
-// 2003/10/28 rmg Split container-specific versions into separate headers
-// 2004/ 1/28 rmg Convert to bitset-based feature selection
+// 2003-08-23 rmg File creation as container_suite.hpp
+// 2003-09-08 rmg Renamed container_traits.hpp
+// 2003-10-28 rmg Split container-specific versions into separate headers
+// 2004-01-28 rmg Convert to bitset-based feature selection
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -22,9 +23,9 @@
 #ifndef BOOST_PYTHON_INDEXING_CONTAINER_TRAITS_HPP
 #define BOOST_PYTHON_INDEXING_CONTAINER_TRAITS_HPP
 
-#include <boost/python/suite/indexing/suite_utils.hpp>
-#include <boost/python/suite/indexing/methods.hpp>
-#include <boost/python/suite/indexing/value_traits.hpp>
+#include <boost/python/suite/indexing_v2/suite_utils.hpp>
+#include <boost/python/suite/indexing_v2/methods.hpp>
+#include <boost/python/suite/indexing_v2/value_traits.hpp>
 
 #include <boost/type_traits.hpp>
 #include <boost/call_traits.hpp>
@@ -32,7 +33,7 @@
 #include <boost/type_traits/ice.hpp>
 #include <boost/iterator/iterator_traits.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
 #if BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
   // MSVC6 has problems with get_signature if parameter types have
   // top-level const qualification (e.g. int const). Unfortunately,

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/deque.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/deque.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/deque.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,7 +10,8 @@
 //
 // History
 // =======
-// 2003/10/28 rmg File creation from algo_selector.hpp
+// 2003-10-28 rmg File creation from algo_selector.hpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -18,12 +19,12 @@
 #ifndef BOOST_PYTHON_INDEXING_DEQUE_HPP
 #define BOOST_PYTHON_INDEXING_DEQUE_HPP
 
-#include <boost/python/suite/indexing/container_traits.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/algorithms.hpp>
+#include <boost/python/suite/indexing_v2/container_traits.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/algorithms.hpp>
 #include <deque>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
   namespace detail {
     ///////////////////////////////////////////////////////////////////////

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/element_proxy.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/element_proxy.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/element_proxy.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -3,7 +3,7 @@
 // Proxy objects for invidivual elements in a container wrapped by
 // container_proxy
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -11,7 +11,8 @@
 //
 // History
 // =======
-// 2003/ 9/15 rmg File creation from container_proxy.hpp
+// 2003-09-15 rmg File creation from container_proxy.hpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -19,13 +20,13 @@
 #ifndef BOOST_PYTHON_INDEXING_ELEMENT_PROXY_HPP
 #define BOOST_PYTHON_INDEXING_ELEMENT_PROXY_HPP
 
-#include <boost/python/suite/indexing/shared_proxy_impl.hpp>
+#include <boost/python/suite/indexing_v2/shared_proxy_impl.hpp>
 #include <boost/shared_ptr.hpp>
 #include <boost/get_pointer.hpp>
 #include <boost/utility/addressof.hpp>
 #include <boost/detail/workaround.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   template<typename ContainerProxy>
   class element_proxy
   {
@@ -167,12 +168,12 @@
   };
 
 #ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-}} // namespace python::indexing
+}} // namespace python::indexing_v2
 #endif
 
   template<typename ContainerProxy>
   typename ContainerProxy::raw_value_type *
- get_pointer (python::indexing::element_proxy<ContainerProxy> const &proxy)
+ get_pointer (python::indexing_v2::element_proxy<ContainerProxy> const &proxy)
   {
     return ::boost::addressof (*proxy);
   }
@@ -180,7 +181,7 @@
 #ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
     // Don't hide these other get_pointer overloads
     using boost::get_pointer;
-}} // namespace python::indexing
+}} // namespace python::indexing_v2
 #endif
 }
 

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/element_proxy_traits.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/element_proxy_traits.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/element_proxy_traits.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -16,7 +16,8 @@
 //
 // History
 // =======
-// 2003/10/23 rmg File creation
+// 2003-10-23 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -24,12 +25,12 @@
 #ifndef BOOST_PYTHON_INDEXING_ELEMENT_PROXY_TRAITS_HPP
 #define BOOST_PYTHON_INDEXING_ELEMENT_PROXY_TRAITS_HPP
 
-#include <boost/python/suite/indexing/element_proxy.hpp>
-#include <boost/python/suite/indexing/value_traits.hpp>
+#include <boost/python/suite/indexing_v2/element_proxy.hpp>
+#include <boost/python/suite/indexing_v2/value_traits.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <boost/python/implicit.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   template<typename ContainerProxy>
   struct element_proxy_traits
     : public value_traits<

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/int_slice_helper.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/int_slice_helper.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/int_slice_helper.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -8,7 +8,8 @@
 //
 // History
 // =======
-// 2003/10/13 rmg File creation
+// 2003-10-13 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -17,9 +18,9 @@
 #define BOOST_PYTHON_INDEXING_INT_SLICE_HELPER_HPP
 
 # include <boost/python/errors.hpp>
-# include <boost/python/suite/indexing/workaround.hpp>
+# include <boost/python/suite/indexing_v2/workaround.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   template<typename Algorithms, typename SliceType>
   struct int_slice_helper
   {

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/iterator_range.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/iterator_range.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/iterator_range.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -11,8 +11,9 @@
 //
 // History
 // =======
-// 2003/ 9/ 9 rmg File creation as iterator_pair.hpp
-// 2003/10/27 rmg Renamed iterator_range.hpp
+// 2003-09-09 rmg File creation as iterator_pair.hpp
+// 2003-10-27 rmg Renamed iterator_range.hpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -27,12 +28,12 @@
 #include <boost/type_traits/ice.hpp>
 #include <boost/detail/workaround.hpp>
 #include <boost/iterator/iterator_traits.hpp>
-#include <boost/python/suite/indexing/container_traits.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/algorithms.hpp>
-#include <boost/python/suite/indexing/iterator_traits.hpp>
+#include <boost/python/suite/indexing_v2/container_traits.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/algorithms.hpp>
+#include <boost/python/suite/indexing_v2/iterator_traits.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   template<typename Iterator>
   class iterator_range
   {
@@ -89,12 +90,12 @@
   template<typename T, std::size_t N> T *end (T (&array)[N]);
 
 # define BOOST_MAKE_ITERATOR_RANGE \
- ::boost::python::indexing::make_iterator_range
+ ::boost::python::indexing_v2::make_iterator_range
 
 #else
   // For compilers that can't deduce template argument array bounds
 # define BOOST_MAKE_ITERATOR_RANGE(array) \
- ::boost::python::indexing::make_iterator_range ( \
+ ::boost::python::indexing_v2::make_iterator_range ( \
           (array), ((array) + sizeof(array) / sizeof((array)[0])))
 #endif
 
@@ -188,7 +189,7 @@
   {
     typedef base_container_traits<Container, ValueTraits> base_class;
 
- typedef ::boost::python::indexing::iterator_traits<
+ typedef ::boost::python::indexing_v2::iterator_traits<
       typename Container::iterator
> iterator_traits_type;
 

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/iterator_traits.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/iterator_traits.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/iterator_traits.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -5,7 +5,7 @@
 // Traits information about iterators for use in determining what
 // Python methods to support for a container.
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -13,8 +13,9 @@
 //
 // History
 // =======
-// 2003/ 8/23 rmg File creation as iterator_suite.hpp
-// 2003/ 9/12 rmg Renamed iterator_traits.hpp
+// 2003-08-23 rmg File creation as iterator_suite.hpp
+// 2003-09-12 rmg Renamed iterator_traits.hpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -22,16 +23,13 @@
 #ifndef BOOST_PYTHON_INDEXING_ITERATOR_TRAITS_HPP
 #define BOOST_PYTHON_INDEXING_ITERATOR_TRAITS_HPP
 
-#include <boost/python/suite/indexing/suite_utils.hpp>
-#include <boost/python/suite/indexing/methods.hpp>
-//#include <boost/python/suite/indexing/workaround.hpp>
+#include <boost/python/suite/indexing_v2/suite_utils.hpp>
+#include <boost/python/suite/indexing_v2/methods.hpp>
 
-//#include <boost/call_traits.hpp>
-//#include <boost/type_traits.hpp>
 #include <boost/iterator/iterator_traits.hpp>
 #include <boost/iterator/iterator_categories.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   //////////////////////////////////////////////////////////////////////////
   // Indexing traits common base class
   //////////////////////////////////////////////////////////////////////////
@@ -142,7 +140,7 @@
 
   namespace iterator_detail {
     // Some meta-progamming machinery to select the right
- // indexing::iterator_traits template on the basis of
+ // indexing_v2::iterator_traits template on the basis of
     // BOOST_ITERATOR_CATEGORY
 
     typedef char basic_iter_sizer[1];

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/list.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/list.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/list.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,7 +10,8 @@
 //
 // History
 // =======
-// 2003/10/28 rmg File creation from algo_selector.hpp
+// 2003-10-28 rmg File creation from algo_selector.hpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -18,9 +19,9 @@
 #ifndef BOOST_PYTHON_INDEXING_LIST_HPP
 #define BOOST_PYTHON_INDEXING_LIST_HPP
 
-#include <boost/python/suite/indexing/container_traits.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/algorithms.hpp>
+#include <boost/python/suite/indexing_v2/container_traits.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/algorithms.hpp>
 #include <list>
 
 #if BOOST_WORKAROUND (BOOST_MSVC, == 1200)
@@ -28,7 +29,7 @@
 # include <boost/type_traits.hpp>
 #endif
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   /////////////////////////////////////////////////////////////////////////
   // ContainerTraits implementation for std::list instances
   /////////////////////////////////////////////////////////////////////////

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/map.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/map.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/map.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,7 +10,8 @@
 //
 // History
 // =======
-// 2003/10/28 rmg File creation from algo_selector.hpp
+// 2003-10-28 rmg File creation from algo_selector.hpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -18,13 +19,13 @@
 #ifndef BOOST_PYTHON_INDEXING_MAP_HPP
 #define BOOST_PYTHON_INDEXING_MAP_HPP
 
-#include <boost/python/suite/indexing/container_traits.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/algorithms.hpp>
+#include <boost/python/suite/indexing_v2/container_traits.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/algorithms.hpp>
 #include <boost/detail/workaround.hpp>
 #include <map>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   /////////////////////////////////////////////////////////////////////////
   // ContainerTraits implementation for std::map instances
   /////////////////////////////////////////////////////////////////////////

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/methods.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/methods.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/methods.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2004 Raoul M. Gough
+// Copyright (c) 2004, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,7 +10,8 @@
 //
 // History
 // =======
-// 2004/ 1/11 rmg File creation
+// 2004-01-11 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -21,7 +22,7 @@
 #include <boost/config.hpp>
 #include <boost/mpl/if.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
 
   typedef unsigned long method_set_type;
 
@@ -108,6 +109,6 @@
     };
   }
 
-} } } // boost::python::indexing
+} } } // boost::python::indexing_v2
 
 #endif // BOOST_PYTHON_INDEXING_METHODS_HPP

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/proxy_iterator.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/proxy_iterator.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/proxy_iterator.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,7 +1,7 @@
 
 // Header file proxy_iterator.hpp
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -9,7 +9,8 @@
 //
 // History
 // =======
-// 2003/10/ 8 rmg File creation
+// 2003-10-08 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -22,7 +23,7 @@
 #include <boost/iterator.hpp>
 #include <boost/detail/workaround.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
 
   template <class ContainerProxy, typename ElementProxy, typename Traits,
       typename Size, typename Iter>
@@ -152,8 +153,8 @@
 namespace std {
   template <class C, typename E, typename T, typename S, typename I>
   void iter_swap(
- boost::python::indexing::proxy_iterator<C, E, T, S, I> const &first,
- boost::python::indexing::proxy_iterator<C, E, T, S, I> const &second)
+ boost::python::indexing_v2::proxy_iterator<C, E, T, S, I> const &first,
+ boost::python::indexing_v2::proxy_iterator<C, E, T, S, I> const &second)
   {
     first.iter_swap (second);
   }

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/python_iterator.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/python_iterator.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/python_iterator.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -4,7 +4,7 @@
 //
 // Handy Python iterable iterators
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -12,7 +12,8 @@
 //
 // History
 // =======
-// 2003/ 9/10 rmg File creation
+// 2003-09-10 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -22,7 +23,7 @@
 
 #include <boost/python/object.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   struct BOOST_PYTHON_DECL python_iterator
   {
     python_iterator (boost::python::object);

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/set.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/set.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/set.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,7 +10,8 @@
 //
 // History
 // =======
-// 2003/10/28 rmg File creation from algo_selector.hpp
+// 2003-10-28 rmg File creation from algo_selector.hpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -18,13 +19,13 @@
 #ifndef BOOST_PYTHON_INDEXING_SET_HPP
 #define BOOST_PYTHON_INDEXING_SET_HPP
 
-#include <boost/python/suite/indexing/container_traits.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/algorithms.hpp>
+#include <boost/python/suite/indexing_v2/container_traits.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/algorithms.hpp>
 #include <boost/type_traits/is_const.hpp>
 #include <set>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   /////////////////////////////////////////////////////////////////////////
   // ContainerTraits implementation for std::set instances
   /////////////////////////////////////////////////////////////////////////

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/shared_proxy_impl.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/shared_proxy_impl.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/shared_proxy_impl.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -7,7 +7,7 @@
 // affect all proxy pointers that ultimately refer to the same index
 // in the container.
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -15,7 +15,8 @@
 //
 // History
 // =======
-// 2003/ 8/29 rmg File creation from container_proxy.hh
+// 2003-08-29 rmg File creation from container_proxy.hh
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -24,9 +25,9 @@
 #define BOOST_PYTHON_INDEXING_SHARED_PROXY_IMPL_HPP
 
 #include <memory>
-#include <boost/python/suite/indexing/workaround.hpp>
+#include <boost/python/suite/indexing_v2/workaround.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   template<class ContainerProxy>
   class shared_proxy_impl
   {

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/slice.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/slice.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/slice.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,6 +1,6 @@
 // Header file slice.hpp
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -8,7 +8,8 @@
 //
 // History
 // =======
-// 2003/ 9/10 rmg File creation
+// 2003-09-10 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -20,7 +21,7 @@
 #include <boost/python/errors.hpp>
 #include <boost/python/converter/pytype_object_mgr_traits.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   struct BOOST_PYTHON_DECL slice : public boost::python::object
   {
     // This is just a thin wrapper around boost::python::object
@@ -73,7 +74,7 @@
 
 #if !defined (BOOST_NO_MEMBER_TEMPLATES)
 template<typename T>
-boost::python::indexing::slice::slice (T const &ref)
+boost::python::indexing_v2::slice::slice (T const &ref)
   : boost::python::object (ref)
 {
   if (!PySlice_Check (this->ptr()))
@@ -89,9 +90,9 @@
 namespace boost { namespace python { namespace converter {
   // Specialized converter to handle PySlice_Type objects
   template<>
- struct object_manager_traits<boost::python::indexing::slice>
+ struct object_manager_traits<boost::python::indexing_v2::slice>
     : pytype_object_manager_traits<
- &PySlice_Type, ::boost::python::indexing::slice>
+ &PySlice_Type, ::boost::python::indexing_v2::slice>
   {
   };
 }}}

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/slice_handler.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/slice_handler.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/slice_handler.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -2,7 +2,7 @@
 //
 // Header file slice_handler.hpp
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,7 +10,8 @@
 //
 // History
 // =======
-// 2003/ 9/ 9 rmg File creation
+// 2003-09-09 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -26,10 +27,10 @@
 #include <boost/mpl/apply.hpp>
 #include <algorithm>
 
-#include <boost/python/suite/indexing/slice.hpp>
-#include <boost/python/suite/indexing/python_iterator.hpp>
+#include <boost/python/suite/indexing_v2/slice.hpp>
+#include <boost/python/suite/indexing_v2/python_iterator.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   template<class Algorithms, class Policy>
   struct slice_handler
   {
@@ -68,6 +69,11 @@
       bool precall (PyObject *args);
       PyObject* postcall (PyObject *args, PyObject *result);
 
+ template<class Sig>
+ struct extract_return_type : Policy::template extract_return_type<Sig>
+ {
+ };
+
     private:
       Policy m_base;
     };

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/suite_utils.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/suite_utils.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/suite_utils.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,8 +1,8 @@
 // Header file suite_utils.hpp
 //
-// Shared utilities for the indexing suite.
+// Shared utilities for the indexing_v2 suite.
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,7 +10,8 @@
 //
 // History
 // =======
-// 2003/ 8/23 rmg File creation
+// 2003-08-23 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -20,7 +21,7 @@
 
 #include <boost/type_traits.hpp>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
 #if BOOST_WORKAROUND (BOOST_MSVC, BOOST_TESTED_AT (1310)) \
   || (defined (__GNUC__) && (__GNUC__ < 3))
   // MSVC and GCC 2.96 seem to have problems comparing enumerated

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/value_traits.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/value_traits.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/value_traits.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -11,7 +11,8 @@
 //
 // History
 // =======
-// 2003/ 9/12 rmg File creation
+// 2003-09-12 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -23,7 +24,7 @@
 #include <boost/shared_ptr.hpp>
 #include <functional>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   // The default_value_traits template is used by all ContainerTraits
   // templates. It can be overridden by specialization or by supplying
   // the optional ValueTraits parameter to a container traits

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/vector.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/vector.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/vector.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,7 +10,8 @@
 //
 // History
 // =======
-// 2003/10/28 rmg File creation from algo_selector.hpp
+// 2003-10-28 rmg File creation from algo_selector.hpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -18,12 +19,12 @@
 #ifndef BOOST_PYTHON_INDEXING_VECTOR_HPP
 #define BOOST_PYTHON_INDEXING_VECTOR_HPP
 
-#include <boost/python/suite/indexing/container_traits.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/algorithms.hpp>
+#include <boost/python/suite/indexing_v2/container_traits.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/algorithms.hpp>
 #include <vector>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
   namespace detail {
     ///////////////////////////////////////////////////////////////////////

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/visitor.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/visitor.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/visitor.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -11,7 +11,8 @@
 //
 // History
 // =======
-// 2003/ 9/11 rmg File creation from container_suite.hpp
+// 2003-09-11 rmg File creation from container_suite.hpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -19,8 +20,8 @@
 #ifndef BOOST_PYTHON_INDEXING_VISITOR_HPP
 #define BOOST_PYTHON_INDEXING_VISITOR_HPP
 
-#include <boost/python/suite/indexing/slice_handler.hpp>
-#include <boost/python/suite/indexing/suite_utils.hpp> // Get index_style_t
+#include <boost/python/suite/indexing_v2/slice_handler.hpp>
+#include <boost/python/suite/indexing_v2/suite_utils.hpp> // Get index_style_t
 
 #include <boost/python/def_visitor.hpp>
 #include <boost/python/iterator.hpp>
@@ -29,7 +30,7 @@
 #include <boost/bind.hpp>
 #include <functional>
 
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   //////////////////////////////////////////////////////////////////////////
   // Policy override template that masks everything except the precall
   // functions. i.e. it uses default policies for everything except

Modified: sandbox/python_indexing_v2/boost/python/suite/indexing_v2/workaround.hpp
==============================================================================
--- /sandbox/python_indexing_v2/boost/python/suite/indexing/workaround.hpp (original)
+++ sandbox/python_indexing_v2/boost/python/suite/indexing_v2/workaround.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -2,7 +2,7 @@
 //
 // Indexing-specific workarounds for compiler problems.
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,7 +10,8 @@
 //
 // History
 // =======
-// 2003/10/21 rmg File creation
+// 2003-10-21 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -31,13 +32,13 @@
 
 # if BOOST_WORKAROUND (BOOST_MSVC, <= 1300)
 // Workaround the lack of a reset member function in std::auto_ptr
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
 template<typename T> void reset_auto_ptr (T &aptr, T::element_type *pptr) {
  aptr = T (pptr);
 }
 } } }
 # define BOOST_PYTHON_INDEXING_RESET_AUTO_PTR \
- ::boost::python::indexing::reset_auto_ptr
+ ::boost::python::indexing_v2::reset_auto_ptr
 # else
 # define BOOST_PYTHON_INDEXING_RESET_AUTO_PTR( aptr, pptr ) \
         (aptr).reset(pptr)

Modified: sandbox/python_indexing_v2/libs/python/build/Jamfile.v2
==============================================================================
--- sandbox/python_indexing_v2/libs/python/build/Jamfile.v2 (original)
+++ sandbox/python_indexing_v2/libs/python/build/Jamfile.v2 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -60,6 +60,9 @@
     import.cpp
     exec.cpp
     object/function_doc_signature.cpp
+
+ indexing_v2/iv2slice.cpp
+ indexing_v2/python_iterator.cpp
     : # requirements
         <link>static:<define>BOOST_PYTHON_STATIC_LIB
         <define>BOOST_PYTHON_SOURCE

Modified: sandbox/python_indexing_v2/libs/python/src/indexing_v2/python_iterator.cpp
==============================================================================
--- /sandbox/python_indexing_v2/libs/python/src/indexing/python_iterator.cpp (original)
+++ sandbox/python_indexing_v2/libs/python/src/indexing_v2/python_iterator.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -2,7 +2,7 @@
 //
 // Module python_iterator.cpp
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,19 +10,20 @@
 //
 // History
 // =======
-// 2003/ 9/10 rmg File creation
+// 2003-09-10 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
 
-#include <boost/python/suite/indexing/python_iterator.hpp>
+#include <boost/python/suite/indexing_v2/python_iterator.hpp>
 #include <boost/python/handle.hpp>
 
 ////////////////////////////////////////////////////////////////////////////
 // python_iterator constructor
 ///////////////////////////////////////////////////////////////////////////
 
-boost::python::indexing::python_iterator
+boost::python::indexing_v2::python_iterator
 ::python_iterator (boost::python::object obj)
   : m_iter_obj (handle<> (PyObject_GetIter (obj.ptr()))),
     m_next_method (m_iter_obj.attr ("next")),
@@ -34,7 +35,7 @@
 // Get our next item (if any)
 ///////////////////////////////////////////////////////////////////////////
 
-bool boost::python::indexing::python_iterator::next ()
+bool boost::python::indexing_v2::python_iterator::next ()
 {
   bool result = true; // Assume success
 
@@ -68,7 +69,7 @@
 ///////////////////////////////////////////////////////////////////////////
 
 boost::python::object
-boost::python::indexing::python_iterator::current () const
+boost::python::indexing_v2::python_iterator::current () const
 {
   return m_current;
 }

Modified: sandbox/python_indexing_v2/libs/python/src/indexing_v2/slice.cpp
==============================================================================
--- /sandbox/python_indexing_v2/libs/python/src/indexing/slice.cpp (original)
+++ sandbox/python_indexing_v2/libs/python/src/indexing_v2/slice.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,6 +1,6 @@
 // Module slice.cpp
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -8,12 +8,13 @@
 //
 // History
 // =======
-// 2003/ 9/10 rmg File creation
+// 2003-09-10 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
 
-#include <boost/python/suite/indexing/slice.hpp>
+#include <boost/python/suite/indexing_v2/slice.hpp>
 #include <algorithm>
 
 /////////////////////////////////////////////////////////////////////////////
@@ -21,7 +22,7 @@
 /////////////////////////////////////////////////////////////////////////////
 
 #if defined (BOOST_NO_MEMBER_TEMPLATES)
-namespace boost { namespace python { namespace indexing {
+namespace boost { namespace python { namespace indexing_v2 {
   slice::slice (::boost::python::handle<> const &p) : object (p) { }
   slice::slice (::boost::python::detail::borrowed_reference p) : object (p) { }
   slice::slice (::boost::python::detail::new_reference p) : object (p) { }
@@ -33,7 +34,7 @@
 // slice copy constructor
 /////////////////////////////////////////////////////////////////////////////
 
-boost::python::indexing::slice::slice (slice const &copy)
+boost::python::indexing_v2::slice::slice (slice const &copy)
   : object (copy)
 {
 }
@@ -42,7 +43,7 @@
 // integer_slice constructor
 /////////////////////////////////////////////////////////////////////////////
 
-boost::python::indexing::integer_slice
+boost::python::indexing_v2::integer_slice
 ::integer_slice (slice const &sl, index_type length)
   : m_slice (sl)
   // Leave index members uninitialized
@@ -70,7 +71,7 @@
 // Check if an index is within the range of this integer_slice
 /////////////////////////////////////////////////////////////////////////////
 
-bool boost::python::indexing::integer_slice::in_range (index_type index)
+bool boost::python::indexing_v2::integer_slice::in_range (index_type index)
 {
   return ((m_stop - index) * m_direction) > 0;
 }

Modified: sandbox/python_indexing_v2/libs/python/test/Jamfile.v2
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/Jamfile.v2 (original)
+++ sandbox/python_indexing_v2/libs/python/test/Jamfile.v2 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -180,6 +180,37 @@
 # bpl-test bienstman5 ;
 # }
 
+# --- unit tests of indexing_v2 components ---
+
+[ py-run indexing_v2/test_container_proxy.cpp ]
+
+[ bpl-test indexing_v2/test_vector_proxy :
+ indexing_v2/test_vector_proxy.py indexing_v2/test_vector_ext.cpp ]
+[ bpl-test indexing_v2/test_vector_ref :
+ indexing_v2/test_vector_ref.py indexing_v2/test_vector_ext.cpp ]
+[ bpl-test indexing_v2/test_vector_plain :
+ indexing_v2/test_vector_plain.py indexing_v2/test_vector_ext.cpp ]
+[ bpl-test indexing_v2/test_deque_proxy :
+ indexing_v2/test_deque_proxy.py indexing_v2/test_deque_ext.cpp ]
+[ bpl-test indexing_v2/test_deque_ref :
+ indexing_v2/test_deque_ref.py indexing_v2/test_deque_ext.cpp ]
+[ bpl-test indexing_v2/test_deque_plain :
+ indexing_v2/test_deque_plain.py indexing_v2/test_deque_ext.cpp ]
+[ bpl-test indexing_v2/test_array :
+ indexing_v2/test_array.py indexing_v2/test_array_ext.cpp ]
+[ bpl-test indexing_v2/test_array_ref :
+ indexing_v2/test_array_ref.py indexing_v2/test_array_ext.cpp ]
+[ bpl-test indexing_v2/test_list_plain :
+ indexing_v2/test_list_plain.py indexing_v2/test_list_ext.cpp ]
+[ bpl-test indexing_v2/test_map_plain :
+ indexing_v2/test_map_plain.py indexing_v2/testnonlinear.cpp ]
+[ bpl-test indexing_v2/test_set_plain :
+ indexing_v2/test_set_plain.py indexing_v2/testnonlinear.cpp ]
+
+[ bpl-test indexing_v2/test_indexing_const ]
+[ bpl-test indexing_v2/test_vector_shared ]
+[ bpl-test indexing_v2/test_vector_disable ]
+
 # --- unit tests of library components ---
 
 [ compile indirect_traits_test.cpp ]

Copied: sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_array_ext.cpp (from r45487, /sandbox/python_indexing_v2/libs/python/test/test_array_ext.cpp)
==============================================================================
--- /sandbox/python_indexing_v2/libs/python/test/test_array_ext.cpp (original)
+++ sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_array_ext.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -8,15 +8,16 @@
 //
 // History
 // =======
-// 2003/10/15 rmg File creation from testlinear.cpp
+// 2003-10-15 rmg File creation from testlinear.cpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
 
 #include "int_wrapper.hpp"
 
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/iterator_range.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/iterator_range.hpp>
 #include <boost/python/class.hpp>
 #include <boost/python/module.hpp>
 #include <boost/python/def.hpp>
@@ -26,14 +27,14 @@
 bool int_wrapper::our_trace_flag = true;
 unsigned int_wrapper::our_object_counter = 0;
 
-boost::python::indexing::iterator_range<int *> get_array_plain()
+boost::python::indexing_v2::iterator_range<int *> get_array_plain()
 {
   static int array[] = { 8, 6, 4, 2, 1, 3, 5, 7, 0 };
 
   return BOOST_MAKE_ITERATOR_RANGE (array);
 }
 
-boost::python::indexing::iterator_range<int_wrapper *> get_array_wrap()
+boost::python::indexing_v2::iterator_range<int_wrapper *> get_array_wrap()
 {
   static int_wrapper array[] = {
     int_wrapper(8), int_wrapper(6), int_wrapper(4), int_wrapper(2),
@@ -45,7 +46,7 @@
 
 BOOST_PYTHON_MODULE(test_array_ext)
 {
- namespace indexing = boost::python::indexing;
+ namespace indexing_v2 = boost::python::indexing_v2;
 
   boost::python::implicitly_convertible <int, int_wrapper>();
 
@@ -57,15 +58,15 @@
     .def ("__cmp__", compare)
     ;
 
- typedef indexing::iterator_range<int *> Container1;
- typedef indexing::iterator_range<int_wrapper *> Container2;
+ typedef indexing_v2::iterator_range<int *> Container1;
+ typedef indexing_v2::iterator_range<int_wrapper *> Container2;
 
 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1> Suite1;
- typedef indexing::container_suite<Container2> Suite2;
+ typedef indexing_v2::container_suite<Container1> Suite1;
+ typedef indexing_v2::container_suite<Container2> Suite2;
 #else
- typedef indexing::iterator_range_suite<Container1> Suite1;
- typedef indexing::iterator_range_suite<Container2> Suite2;
+ typedef indexing_v2::iterator_range_suite<Container1> Suite1;
+ typedef indexing_v2::iterator_range_suite<Container2> Suite2;
 #endif
 
   boost::python::class_<Container1>

Copied: sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_container_proxy.cpp (from r45487, /sandbox/python_indexing_v2/libs/python/test/test_container_proxy.cpp)
==============================================================================
--- /sandbox/python_indexing_v2/libs/python/test/test_container_proxy.cpp (original)
+++ sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_container_proxy.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,6 +1,6 @@
 // Module test_container_proxy.cpp
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -11,14 +11,15 @@
 //
 // History
 // =======
-// 2003/10/23 rmg File creation
+// 2003-10-23 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
 
 #include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/python/suite/indexing/container_proxy.hpp>
-#include <boost/python/suite/indexing/workaround.hpp>
+#include <boost/python/suite/indexing_v2/container_proxy.hpp>
+#include <boost/python/suite/indexing_v2/workaround.hpp>
 #include <boost/test/minimal.hpp>
 #include <vector>
 #include <deque>
@@ -155,11 +156,11 @@
 template<typename RawContainer, typename Generator>
 void test_direct_proxy ()
 {
- namespace indexing = boost::python::indexing;
+ namespace indexing_v2 = boost::python::indexing_v2;
 
   typedef RawContainer raw_container_type;
- typedef indexing::identity<raw_container_type> holder_type;
- typedef indexing::container_proxy<raw_container_type, holder_type, Generator>
+ typedef indexing_v2::identity<raw_container_type> holder_type;
+ typedef indexing_v2::container_proxy<raw_container_type, holder_type, Generator>
     proxy_container_type;
 
   typedef typename proxy_container_type::reference reference;
@@ -249,12 +250,12 @@
 template<typename RawContainer, typename Generator>
 void test_indirect_proxy ()
 {
- namespace indexing = boost::python::indexing;
+ namespace indexing_v2 = boost::python::indexing_v2;
 
   typedef RawContainer raw_container_type;
- typedef indexing::deref<raw_container_type *> holder_type;
+ typedef indexing_v2::deref<raw_container_type *> holder_type;
 
- typedef indexing::container_proxy<raw_container_type, holder_type, Generator>
+ typedef indexing_v2::container_proxy<raw_container_type, holder_type, Generator>
     proxy_container_type;
 
   typedef typename proxy_container_type::reference reference;
@@ -327,10 +328,10 @@
 
 int test_main (int argc, char *argv[])
 {
- namespace indexing = boost::python::indexing;
+ namespace indexing_v2 = boost::python::indexing_v2;
 
   throwing_int::setTrace (false);
- test_proxy<std::vector<throwing_int>, indexing::vector_generator>();
+ test_proxy<std::vector<throwing_int>, indexing_v2::vector_generator>();
   test_proxy<std::deque<throwing_int>, ::deque_generator>();
   return 0;
 }

Copied: sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_deque_ext.cpp (from r45487, /sandbox/python_indexing_v2/libs/python/test/test_deque_ext.cpp)
==============================================================================
--- /sandbox/python_indexing_v2/libs/python/test/test_deque_ext.cpp (original)
+++ sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_deque_ext.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,6 +1,6 @@
 // Module test_deque_ext.cpp
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -8,7 +8,8 @@
 //
 // History
 // =======
-// 2003/10/15 rmg File creation from testlinear.cpp
+// 2003-10-15 rmg File creation from testlinear.cpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -16,9 +17,9 @@
 #include "int_wrapper.hpp"
 
 // Include container_proxy.hpp first to get overload of get_pointer in scope
-#include <boost/python/suite/indexing/container_proxy.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/deque.hpp>
+#include <boost/python/suite/indexing_v2/container_proxy.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/deque.hpp>
 #include <deque>
 #include <boost/python/class.hpp>
 #include <boost/python/module.hpp>
@@ -41,7 +42,7 @@
 
 BOOST_PYTHON_MODULE(test_deque_ext)
 {
- namespace indexing = boost::python::indexing;
+ namespace indexing_v2 = boost::python::indexing_v2;
 
   boost::python::implicitly_convertible <int, int_wrapper>();
 
@@ -55,17 +56,17 @@
 
   typedef std::deque<int> Container1;
   typedef std::deque<int_wrapper> Container2;
- typedef indexing::container_proxy<
- Container2, indexing::identity<Container2>, deque_generator> Container3;
+ typedef indexing_v2::container_proxy<
+ Container2, indexing_v2::identity<Container2>, deque_generator> Container3;
 
 #if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1> Suite1;
- typedef indexing::container_suite<Container2> Suite2;
- typedef indexing::container_suite<Container3> Suite3;
+ typedef indexing_v2::container_suite<Container1> Suite1;
+ typedef indexing_v2::container_suite<Container2> Suite2;
+ typedef indexing_v2::container_suite<Container3> Suite3;
 #else
- typedef indexing::deque_suite<Container1> Suite1;
- typedef indexing::deque_suite<Container2> Suite2;
- typedef indexing::container_proxy_suite<Container3> Suite3;
+ typedef indexing_v2::deque_suite<Container1> Suite1;
+ typedef indexing_v2::deque_suite<Container2> Suite2;
+ typedef indexing_v2::container_proxy_suite<Container3> Suite3;
 #endif
 
   boost::python::class_<Container1>("Deque").def (Suite1());

Copied: sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_indexing_const.cpp (from r45487, /sandbox/python_indexing_v2/libs/python/test/test_indexing_const.cpp)
==============================================================================
--- /sandbox/python_indexing_v2/libs/python/test/test_indexing_const.cpp (original)
+++ sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_indexing_const.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -2,7 +2,7 @@
 //
 // Module test_indexing_const_ext.cpp
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -10,14 +10,15 @@
 //
 // History
 // =======
-// 2003/10/16 rmg File creation
+// 2003-10-16 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
 
 #include "int_wrapper.hpp"
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/vector.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/vector.hpp>
 #include <vector>
 #include <boost/python/class.hpp>
 #include <boost/python/module.hpp>
@@ -41,7 +42,7 @@
 
 BOOST_PYTHON_MODULE(test_indexing_const_ext)
 {
- namespace indexing = boost::python::indexing;
+ namespace indexing_v2 = boost::python::indexing_v2;
 
   boost::python::implicitly_convertible <int, int_wrapper>();
 
@@ -57,9 +58,9 @@
   typedef std::vector<int_wrapper> Container1;
 
 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1 const> Suite1;
+ typedef indexing_v2::container_suite<Container1 const> Suite1;
 #else
- typedef indexing::vector_suite<Container1 const> Suite1;
+ typedef indexing_v2::vector_suite<Container1 const> Suite1;
 #endif
 
   boost::python::class_<Container1>("Vector_const")

Copied: sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_list_ext.cpp (from r45487, /sandbox/python_indexing_v2/libs/python/test/test_list_ext.cpp)
==============================================================================
--- /sandbox/python_indexing_v2/libs/python/test/test_list_ext.cpp (original)
+++ sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_list_ext.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,6 +1,6 @@
 // Module test_list_ext.cpp
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -8,15 +8,16 @@
 //
 // History
 // =======
-// 2003/10/15 rmg File creation from testlinear.cpp
+// 2003-10-15 rmg File creation from testlinear.cpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
 
 #include "int_wrapper.hpp"
 
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/list.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/list.hpp>
 #include <list>
 #include <boost/python/class.hpp>
 #include <boost/python/module.hpp>
@@ -29,7 +30,7 @@
 
 BOOST_PYTHON_MODULE(test_list_ext)
 {
- namespace indexing = boost::python::indexing;
+ namespace indexing_v2 = boost::python::indexing_v2;
 
   boost::python::implicitly_convertible <int, int_wrapper>();
 
@@ -44,9 +45,9 @@
   typedef std::list<int_wrapper> Container1;
 
 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1> Suite1;
+ typedef indexing_v2::container_suite<Container1> Suite1;
 #else
- typedef indexing::list_suite<Container1> Suite1;
+ typedef indexing_v2::list_suite<Container1> Suite1;
 #endif
 
   boost::python::class_<Container1>("List")

Copied: sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_disable.cpp (from r45487, /sandbox/python_indexing_v2/libs/python/test/test_vector_disable.cpp)
==============================================================================
--- /sandbox/python_indexing_v2/libs/python/test/test_vector_disable.cpp (original)
+++ sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_disable.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,4 +1,4 @@
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -11,13 +11,14 @@
 //
 // History
 // =======
-// 2003/11/19 rmg File creation
+// 2003-11-19 rmg File creation
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
 
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/vector.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/vector.hpp>
 #include <vector>
 #include <boost/python/class.hpp>
 #include <boost/python/module.hpp>
@@ -25,24 +26,24 @@
 
 BOOST_PYTHON_MODULE(test_vector_disable_ext)
 {
- namespace indexing = boost::python::indexing;
+ namespace indexing_v2 = boost::python::indexing_v2;
 
   typedef std::vector<int> Container1;
 
   // Binary mask for the four methods we want to support
   unsigned int const mask
- = indexing::method_getitem
- | indexing::method_setitem
- | indexing::method_delitem
- | indexing::method_append;
+ = indexing_v2::method_getitem
+ | indexing_v2::method_setitem
+ | indexing_v2::method_delitem
+ | indexing_v2::method_append;
 
 #if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
   // Normal case (automatic algorithm and traits selection)
- typedef indexing::container_suite<Container1, mask>
+ typedef indexing_v2::container_suite<Container1, mask>
     Suite1;
 #else
   // For broken compilers - explicit selection of algorithms/traits
- typedef indexing::vector_suite<Container1, mask>
+ typedef indexing_v2::vector_suite<Container1, mask>
     Suite1;
 #endif
 

Copied: sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_ext.cpp (from r45487, /sandbox/python_indexing_v2/libs/python/test/test_vector_ext.cpp)
==============================================================================
--- /sandbox/python_indexing_v2/libs/python/test/test_vector_ext.cpp (original)
+++ sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_ext.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -8,9 +8,10 @@
 //
 // History
 // =======
-// 2003/ 9/ 8 rmg File creation as testsuite.cpp
-// 2003/ 9/29 rmg Renamed testlinear.cpp to allow division into parts
-// 2003/10/15 rmg Renamed test_vector_ext.cpp for further division
+// 2003-09-08 rmg File creation as testsuite.cpp
+// 2003-09-29 rmg Renamed testlinear.cpp to allow division into parts
+// 2003-10-15 rmg Renamed test_vector_ext.cpp for further division
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -18,9 +19,9 @@
 #include "int_wrapper.hpp"
 
 // Include container_proxy.hpp first to get overload of get_pointer in scope
-#include <boost/python/suite/indexing/container_proxy.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/vector.hpp>
+#include <boost/python/suite/indexing_v2/container_proxy.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/vector.hpp>
 #include <vector>
 #include <boost/python/class.hpp>
 #include <boost/python/module.hpp>
@@ -33,7 +34,7 @@
 
 BOOST_PYTHON_MODULE(test_vector_ext)
 {
- namespace indexing = boost::python::indexing;
+ namespace indexing_v2 = boost::python::indexing_v2;
 
   boost::python::implicitly_convertible <int, int_wrapper>();
 
@@ -47,16 +48,16 @@
 
   typedef std::vector<int> Container1;
   typedef std::vector<int_wrapper> Container2;
- typedef indexing::container_proxy< std::vector<int_wrapper> > Container3;
+ typedef indexing_v2::container_proxy< std::vector<int_wrapper> > Container3;
 
 #if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1> Suite1;
- typedef indexing::container_suite<Container2> Suite2;
- typedef indexing::container_suite<Container3> Suite3;
+ typedef indexing_v2::container_suite<Container1> Suite1;
+ typedef indexing_v2::container_suite<Container2> Suite2;
+ typedef indexing_v2::container_suite<Container3> Suite3;
 #else
- typedef indexing::vector_suite<Container1> Suite1;
- typedef indexing::vector_suite<Container2> Suite2;
- typedef indexing::container_proxy_suite<Container3> Suite3;
+ typedef indexing_v2::vector_suite<Container1> Suite1;
+ typedef indexing_v2::vector_suite<Container2> Suite2;
+ typedef indexing_v2::container_proxy_suite<Container3> Suite3;
 #endif
 
   boost::python::class_<Container1>("Vector")

Copied: sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_shared.cpp (from r45487, /sandbox/python_indexing_v2/libs/python/test/test_vector_shared.cpp)
==============================================================================
--- /sandbox/python_indexing_v2/libs/python/test/test_vector_shared.cpp (original)
+++ sandbox/python_indexing_v2/libs/python/test/indexing_v2/test_vector_shared.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,6 +1,6 @@
 // Module test_vector_shared_ext.cpp
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -8,7 +8,8 @@
 //
 // History
 // =======
-// 2003/10/15 rmg File creation from test_vector_ext.cpp
+// 2003-10-15 rmg File creation from test_vector_ext.cpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
@@ -16,8 +17,8 @@
 #include "int_wrapper.hpp"
 #include <boost/shared_ptr.hpp>
 #include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/vector.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/vector.hpp>
 #include <vector>
 #include <boost/python/class.hpp>
 #include <boost/python/module.hpp>
@@ -33,7 +34,7 @@
 
 BOOST_PYTHON_MODULE(test_vector_shared_ext)
 {
- namespace indexing = boost::python::indexing;
+ namespace indexing_v2 = boost::python::indexing_v2;
 
   typedef boost::shared_ptr<int_wrapper> int_wrapper_holder;
   typedef std::vector<int_wrapper_holder> Container1;
@@ -52,16 +53,16 @@
 #if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
   // Partial specialization of value_traits takes care of things
   // automatically
- typedef indexing::container_suite<Container1> Suite1;
+ typedef indexing_v2::container_suite<Container1> Suite1;
 #else
   // Otherwise do it the hard way
- typedef indexing::indirect_value_traits<int_wrapper_holder> value_traits_;
- typedef indexing::random_access_sequence_traits<Container1, value_traits_>
+ typedef indexing_v2::indirect_value_traits<int_wrapper_holder> value_traits_;
+ typedef indexing_v2::random_access_sequence_traits<Container1, value_traits_>
     container_traits_;
- typedef indexing::default_algorithms<container_traits_> algorithms_;
+ typedef indexing_v2::default_algorithms<container_traits_> algorithms_;
 
- typedef indexing::container_suite<
- Container1, indexing::all_methods, algorithms_> Suite1;
+ typedef indexing_v2::container_suite<
+ Container1, indexing_v2::all_methods, algorithms_> Suite1;
 #endif
 
   boost::python::class_<Container1>("Vector_shared")

Copied: sandbox/python_indexing_v2/libs/python/test/indexing_v2/testnonlinear.cpp (from r45487, /sandbox/python_indexing_v2/libs/python/test/testnonlinear.cpp)
==============================================================================
--- /sandbox/python_indexing_v2/libs/python/test/testnonlinear.cpp (original)
+++ sandbox/python_indexing_v2/libs/python/test/indexing_v2/testnonlinear.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
@@ -1,6 +1,6 @@
 // Module testnonlinear.cpp
 //
-// Copyright (c) 2003 Raoul M. Gough
+// Copyright (c) 2003, 2008 Raoul M. Gough
 //
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
@@ -8,15 +8,16 @@
 //
 // History
 // =======
-// 2003/ 9/29 rmg File creation from testlinear.cpp
+// 2003-09-29 rmg File creation from testlinear.cpp
+// 2008-05-18 rmg Rename indexing subdirectory to indexing_v2
 //
 // $Id$
 //
 
 #include "int_wrapper.hpp"
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/map.hpp>
-#include <boost/python/suite/indexing/set.hpp>
+#include <boost/python/suite/indexing_v2/container_suite.hpp>
+#include <boost/python/suite/indexing_v2/map.hpp>
+#include <boost/python/suite/indexing_v2/set.hpp>
 #include <map>
 #include <set>
 #include <boost/python/class.hpp>
@@ -30,7 +31,7 @@
 
 BOOST_PYTHON_MODULE(testnonlinear)
 {
- namespace indexing = boost::python::indexing;
+ namespace indexing_v2 = boost::python::indexing_v2;
 
   boost::python::implicitly_convertible <int, int_wrapper>();
 
@@ -46,11 +47,11 @@
   typedef std::set<std::string> Container2;
 
 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1> Suite1;
- typedef indexing::container_suite<Container2> Suite2;
+ typedef indexing_v2::container_suite<Container1> Suite1;
+ typedef indexing_v2::container_suite<Container2> Suite2;
 #else
- typedef indexing::map_suite<Container1> Suite1;
- typedef indexing::set_suite<Container2> Suite2;
+ typedef indexing_v2::map_suite<Container1> Suite1;
+ typedef indexing_v2::set_suite<Container2> Suite2;
 #endif
 
   boost::python::class_<Container1>("Map").def (Suite1());

Deleted: sandbox/python_indexing_v2/libs/python/test/int_wrapper.hpp
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/int_wrapper.hpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,201 +0,0 @@
-// -*- mode:c++ -*-
-//
-// Header file int_wrapper.hpp
-//
-// Copyright (c) 2003 Raoul M. Gough
-//
-// Use, modification and distribution is 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)
-//
-// History
-// =======
-// 2003/ 9/10 rmg File creation as IntWrapper.hpp
-// 2003/10/15 rmg Renamed int_wrapper.hpp (Boost naming convention)
-//
-// $Id$
-//
-
-#ifndef int_wrapper_rmg_20030910_included
-#define int_wrapper_rmg_20030910_included
-
-#include <string>
-#include <sstream>
-#include <algorithm>
-#include <stdio.h>
-#include <boost/type_traits/broken_compiler_spec.hpp>
-
-struct int_wrapper {
- static bool our_trace_flag;
- static unsigned our_object_counter;
- int m_obj_number;
- int m_int;
-
- inline int_wrapper ();
- inline explicit int_wrapper (int i);
- inline int_wrapper (int_wrapper const &other);
- inline int_wrapper &operator= (int_wrapper const &other);
- inline ~int_wrapper ();
-
- inline void increment (int);
- inline std::string repr () const;
-
- inline static void setTrace (bool onoff);
-};
-
-BOOST_TT_BROKEN_COMPILER_SPEC (int_wrapper)
-
-inline bool operator== (int_wrapper const &lhs, int_wrapper const &rhs);
-inline bool operator!= (int_wrapper const &lhs, int_wrapper const &rhs);
-inline bool operator< (int_wrapper const &lhs, int_wrapper const &rhs);
-inline bool operator> (int_wrapper const &lhs, int_wrapper const &rhs);
-inline int compare (int_wrapper const &lhs, int_wrapper const &rhs);
-
-//
-// This is ugly. Put all of this stuff inline to avoid needing a
-// separate object file for testing (don't know how to do this in
-// Jam). Client module will have to define the following variables:
-//
-// bool int_wrapper::our_trace_flag = true;
-// unsigned int_wrapper::our_object_counter = 0;
-//
-
-int_wrapper::int_wrapper ()
- : m_obj_number (our_object_counter++),
- m_int (0)
-{
- if (our_trace_flag)
- {
- printf ("int_wrapper %u () at %p\n", m_obj_number, this);
- }
-}
-
-int_wrapper::int_wrapper (int i)
- : m_obj_number (our_object_counter++),
- m_int (i)
-{
- if (our_trace_flag)
- {
- printf ("int_wrapper %u (%d) at %p\n",
- m_obj_number,
- m_int,
- this);
- }
-}
-
-int_wrapper::int_wrapper (int_wrapper const &other)
- : m_obj_number (our_object_counter++),
- m_int (other.m_int)
-{
- if (our_trace_flag)
- {
- printf ("int_wrapper %u (int_wrapper %u at %p) at %p\n",
- m_obj_number,
- other.m_obj_number,
- &other,
- this);
- }
-}
-
-int_wrapper &int_wrapper::operator= (int_wrapper const &other)
-{
- if (our_trace_flag)
- {
- printf ("int_wrapper %u at %p = int_wrapper %u at %p\n",
- m_obj_number,
- this,
- other.m_obj_number,
- &other);
- }
-
- m_int = other.m_int;
-
- return *this;
-}
-
-int_wrapper::~int_wrapper ()
-{
- if (our_trace_flag)
- {
- printf ("~int_wrapper %u at %p\n", m_obj_number, this);
- }
-
- m_int = 0xbaaaaaad;
-}
-
-void int_wrapper::increment(int change)
-{
- if (our_trace_flag)
- {
- printf ("int_wrapper %u::increment(%d)\n", m_obj_number, change);
- }
-
- m_int += change;
-}
-
-std::string int_wrapper::repr () const
-{
- std::stringstream temp;
- temp << m_int;
- return temp.str();
-}
-
-void int_wrapper::setTrace (bool onoff)
-{
- our_trace_flag = onoff;
-}
-
-bool operator== (int_wrapper const &lhs, int_wrapper const &rhs)
-{
- return lhs.m_int == rhs.m_int;
-}
-
-bool operator!= (int_wrapper const &lhs, int_wrapper const &rhs)
-{
- return lhs.m_int != rhs.m_int;
-}
-
-bool operator< (int_wrapper const &lhs, int_wrapper const &rhs)
-{
- return lhs.m_int < rhs.m_int;
-}
-
-bool operator> (int_wrapper const &lhs, int_wrapper const &rhs)
-{
- return lhs.m_int > rhs.m_int;
-}
-
-int compare (int_wrapper const &lhs, int_wrapper const &rhs)
-{
- if (lhs < rhs)
- {
- return -1;
- }
-
- else if (rhs < lhs)
- {
- return 1;
- }
-
- else
- {
- return 0;
- }
-}
-
-namespace std {
- void swap (int_wrapper &first, int_wrapper &second) {
- if (int_wrapper::our_trace_flag)
- {
- printf ("std::swap (int_wrapper %u at %p, int_wrapper %u at %p)\n",
- first.m_obj_number,
- &first,
- second.m_obj_number,
- &second);
- }
-
- swap (first.m_int, second.m_int); // Don't swap object numbers
- }
-}
-
-#endif // int_wrapper_rmg_20030910_included

Deleted: sandbox/python_indexing_v2/libs/python/test/test_array.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_array.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,39 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_array.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/ 1 rmg File creation
-#
-# $Id$
-#
-
-'''>>> from test_array_ext import *
->>> element_type = int
->>> v = get_array_plain()
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- from test_array_common import common_doctest_string
- __doc__ += common_doctest_string
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_array_common.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_array_common.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,109 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_array_common.py
-#
-# Shared doctest sequence for use with any array-based container
-# (including vectors). Performs tests that do not require insertion or
-# deletion.
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/ 1 rmg File creation
-#
-# $Id$
-#
-
-#
-# Note - on entry, v must be the container for testing, and it
-# must already contain the correct sequence of elements.
-#
-
-'''>>> print [ x for x in v ]
-[8, 6, 4, 2, 1, 3, 5, 7, 0]
->>> print len(v)
-9
->>> print v.count (element_type(9)) # Count with no matches
-0
->>> print v.count (element_type(2)) # Count with unique match
-1
->>> print v.index (element_type(0)) # Index with match
-8
->>> assert element_type(0) in v # contains with match
->>> assert element_type(8) in v # contains with match
->>> assert not element_type(-1) in v # contains without match
->>> print v[0] # Get first element OK (zero index)
-8
->>> print v[len(v)-1] # Get last element OK (+ve index)
-0
->>> print v[-1] # Get last element OK (-ve index)
-0
->>> print v[-len(v)] # Get first element OK (-ve index)
-8
->>> v[0] = element_type(9) # Replace first element OK (zero index)
->>> print [ x for x in v ]
-[9, 6, 4, 2, 1, 3, 5, 7, 0]
->>> v[len(v)-1] = element_type(1) # Replace last element OK (+ve index)
->>> print [ x for x in v ]
-[9, 6, 4, 2, 1, 3, 5, 7, 1]
->>> v[-1] = element_type(0) # Replace last element OK (-ve index)
->>> print [ x for x in v ]
-[9, 6, 4, 2, 1, 3, 5, 7, 0]
->>> v[-len(v)] = element_type(8) # Replace first element OK (-ve index)
->>> print [ x for x in v ]
-[8, 6, 4, 2, 1, 3, 5, 7, 0]
->>> try:
-... print v[len(v)] # Get element index out of range
-... except IndexError, e:
-... print "Got expected exception"
-...
-Got expected exception
->>> try:
-... print v[-(len(v)+1)] # Get element index out of range (-ve)
-... except IndexError, e:
-... print "Got expected exception"
-...
-Got expected exception
->>> try:
-... v[len(v)] = element_type(9) # Set element index out of range
-... except IndexError, e:
-... print "Got expected exception"
-...
-Got expected exception
->>> try:
-... print v.index (element_type(9)) # Search for nonexistant value
-... except ValueError, e:
-... print "Got expected exception"
-...
-Got expected exception
->>> v.reverse() # Reverse
->>> print [ x for x in v ]
-[0, 7, 5, 3, 1, 2, 4, 6, 8]
->>> v.sort() # Sort
->>> print [ x for x in v ]
-[0, 1, 2, 3, 4, 5, 6, 7, 8]
->>> v[0] = element_type(8) # Single element replace
->>> print v.count(element_type(8)) # Count with multiple matches
-2
->>> print v[v.index(element_type(3))] # Check index and lookup
-3
->>> v[:] = [ element_type(x) for x in [4, 5, 6, 7, 8, 8, 1, 2, 3] ] # slice rep
->>> print [ x for x in v ]
-[4, 5, 6, 7, 8, 8, 1, 2, 3]
->>> print [ x for x in v[7:] ] # Slice from index to end
-[2, 3]
->>> print [ x for x in v[-2:] ] # Slice from two before end to end
-[2, 3]
->>> print [ x for x in v[-2:99999] ] # Slice with high end index
-[2, 3]
->>> print [ x for x in v[99999:] ] # Slice with high start index
-[]
-'''
-
-common_doctest_string = __doc__

Deleted: sandbox/python_indexing_v2/libs/python/test/test_array_ext.cpp
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_array_ext.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,90 +0,0 @@
-// Module test_array_ext.cpp
-//
-// Copyright (c) 2003 Raoul M. Gough
-//
-// Use, modification and distribution is 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)
-//
-// History
-// =======
-// 2003/10/15 rmg File creation from testlinear.cpp
-//
-// $Id$
-//
-
-#include "int_wrapper.hpp"
-
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/iterator_range.hpp>
-#include <boost/python/class.hpp>
-#include <boost/python/module.hpp>
-#include <boost/python/def.hpp>
-#include <boost/python/implicit.hpp>
-
-// More messiness from not having a separate int_wrapper.cpp file
-bool int_wrapper::our_trace_flag = true;
-unsigned int_wrapper::our_object_counter = 0;
-
-boost::python::indexing::iterator_range<int *> get_array_plain()
-{
- static int array[] = { 8, 6, 4, 2, 1, 3, 5, 7, 0 };
-
- return BOOST_MAKE_ITERATOR_RANGE (array);
-}
-
-boost::python::indexing::iterator_range<int_wrapper *> get_array_wrap()
-{
- static int_wrapper array[] = {
- int_wrapper(8), int_wrapper(6), int_wrapper(4), int_wrapper(2),
- int_wrapper(1), int_wrapper(3), int_wrapper(5),
- int_wrapper(7), int_wrapper(0) };
-
- return BOOST_MAKE_ITERATOR_RANGE (array);
-}
-
-BOOST_PYTHON_MODULE(test_array_ext)
-{
- namespace indexing = boost::python::indexing;
-
- boost::python::implicitly_convertible <int, int_wrapper>();
-
- boost::python::def ("setTrace", &int_wrapper::setTrace);
-
- boost::python::class_<int_wrapper>("int_wrapper", boost::python::init<int>())
- .def ("increment", &int_wrapper::increment)
- .def ("__repr__", &int_wrapper::repr)
- .def ("__cmp__", compare)
- ;
-
- typedef indexing::iterator_range<int *> Container1;
- typedef indexing::iterator_range<int_wrapper *> Container2;
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1> Suite1;
- typedef indexing::container_suite<Container2> Suite2;
-#else
- typedef indexing::iterator_range_suite<Container1> Suite1;
- typedef indexing::iterator_range_suite<Container2> Suite2;
-#endif
-
- boost::python::class_<Container1>
- ("Array", boost::python::init<int *, int *>())
- .def (Suite1());
-
- boost::python::def ("get_array_plain", get_array_plain);
-
-
- // reference_existing_object is safe in this case, because the array
- // is static, and we never manually destroy any array elements. There
- // is also no point in using return_internal_reference to extend the
- // life of the iterator_range object, since it has no influence on the
- // lifetimes of the array elements.
- boost::python::class_<Container2>
- ("Array_ref", boost::python::init<int_wrapper *, int_wrapper *>())
- .def (Suite2::with_policies(
- boost::python::return_value_policy<
- boost::python::reference_existing_object>()));
-
- boost::python::def ("get_array_wrap", get_array_wrap);
-}

Deleted: sandbox/python_indexing_v2/libs/python/test/test_array_ref.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_array_ref.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,62 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_array_ref.py
-#
-# Test the array container with return_internal_reference
-# policies. This is a dangerous container - see the container suite
-# documentation on using policies for details.
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/15 rmg File creation from test_vector_ref.py and test_array.py
-#
-# $Id$
-#
-
-'''>>> from test_array_ext import *
->>> element_type = int_wrapper
->>> def increment(wrapper, change = 1):
-... wrapper.increment (change)
-...
->>> setTrace(False)
->>> v = get_array_wrap ()
->>> ref = v[0]
->>> print ref, v[0]
-8 8
->>> increment (v[0]) # Mutate object in container
->>> print ref, v[0] # Check reference refers to same object
-9 9
->>> for x in v:
-... increment(x) # Check iterator provides by-ref access
-...
->>> print ref, v[0] # Check mutation happened in container element
-10 10
->>> print [ x for x in v ] # Check other elements mutated as well
-[10, 7, 5, 3, 2, 4, 6, 8, 1]
->>> v[:] = [ 8, 6, 4, 2, 1, 3, 5, 7, 0 ] # Return array to original state
->>> #### NOTE: test_array_common gets included after this point ####
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- from test_array_common import common_doctest_string
- __doc__ += common_doctest_string
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_container_proxy.cpp
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_container_proxy.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,336 +0,0 @@
-// Module test_container_proxy.cpp
-//
-// Copyright (c) 2003 Raoul M. Gough
-//
-// Use, modification and distribution is 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)
-//
-// Additional test cases for the container_proxy template, including
-// direct access to the raw container.
-//
-// History
-// =======
-// 2003/10/23 rmg File creation
-//
-// $Id$
-//
-
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/python/suite/indexing/container_proxy.hpp>
-#include <boost/python/suite/indexing/workaround.hpp>
-#include <boost/test/minimal.hpp>
-#include <vector>
-#include <deque>
-
-#include "int_wrapper.hpp"
-
-// Some messiness from not having a separate int_wrapper.cpp file
-bool int_wrapper::our_trace_flag = true;
-unsigned int_wrapper::our_object_counter = 0;
-
-// For exception safety tests
-struct throwing_int : public int_wrapper {
- static bool our_throw_flag;
-
- throwing_int () : int_wrapper () { }
- explicit throwing_int (int p) : int_wrapper (p) { }
-
- throwing_int (throwing_int const &other)
- : int_wrapper (other)
- {
- maybe_throw ();
- }
-
- throwing_int &operator= (throwing_int const &other)
- {
- int_wrapper::operator= (other);
- maybe_throw ();
- return *this;
- }
-
-private:
- void maybe_throw () const
- {
- if (our_throw_flag)
- {
- if (our_trace_flag) {
- printf ("throwing a bool\n");
- }
-
- throw our_throw_flag;
- }
- }
-};
-
-bool throwing_int::our_throw_flag = false;
-
-#if !BOOST_WORKAROUND (BOOST_MSVC, <= 1300)
-// Works with element_proxy instances because of the reference
-// conversion operator
-static void increment (throwing_int &int_wrap, int val) {
- int_wrap.increment (val);
-}
-#else
-// The implicit conversion provided by element_proxy doesn't work
-// with MSVC[67]. Instead use the element_proxy operator->
-template<typename T>
-static void increment (T const &proxy, int val) {
- proxy->increment (val);
-}
-#endif
-
-template<typename T> T const &as_const (T &ref) { return ref; }
-
-template<typename ProxyContainer>
-void initial_tests (ProxyContainer &proxy_container)
-{
- typedef typename ProxyContainer::reference reference;
- typedef typename ProxyContainer::const_reference const_reference;
-
- BOOST_CHECK (proxy_container.size() == 4);
- BOOST_CHECK (proxy_container.is_valid());
-
- proxy_container.insert (proxy_container.begin(), throwing_int (1));
-
- reference ref0 (proxy_container[0]);
- const_reference cref0 (proxy_container[0]);
- BOOST_CHECK (ref0.use_count() == 3);
- BOOST_CHECK (ref0 == throwing_int (1));
- BOOST_CHECK (cref0 == throwing_int (1));
-
- proxy_container.insert (proxy_container.begin(), throwing_int (2));
- BOOST_CHECK (proxy_container.is_valid());
-
- BOOST_CHECK (ref0.use_count() == 3);
- BOOST_CHECK (ref0 == throwing_int (1));
- BOOST_CHECK (cref0 == throwing_int (1));
- BOOST_CHECK (proxy_container[0] == throwing_int (2));
-
- proxy_container.swap_elements (0, 1);
- BOOST_CHECK (proxy_container.is_valid());
-
- BOOST_CHECK (ref0.use_count() == 3);
- BOOST_CHECK (ref0 == throwing_int (1));
- BOOST_CHECK (cref0 == throwing_int (1));
- BOOST_CHECK (proxy_container[1] == throwing_int (2));
-
- proxy_container.swap_elements (0, 1);
- proxy_container.erase (proxy_container.begin());
- BOOST_CHECK (proxy_container.is_valid());
-
- BOOST_CHECK (ref0.use_count() == 3);
- BOOST_CHECK (cref0.use_count() == 3);
- ::increment (proxy_container[0], 2);
- BOOST_CHECK (ref0 == throwing_int (3));
- BOOST_CHECK (cref0 == throwing_int (3));
- BOOST_CHECK (proxy_container[0] == throwing_int (3));
- BOOST_CHECK (as_const(proxy_container)[0] == throwing_int (3));
-
- proxy_container.erase (proxy_container.begin());
- BOOST_CHECK (proxy_container.is_valid());
-
- // ref0 and cref0 should be detached from the container and both
- // referring to the same object
- BOOST_CHECK (ref0.use_count() == 2);
- BOOST_CHECK (cref0.use_count() == 2);
- BOOST_CHECK (ref0 == throwing_int (3));
- BOOST_CHECK (cref0 == throwing_int (3));
- ::increment (ref0, 1);
- BOOST_CHECK (ref0 == throwing_int (4));
- BOOST_CHECK (cref0 == throwing_int (4));
-
- BOOST_CHECK (proxy_container.size() == 4);
- BOOST_CHECK (proxy_container.is_valid());
-
- // Check other comparison operators (mutable and const)
- BOOST_CHECK (ref0 != throwing_int (0));
- BOOST_CHECK (ref0 > throwing_int (3));
- BOOST_CHECK (ref0 < throwing_int (5));
- BOOST_CHECK (cref0 != throwing_int (0));
- BOOST_CHECK (cref0 > throwing_int (3));
- BOOST_CHECK (cref0 < throwing_int (5));
-}
-
-template<typename RawContainer, typename Generator>
-void test_direct_proxy ()
-{
- namespace indexing = boost::python::indexing;
-
- typedef RawContainer raw_container_type;
- typedef indexing::identity<raw_container_type> holder_type;
- typedef indexing::container_proxy<raw_container_type, holder_type, Generator>
- proxy_container_type;
-
- typedef typename proxy_container_type::reference reference;
-
- raw_container_type raw_container (4);
-
- {
- std::auto_ptr<proxy_container_type> proxy_auto_p(
- new proxy_container_type (raw_container));
-
- initial_tests (*proxy_auto_p);
-
- reference ref0 ((*proxy_auto_p)[0]);
- reference refn ((*proxy_auto_p)[proxy_auto_p->size() - 1]);
- ::increment (ref0, 5);
- ::increment (refn, 10);
- BOOST_CHECK (ref0 == throwing_int (5));
- BOOST_CHECK (refn == throwing_int (10));
- BOOST_CHECK (ref0.use_count() == 2);
- BOOST_CHECK (refn.use_count() == 2);
-
- // Invoke container_proxy destructor
- BOOST_PYTHON_INDEXING_RESET_AUTO_PTR (proxy_auto_p, 0);
-
- BOOST_CHECK (ref0.use_count() == 1); // Detached
- BOOST_CHECK (refn.use_count() == 1); // Detached
- BOOST_CHECK (ref0 == throwing_int (5)); // Value copied
- BOOST_CHECK (refn == throwing_int (10)); // Value copied
- }
-
- {
- // Check construction from iterators
- proxy_container_type proxy_container(
- raw_container.begin(), raw_container.end());
-
- BOOST_CHECK (proxy_container.is_valid());
- BOOST_CHECK (proxy_container.size() == raw_container.size());
-
- reference ref1 (proxy_container[1]);
- ::increment (ref1, 5);
- proxy_container_type temp;
- temp.push_back (throwing_int (10));
- reference ref2 (temp[0]);
-
- proxy_container = temp; // Use assignment operator
-
- BOOST_CHECK (proxy_container.is_valid());
- BOOST_CHECK (temp.is_valid());
- BOOST_CHECK (ref2.use_count() == 2);
- BOOST_CHECK (ref2 == throwing_int (10));
- BOOST_CHECK (proxy_container[0] == throwing_int (10));
- BOOST_CHECK (ref1.use_count() == 1);
- BOOST_CHECK (ref1 == throwing_int (5));
- }
-
- {
- // Very basic check on exception safety of assignment operator. A
- // better test would cause an exception during the allocation of
- // proxies, maybe by using the Generator parameter to install a
- // container with a throwing allocator.
-
- proxy_container_type temp1;
- proxy_container_type temp2;
- temp1.push_back (throwing_int (10));
- temp2.push_back (throwing_int (20));
-
- throwing_int::our_throw_flag = true;
-
- try
- {
- temp1 = temp2; // Should throw
- BOOST_ERROR ("No exception thrown from assignment");
- }
- catch (bool)
- {
- // Container contents unchanged
- BOOST_CHECK (temp1.is_valid());
- BOOST_CHECK (temp2.is_valid());
- BOOST_CHECK (temp1[0] == throwing_int (10));
- BOOST_CHECK (temp2[0] == throwing_int (20));
- }
-
- throwing_int::our_throw_flag = false;
- }
-}
-
-template<typename RawContainer, typename Generator>
-void test_indirect_proxy ()
-{
- namespace indexing = boost::python::indexing;
-
- typedef RawContainer raw_container_type;
- typedef indexing::deref<raw_container_type *> holder_type;
-
- typedef indexing::container_proxy<raw_container_type, holder_type, Generator>
- proxy_container_type;
-
- typedef typename proxy_container_type::reference reference;
-
- raw_container_type raw_container (4);
-
- proxy_container_type proxy_container (&raw_container);
-
- initial_tests (proxy_container);
-
- // Test cases where the client code has direct mutable access to the
- // raw container.
-
- reference ref2 (proxy_container[2]);
- BOOST_CHECK (ref2.use_count() == 2); // Still attached
- ::increment (proxy_container[2], 5);
- BOOST_CHECK (ref2 == throwing_int (5));
-
- // Notify proxy of insert in raw container (*after* insert)
- raw_container.insert (raw_container.begin(), throwing_int(7));
- proxy_container.notify_insertion (0, 1);
- BOOST_CHECK (proxy_container.is_valid());
- BOOST_CHECK (ref2.use_count() == 2); // Still attached
- ::increment (proxy_container[3], 5);
- BOOST_CHECK (ref2 == throwing_int (10));
-
- // Create reference to about-to-be-erased value
- reference ref0 (proxy_container[0]);
- BOOST_CHECK (ref0.use_count() == 2);
- BOOST_CHECK (ref0 == throwing_int (7));
-
- // Notify proxy of erase in raw container (*before* erase)
- proxy_container.prepare_erase (0, 2);
- raw_container.erase (raw_container.begin(), raw_container.begin() + 2);
- BOOST_CHECK (proxy_container.is_valid());
- BOOST_CHECK (ref0.use_count() == 1); // Ref to erased value detached
- BOOST_CHECK (ref0 == throwing_int (7)); // Value copied before erase
- BOOST_CHECK (ref2.use_count() == 2); // Other ref still attached
- ::increment (proxy_container[1], 5);
- BOOST_CHECK (ref2 == throwing_int (15));
-
- // Notify proxy of replacement in raw container (*before* assignment)
- proxy_container.detach_proxy (1);
- raw_container[1] = throwing_int (4);
- BOOST_CHECK (proxy_container.is_valid());
- BOOST_CHECK (proxy_container[1] == throwing_int (4)); // New value installed
- BOOST_CHECK (ref2.use_count() == 1); // Ref is detached
- BOOST_CHECK (ref2 == throwing_int (15)); // Value copied before overwrite
-}
-
-template<typename RawContainer, typename Generator>
-void test_proxy()
-{
- test_direct_proxy<RawContainer, Generator> ();
- test_indirect_proxy<RawContainer, Generator> ();
-}
-
-struct deque_generator {
- // Generates deque type for any element type. This matches the
- // performance characteristics of the real container and the pointer
- // index container, e.g. for insert/erase at the beginning.
- template<typename Element> struct apply {
- typedef std::deque<Element> type;
- };
-};
-
-// Make the indirect holders work with broken compilers
-BOOST_TT_BROKEN_COMPILER_SPEC (std::vector<throwing_int>)
-BOOST_TT_BROKEN_COMPILER_SPEC (std::deque<throwing_int>)
-
-int test_main (int argc, char *argv[])
-{
- namespace indexing = boost::python::indexing;
-
- throwing_int::setTrace (false);
- test_proxy<std::vector<throwing_int>, indexing::vector_generator>();
- test_proxy<std::deque<throwing_int>, ::deque_generator>();
- return 0;
-}

Deleted: sandbox/python_indexing_v2/libs/python/test/test_deque_ext.cpp
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_deque_ext.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,81 +0,0 @@
-// Module test_deque_ext.cpp
-//
-// Copyright (c) 2003 Raoul M. Gough
-//
-// Use, modification and distribution is 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)
-//
-// History
-// =======
-// 2003/10/15 rmg File creation from testlinear.cpp
-//
-// $Id$
-//
-
-#include "int_wrapper.hpp"
-
-// Include container_proxy.hpp first to get overload of get_pointer in scope
-#include <boost/python/suite/indexing/container_proxy.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/deque.hpp>
-#include <deque>
-#include <boost/python/class.hpp>
-#include <boost/python/module.hpp>
-#include <boost/python/def.hpp>
-#include <boost/python/implicit.hpp>
-
-// More messiness from not having a separate int_wrapper.cpp file
-bool int_wrapper::our_trace_flag = true;
-unsigned int_wrapper::our_object_counter = 0;
-
-struct deque_generator {
- // Generates deque type for any element type. This matches the
- // performance characteristics of the real container and the pointer
- // index container in a container_proxy, e.g. for insert/erase at
- // the beginning.
- template<typename Element> struct apply {
- typedef std::deque<Element> type;
- };
-};
-
-BOOST_PYTHON_MODULE(test_deque_ext)
-{
- namespace indexing = boost::python::indexing;
-
- boost::python::implicitly_convertible <int, int_wrapper>();
-
- boost::python::def ("setTrace", &int_wrapper::setTrace);
-
- boost::python::class_<int_wrapper>("int_wrapper", boost::python::init<int>())
- .def ("increment", &int_wrapper::increment)
- .def ("__repr__", &int_wrapper::repr)
- .def ("__cmp__", compare)
- ;
-
- typedef std::deque<int> Container1;
- typedef std::deque<int_wrapper> Container2;
- typedef indexing::container_proxy<
- Container2, indexing::identity<Container2>, deque_generator> Container3;
-
-#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1> Suite1;
- typedef indexing::container_suite<Container2> Suite2;
- typedef indexing::container_suite<Container3> Suite3;
-#else
- typedef indexing::deque_suite<Container1> Suite1;
- typedef indexing::deque_suite<Container2> Suite2;
- typedef indexing::container_proxy_suite<Container3> Suite3;
-#endif
-
- boost::python::class_<Container1>("Deque").def (Suite1());
-
- // Returning internal references to elements of a deque is
- // dangerous - the references can be invalidated by inserts or
- // deletes!
- boost::python::class_<Container2>("Deque_ref")
- .def (Suite2
- ::with_policies (boost::python::return_internal_reference<>()));
-
- boost::python::class_<Container3>("Deque_proxy").def (Suite3());
-}

Deleted: sandbox/python_indexing_v2/libs/python/test/test_deque_plain.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_deque_plain.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,43 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_deque_plain.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/15 rmg File creation from test_vector_plain.py
-#
-# $Id$
-#
-
-'''>>> from test_deque_ext import *
->>> element_type = int
->>> v = Deque()
->>> v[:] = (6, 7, 8, 5, 4, 8, 3, 1, 2) # Slice replace (tuple)
->>> print [ x for x in v ]
-[6, 7, 8, 5, 4, 8, 3, 1, 2]
->>> #### NOTE: test_vector_common gets included after this point ####
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- from test_vector_common import common_doctest_string
- __doc__ += common_doctest_string
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_deque_proxy.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_deque_proxy.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,46 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_deque_proxy.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/15 rmg File creation from test_vector_proxy.py
-#
-# $Id$
-#
-
-'''>>> from test_deque_ext import *
->>> element_type = int_wrapper
->>> def increment(wrapper, change = 1):
-... wrapper.increment (change)
-...
->>> setTrace(False)
->>> v = Deque_proxy()
->>> #### NOTE: test_python_ref, test_vector_common included after this ####
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- import test_python_ref_common # Checks for python reference semantics
- import test_vector_common
- __doc__ += test_python_ref_common.common_doctest_string
- __doc__ += test_vector_common.common_doctest_string
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_deque_ref.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_deque_ref.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,63 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_deque_ref.py
-#
-# Test the deque container with return_internal_reference
-# policies. This is a dangerous container - see the container suite
-# documentation on using policies for details.
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/15 rmg File creation from test_vector_ref.py
-#
-# $Id$
-#
-
-'''>>> from test_deque_ext import *
->>> element_type = int_wrapper
->>> def increment(wrapper, change = 1):
-... wrapper.increment (change)
-...
->>> setTrace(False)
->>> v = Deque_ref()
->>> v.append (3)
->>> ref = v[0]
->>> print ref, v[0]
-3 3
->>> increment(v[0]) # Mutate object in container
->>> print ref, v[0] # Check reference refers to same object
-4 4
->>> for x in v:
-... increment(x) # Check iterator provides by-ref access
-...
->>> print ref, v[0] # Check mutation happened in container element
-5 5
->>> # DO NOT try insert and delete, since the element reference
->>> # would be invalidated by those operations.
->>> del ref # Avoid dangling reference during subsequent tests
->>> #### NOTE: test_vector_common gets included after this point ####
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- from test_vector_common import common_doctest_string
- __doc__ += common_doctest_string
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_indexing_const.cpp
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_indexing_const.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,70 +0,0 @@
-// -*- mode:c++ -*-
-//
-// Module test_indexing_const_ext.cpp
-//
-// Copyright (c) 2003 Raoul M. Gough
-//
-// Use, modification and distribution is 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)
-//
-// History
-// =======
-// 2003/10/16 rmg File creation
-//
-// $Id$
-//
-
-#include "int_wrapper.hpp"
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/vector.hpp>
-#include <vector>
-#include <boost/python/class.hpp>
-#include <boost/python/module.hpp>
-#include <boost/python/def.hpp>
-#include <boost/python/implicit.hpp>
-
-// More messiness from not having a separate int_wrapper.cpp file
-bool int_wrapper::our_trace_flag = true;
-unsigned int_wrapper::our_object_counter = 0;
-
-std::vector<int_wrapper> get_vector ()
-{
- static int_wrapper array[] = {
- int_wrapper(8), int_wrapper(6), int_wrapper(4), int_wrapper(2),
- int_wrapper(1), int_wrapper(3), int_wrapper(5),
- int_wrapper(7), int_wrapper(0) };
-
- return std::vector<int_wrapper>
- (array, array + sizeof(array) / sizeof (array[0]));
-}
-
-BOOST_PYTHON_MODULE(test_indexing_const_ext)
-{
- namespace indexing = boost::python::indexing;
-
- boost::python::implicitly_convertible <int, int_wrapper>();
-
- boost::python::def ("setTrace", &int_wrapper::setTrace);
-
- boost::python::class_<int_wrapper>
- ("int_wrapper", boost::python::init<int>())
- .def ("increment", &int_wrapper::increment)
- .def ("__repr__", &int_wrapper::repr)
- .def ("__cmp__", compare)
- ;
-
- typedef std::vector<int_wrapper> Container1;
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1 const> Suite1;
-#else
- typedef indexing::vector_suite<Container1 const> Suite1;
-#endif
-
- boost::python::class_<Container1>("Vector_const")
- .def (Suite1())
- ;
-
- boost::python::def ("get_vector", get_vector);
-}

Deleted: sandbox/python_indexing_v2/libs/python/test/test_indexing_const.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_indexing_const.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,45 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_const.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/16 rmg File creation
-#
-# $Id$
-#
-
-'''>>> from test_indexing_const_ext import *
->>> setTrace(False)
->>> v = get_vector()
->>> print [x for x in v]
-[8, 6, 4, 2, 1, 3, 5, 7, 0]
->>> print v.index (3)
-5
->>> print v.count (0)
-1
->>> print v.count (9)
-0
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_list_ext.cpp
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_list_ext.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,54 +0,0 @@
-// Module test_list_ext.cpp
-//
-// Copyright (c) 2003 Raoul M. Gough
-//
-// Use, modification and distribution is 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)
-//
-// History
-// =======
-// 2003/10/15 rmg File creation from testlinear.cpp
-//
-// $Id$
-//
-
-#include "int_wrapper.hpp"
-
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/list.hpp>
-#include <list>
-#include <boost/python/class.hpp>
-#include <boost/python/module.hpp>
-#include <boost/python/def.hpp>
-#include <boost/python/implicit.hpp>
-
-// More messiness from not having a separate int_wrapper.cpp file
-bool int_wrapper::our_trace_flag = true;
-unsigned int_wrapper::our_object_counter = 0;
-
-BOOST_PYTHON_MODULE(test_list_ext)
-{
- namespace indexing = boost::python::indexing;
-
- boost::python::implicitly_convertible <int, int_wrapper>();
-
- boost::python::def ("setTrace", &int_wrapper::setTrace);
-
- boost::python::class_<int_wrapper>("int_wrapper", boost::python::init<int>())
- .def ("increment", &int_wrapper::increment)
- .def ("__repr__", &int_wrapper::repr)
- .def ("__cmp__", compare)
- ;
-
- typedef std::list<int_wrapper> Container1;
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1> Suite1;
-#else
- typedef indexing::list_suite<Container1> Suite1;
-#endif
-
- boost::python::class_<Container1>("List")
- .def (Suite1());
-}

Deleted: sandbox/python_indexing_v2/libs/python/test/test_list_plain.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_list_plain.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,62 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_list_plain.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/ 1 rmg File creation
-#
-# $Id$
-#
-
-'''>>> from test_list_ext import *
->>> setTrace(0)
->>> l = List()
->>> assert not 0 in l # Search in empty list
->>> l.append (1) # Append
->>> l.append (2)
->>> l.append (3)
->>> print [ x for x in l ] # Iteration
-[1, 2, 3]
->>> assert 2 in l # Successful search
->>> assert not 4 in l # Unsuccessful search
->>> print l.count(3) # Found item
-1
->>> print l.count(-1) # Not found item
-0
->>> l.reverse() # Reverse
->>> print [ x for x in l ]
-[3, 2, 1]
->>> l.sort() # Sort
->>> print [ x for x in l ]
-[1, 2, 3]
->>> print len(l) # Length
-3
->>> for x in l:
-... x.increment(1) # Check value semantics
-...
->>> print [ x for x in l ] # Container should be unchanged
-[1, 2, 3]
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_map_plain.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_map_plain.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,79 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_map_plain.py
-#
-# Doctest-based testing for a C++ map.
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/ 1 rmg File creation
-#
-# $Id$
-#
-
-'''>>> from testnonlinear import *
->>> setTrace(0)
->>> m = Map() # std::map<std::string, int_wrapper>
->>> m["hello"] = 1 # Insert entry
->>> print m["hello"] # Lookup entry
-1
->>> m.insert ("Barnaby", 2)
->>> print m["Barnaby"]
-2
->>> m["Barnaby"] = 3
->>> print m["Barnaby"]
-3
->>> assert m.has_key ("Barnaby")
->>> assert "hello" in m
->>> assert "Barnaby" in m
->>> print m.count ("Barnaby")
-1
->>> m.insert ("world", 4)
->>> print m["world"]
-4
->>> try:
-... m.insert ("Barnaby", 2)
-... except ValueError, e:
-... print "Got expected exception:", e
-...
-Got expected exception: Map already holds value for insertion
->>> del m["Barnaby"]
->>> try:
-... print m["Barnaby"]
-... except ValueError, e:
-... print "Got expected exception:", e
-...
-Got expected exception: associative container: key not found
->>> try:
-... del m["Barnaby"]
-... except ValueError, e:
-... print "Got expected exception:", e
-...
-Got expected exception: Container does not hold value to be erased
->>> print m["hello"]
-1
->>> print m["world"]
-4
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_python_list.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_python_list.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,53 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_python_list.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/ 1 rmg File creation
-#
-# $Id$
-#
-
-'''>>> v = []
->>> # Provide a mutable int-like object (same as int_wrapper)
->>> class element_type:
-... def __init__(self, val = 0):
-... self.val = val
-... def increment(self, incr):
-... self.val += incr
-... def __repr__(self):
-... return repr(self.val)
-... def __cmp__(self, other):
-... return self.val.__cmp__(other.val)
-...
->>> def increment(element, change = 1):
-... element.increment (change)
-...
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- import test_python_ref_common # Checks for python reference semantics
- import test_vector_common
- __doc__ += test_python_ref_common.extended_doctest_string
- __doc__ += test_vector_common.common_doctest_string
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_python_ref_common.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_python_ref_common.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,104 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_python_refs_common.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/15 rmg File creation
-#
-# $Id$
-#
-
-'''>>> print len(v) # Check container starts off empty
-0
->>> v.extend ([element_type(x) for x in [6, 5, 4, 3]]) # Add elements
->>> print [ x for x in v ]
-[6, 5, 4, 3]
->>> for x in v:
-... increment(x) # Check iterator provides by-ref access
-...
->>> print [ x for x in v ] # Check mutation happened in container
-[7, 6, 5, 4]
->>> v0 = v[0] # Reference to first element
->>> v3 = v[3] # Reference to last element
->>> print v0, v[0], v3 # Check reference values
-7 7 4
->>> increment(v0) # Increment one of the referenced elements
->>> print v0, v[0], v3 # Check reference to same object
-8 8 4
->>> v[:0] = [element_type(3)] # Insert before any referenced elements
->>> print [ x for x in v ] # Check whole contents
-[3, 8, 6, 5, 4]
->>> print v0, v[1], v3 # Check references to original elements
-8 8 4
->>> increment(v[1]) # Increment element in container
->>> print v0, v[1], v3 # Check reference to same object
-9 9 4
->>> del v[1] # Delete element from container
->>> print v0, v[1], v3 # Check old element value copied
-9 6 4
->>> print [ x for x in v ] # Check container contents
-[3, 6, 5, 4]
->>> v0 = v[0] # Get new reference to first element
->>> print v0, v[0] # Check matching
-3 3
->>> v[0] = element_type(9) # Overwrite first element
->>> print v0, v[0] # Check old value copied
-3 9
->>> v_slice1 = v[1:3] # Slice for v[1] and v[2]
->>> v_slice2 = v[1:3] # Same slice again
->>> print v_slice1, v_slice2, v[1], v[2]
-[6, 5] [6, 5] 6 5
->>> increment(v[1]) # Check all refer to same v[1]
->>> print v_slice1, v_slice2, v[1], v[2]
-[7, 5] [7, 5] 7 5
->>> increment(v_slice1[1]) # Check all refer to same v[2]
->>> print v_slice1, v_slice2, v[1], v[2]
-[7, 6] [7, 6] 7 6
->>> v[2:2] = [element_type(10)] # Insert within slice range
->>> print v_slice1, v_slice2, v[1], v[2], v[3]
-[7, 6] [7, 6] 7 10 6
->>> v_slice1[1] = element_type(9) # Replace one reference
->>> print v_slice1, v_slice2, v[1], v[2], v[3] # Check no side-effects
-[7, 9] [7, 6] 7 10 6
->>> del v[1:4] # Remove whole slice
->>> print v_slice1, v_slice2, v[1] # Check reference copies
-[7, 9] [7, 6] 4
->>> increment(v_slice1[0]) # Mutate shared object
->>> print v_slice1, v_slice2, v[1] # Check reference to same object
-[8, 9] [8, 6] 4
->>> v.extend ([element_type(x) for x in [8, 7, 6, 5, 4, 3, -1]]) # New, incl -1
->>> print [ x for x in v ]
-[9, 4, 8, 7, 6, 5, 4, 3, -1]
->>> least_element = v[len(v)-1] # Get proxy for min element
->>> print least_element
--1
->>> v.sort() # Sort min element to front
->>> print [ x for x in v ]
-[-1, 3, 4, 4, 5, 6, 7, 8, 9]
->>> print least_element, v[0] # Check values match
--1 -1
-'''
-
-# It would be nice if sorting the list did not detach any elements
-# from a container_proxy, but this is probably not possible to
-# guarantee with the current implementation. The problem is that some
-# standard libraries apply operator= to the elements during a sort,
-# instead of using the overloaded iter_swap. The following extension
-# to the test works with container_proxy on MSVC 7.1 and should work
-# everywhere with a container of shared pointers or a real Python list
-
-sort_test_extension = \
-'>>> increment(v[0]) # Mutate value in container\n' \
-'>>> print least_element, v[0] # Verify proxy still attached\n' \
-'0 0\n'
-
-common_doctest_string = __doc__
-extended_doctest_string = common_doctest_string + sort_test_extension

Deleted: sandbox/python_indexing_v2/libs/python/test/test_set_plain.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_set_plain.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,79 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_set_plain.py
-#
-# Doctest-based testing for a C++ set.
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/ 1 rmg File creation
-#
-# $Id$
-#
-
-'''>>> from testnonlinear import *
->>> setTrace(0)
->>> s = Set() # std::set<std::string>
->>> s.insert("hello") # Insert entry
->>> print s["hello"] # Lookup entry
-hello
->>> s.insert ("Barnaby") # Insert another entry
->>> print s["Barnaby"] # Lookup entry
-Barnaby
->>> assert s.has_key ("Barnaby")
->>> assert not s.has_key ("Rudge")
->>> assert "hello" in s
->>> assert "Barnaby" in s
->>> print s.count ("Barnaby")
-1
->>> s.insert ("world")
->>> print s["world"]
-world
->>> try:
-... s.insert ("Barnaby")
-... except ValueError, e:
-... print "Got expected exception:", e
-...
-Got expected exception: Set already holds value for insertion
->>> del s["Barnaby"]
->>> try:
-... print s["Barnaby"]
-... except ValueError, e:
-... print "Got expected exception:", e
-...
-Got expected exception: associative container: key not found
->>> try:
-... del s["Barnaby"]
-... except ValueError, e:
-... print "Got expected exception:", e
-...
-Got expected exception: Container does not hold value to be erased
->>> print s["hello"]
-hello
->>> print s["world"]
-world
->>> print [ x for x in s ]
-['hello', 'world']
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_vector_common.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_vector_common.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,102 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_vector_common.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/ 9/29 rmg File creation
-#
-# $Id$
-#
-
-'''>>> del v[:] # Clear container if ncessary
->>> del v[:] # Check slice delete on empty container
->>> print v[:] # Check slice get on empty container
-[]
->>> v[:] = [] # Check slice set on empty container
->>> print [ x for x in v ] # Iterate over empty container
-[]
->>> try:
-... print v.index (element_type(2)) # Search in empty container
-... except ValueError, e:
-... print "Got expected exception"
-...
-Got expected exception
->>> print v.count (element_type(2)) # Search in empty container
-0
->>> print len(v) # Length of empty container
-0
->>> v.extend ([ element_type(x) for x in [1, 3, 5, 2, 4, 6]]) # Extend via list
->>> print len(v) # Length of non-empty container
-6
->>> print [ x for x in v ] # Iteration
-[1, 3, 5, 2, 4, 6]
->>> v.reverse() # Reverse
->>> print [ x for x in v ]
-[6, 4, 2, 5, 3, 1]
->>> v.sort() # Sort
->>> print [ x for x in v ]
-[1, 2, 3, 4, 5, 6]
->>> v[:] = [element_type(3), element_type(4)] # Remove dep. on prior results
->>> v.insert (0, element_type(2)) # Insert at start
->>> print [ x for x in v ]
-[2, 3, 4]
->>> v.insert (len(v), element_type(5)) # Insert at end
->>> print [ x for x in v ]
-[2, 3, 4, 5]
->>> v.insert (999, element_type(6)) # Insert at end (out of bounds)
->>> print [ x for x in v ]
-[2, 3, 4, 5, 6]
->>> v.insert (-1, element_type(1)) # Insert at beginning (-ve)
->>> print [ x for x in v ]
-[1, 2, 3, 4, 5, 6]
->>> v.append (element_type(7)) # Append
->>> print [ x for x in v ]
-[1, 2, 3, 4, 5, 6, 7]
->>> v.extend ([element_type(x) for x in [3,8,9,10]]) # Extend
->>> print [ x for x in v ]
-[1, 2, 3, 4, 5, 6, 7, 3, 8, 9, 10]
->>> del v[2] # Single element delete
->>> print [ x for x in v ]
-[1, 2, 4, 5, 6, 7, 3, 8, 9, 10]
->>> del v[-2:] # Delete slice (one negative index)
->>> print [ x for x in v ]
-[1, 2, 4, 5, 6, 7, 3, 8]
->>> v[-2:-1] = [] # Delete slice via __setitem__
->>> print [ x for x in v ]
-[1, 2, 4, 5, 6, 7, 8]
->>> v [-2:-1] = [element_type(9), element_type(10)] # Replace, insert via slice
->>> print [ x for x in v ]
-[1, 2, 4, 5, 6, 9, 10, 8]
->>> try:
-... del v[len(v)] # Delete element index out of range
-... except IndexError, e:
-... print "Got expected exception"
-...
-Got expected exception
->>> try:
-... del v[-(len(v) + 2)] # Delete negative index out of range
-... except IndexError, e:
-... print "Got expected exception"
-...
-Got expected exception
->>> v.insert (len(v) + 1, element_type(0)) # Insert at end via out of range
->>> print [ x for x in v ]
-[1, 2, 4, 5, 6, 9, 10, 8, 0]
->>> v.insert (-1, element_type(7)) # Insert at beginning via negative
->>> print [ x for x in v ]
-[7, 1, 2, 4, 5, 6, 9, 10, 8, 0]
->>> # Prepare for common array tests
->>> v[:] = [element_type(x) for x in [8, 6, 4, 2, 1, 3, 5, 7, 0]]
-'''
-
-import test_array_common
-
-common_doctest_string = __doc__ + test_array_common.common_doctest_string

Deleted: sandbox/python_indexing_v2/libs/python/test/test_vector_disable.cpp
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_vector_disable.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,50 +0,0 @@
-// Copyright (c) 2003 Raoul M. Gough
-//
-// Use, modification and distribution is 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)
-//
-// Module test_vector_disable.cpp
-//
-// Expose a vector with minimal supported methods. Should produce a
-// much smaller object file that otherwise.
-//
-// History
-// =======
-// 2003/11/19 rmg File creation
-//
-// $Id$
-//
-
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/vector.hpp>
-#include <vector>
-#include <boost/python/class.hpp>
-#include <boost/python/module.hpp>
-#include <boost/python/def.hpp>
-
-BOOST_PYTHON_MODULE(test_vector_disable_ext)
-{
- namespace indexing = boost::python::indexing;
-
- typedef std::vector<int> Container1;
-
- // Binary mask for the four methods we want to support
- unsigned int const mask
- = indexing::method_getitem
- | indexing::method_setitem
- | indexing::method_delitem
- | indexing::method_append;
-
-#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- // Normal case (automatic algorithm and traits selection)
- typedef indexing::container_suite<Container1, mask>
- Suite1;
-#else
- // For broken compilers - explicit selection of algorithms/traits
- typedef indexing::vector_suite<Container1, mask>
- Suite1;
-#endif
-
- boost::python::class_<Container1>("Vector_disable").def (Suite1());
-}

Deleted: sandbox/python_indexing_v2/libs/python/test/test_vector_disable.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_vector_disable.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,71 +0,0 @@
-# Python module test_vector_disable.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/11/19 rmg File creation
-#
-# $Id$
-#
-
-'''>>> from test_vector_disable_ext import *
->>> v = Vector_disable()
->>> v.append (1)
->>> v.append (2)
->>> v.append (3)
->>> v.append (4)
->>> del v[0]
->>> print [ x for x in v ]
-[2, 3, 4]
->>> v[0] = 5
->>> print [ x for x in v ]
-[5, 3, 4]
->>> assert getattr (v, "len", None) == None
->>> assert getattr (v, "sort", None) == None
->>> assert getattr (v, "reverse", None) == None
->>> assert getattr (v, "index", None) == None
->>> assert getattr (v, "count", None) == None
->>> assert getattr (v, "insert", None) == None
->>> assert getattr (v, "extend", None) == None
->>> try:
-... s = v[:]
-... print "__getitem__ supports slices (should be disabled)"
-... except TypeError, e:
-... print "Got expected exception"
-...
-Got expected exception
->>> try:
-... v[:1] = [1]
-... print "__setitem__ supports slices (should be disabled)"
-... except TypeError, e:
-... print "Got expected exception"
-...
-Got expected exception
->>> try:
-... del v[:]
-... print "__delitem__ supports slices (should be disabled)"
-... except TypeError, e:
-... print "Got expected exception"
-...
-Got expected exception
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_vector_ext.cpp
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_vector_ext.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,78 +0,0 @@
-// Module test_vector_ext.cpp
-//
-// Copyright (c) 2003 Raoul M. Gough
-//
-// Use, modification and distribution is 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)
-//
-// History
-// =======
-// 2003/ 9/ 8 rmg File creation as testsuite.cpp
-// 2003/ 9/29 rmg Renamed testlinear.cpp to allow division into parts
-// 2003/10/15 rmg Renamed test_vector_ext.cpp for further division
-//
-// $Id$
-//
-
-#include "int_wrapper.hpp"
-
-// Include container_proxy.hpp first to get overload of get_pointer in scope
-#include <boost/python/suite/indexing/container_proxy.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/vector.hpp>
-#include <vector>
-#include <boost/python/class.hpp>
-#include <boost/python/module.hpp>
-#include <boost/python/def.hpp>
-#include <boost/python/implicit.hpp>
-
-// Some messiness from not having a separate int_wrapper.cpp file
-bool int_wrapper::our_trace_flag = true;
-unsigned int_wrapper::our_object_counter = 0;
-
-BOOST_PYTHON_MODULE(test_vector_ext)
-{
- namespace indexing = boost::python::indexing;
-
- boost::python::implicitly_convertible <int, int_wrapper>();
-
- boost::python::def ("setTrace", &int_wrapper::setTrace);
-
- boost::python::class_<int_wrapper>("int_wrapper", boost::python::init<int>())
- .def ("increment", &int_wrapper::increment)
- .def ("__repr__", &int_wrapper::repr)
- .def ("__cmp__", compare)
- ;
-
- typedef std::vector<int> Container1;
- typedef std::vector<int_wrapper> Container2;
- typedef indexing::container_proxy< std::vector<int_wrapper> > Container3;
-
-#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1> Suite1;
- typedef indexing::container_suite<Container2> Suite2;
- typedef indexing::container_suite<Container3> Suite3;
-#else
- typedef indexing::vector_suite<Container1> Suite1;
- typedef indexing::vector_suite<Container2> Suite2;
- typedef indexing::container_proxy_suite<Container3> Suite3;
-#endif
-
- boost::python::class_<Container1>("Vector")
- .def (Suite1())
- .def ("reserve", &Container1::reserve)
- ;
-
- // Returning internal references to elements of a vector is
- // dangerous - the references can be invalidated by inserts or
- // deletes!
- boost::python::class_<Container2>("Vector_ref")
- .def (Suite2
- ::with_policies (boost::python::return_internal_reference<>()));
-
- boost::python::class_<Container3>("Vector_proxy")
- .def (Suite3())
- .def ("reserve", &Container3::reserve)
- ;
-}

Deleted: sandbox/python_indexing_v2/libs/python/test/test_vector_plain.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_vector_plain.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,43 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_vector_plain.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/ 9/29 rmg File creation
-#
-# $Id$
-#
-
-'''>>> from test_vector_ext import *
->>> element_type = int
->>> v = Vector()
->>> v[:] = (6, 7, 8, 5, 4, 8, 3, 1, 2) # Slice replace (tuple)
->>> print [ x for x in v ]
-[6, 7, 8, 5, 4, 8, 3, 1, 2]
->>> #### NOTE: test_vector_common gets included after this point ####
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- from test_vector_common import common_doctest_string
- __doc__ += common_doctest_string
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_vector_proxy.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_vector_proxy.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,46 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_vector_proxy.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/ 9/29 rmg File creation
-#
-# $Id$
-#
-
-'''>>> from test_vector_ext import *
->>> element_type = int_wrapper
->>> def increment(wrapper, change = 1):
-... wrapper.increment (change)
-...
->>> setTrace(False)
->>> v = Vector_proxy()
->>> #### NOTE: test_python_ref, test_vector_common included after this ####
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- import test_python_ref_common # Checks for python reference semantics
- import test_vector_common
- __doc__ += test_python_ref_common.common_doctest_string
- __doc__ += test_vector_common.common_doctest_string
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_vector_ref.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_vector_ref.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,63 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_vector_ref.py
-#
-# Test the vector container with return_internal_reference
-# policies. This is a dangerous container - see the container suite
-# documentation on using policies for details.
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/10/ 1 rmg File creation
-#
-# $Id$
-#
-
-'''>>> from test_vector_ext import *
->>> element_type = int_wrapper
->>> def increment(wrapper, change = 1):
-... wrapper.increment (change)
-...
->>> setTrace(False)
->>> v = Vector_ref()
->>> v.append (element_type(3))
->>> ref = v[0]
->>> print ref, v[0]
-3 3
->>> increment(v[0]) # Mutate object in container
->>> print ref, v[0] # Check reference refers to same object
-4 4
->>> for x in v:
-... increment(x) # Check iterator provides by-ref access
-...
->>> print ref, v[0] # Check mutation happened in container element
-5 5
->>> # DO NOT try insert and delete, since the element reference
->>> # would be invalidated by those operations.
->>> del ref # Avoid dangling reference during subsequent tests
->>> #### NOTE: test_vector_common gets included after this point ####
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- from test_vector_common import common_doctest_string
- __doc__ += common_doctest_string
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/test_vector_shared.cpp
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_vector_shared.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,71 +0,0 @@
-// Module test_vector_shared_ext.cpp
-//
-// Copyright (c) 2003 Raoul M. Gough
-//
-// Use, modification and distribution is 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)
-//
-// History
-// =======
-// 2003/10/15 rmg File creation from test_vector_ext.cpp
-//
-// $Id$
-//
-
-#include "int_wrapper.hpp"
-#include <boost/shared_ptr.hpp>
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/vector.hpp>
-#include <vector>
-#include <boost/python/class.hpp>
-#include <boost/python/module.hpp>
-#include <boost/python/def.hpp>
-#include <boost/python/implicit.hpp>
-#include <functional>
-
-// More messiness from not having a separate int_wrapper.cpp file
-bool int_wrapper::our_trace_flag = true;
-unsigned int_wrapper::our_object_counter = 0;
-
-BOOST_TT_BROKEN_COMPILER_SPEC (boost::shared_ptr<int_wrapper>)
-
-BOOST_PYTHON_MODULE(test_vector_shared_ext)
-{
- namespace indexing = boost::python::indexing;
-
- typedef boost::shared_ptr<int_wrapper> int_wrapper_holder;
- typedef std::vector<int_wrapper_holder> Container1;
-
- boost::python::implicitly_convertible <int, int_wrapper>();
-
- boost::python::def ("setTrace", &int_wrapper::setTrace);
-
- boost::python::class_<int_wrapper, int_wrapper_holder>
- ("int_wrapper", boost::python::init<int>())
- .def ("increment", &int_wrapper::increment)
- .def ("__repr__", &int_wrapper::repr)
- .def ("__cmp__", compare)
- ;
-
-#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- // Partial specialization of value_traits takes care of things
- // automatically
- typedef indexing::container_suite<Container1> Suite1;
-#else
- // Otherwise do it the hard way
- typedef indexing::indirect_value_traits<int_wrapper_holder> value_traits_;
- typedef indexing::random_access_sequence_traits<Container1, value_traits_>
- container_traits_;
- typedef indexing::default_algorithms<container_traits_> algorithms_;
-
- typedef indexing::container_suite<
- Container1, indexing::all_methods, algorithms_> Suite1;
-#endif
-
- boost::python::class_<Container1>("Vector_shared")
- .def (Suite1())
- .def ("reserve", &Container1::reserve)
- ;
-}

Deleted: sandbox/python_indexing_v2/libs/python/test/test_vector_shared.py
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/test_vector_shared.py 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,46 +0,0 @@
-#!/usr/bin/python
-# -*- mode:python -*-
-#
-# Python module test_vector_proxy.py
-#
-# Copyright (c) 2003 Raoul M. Gough
-#
-# Use, modification and distribution is 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)
-#
-# History
-# =======
-# 2003/ 9/29 rmg File creation
-#
-# $Id$
-#
-
-'''>>> from test_vector_shared_ext import *
->>> element_type = int_wrapper
->>> def increment(wrapper, change = 1):
-... wrapper.increment (change)
-...
->>> setTrace(False)
->>> v = Vector_shared()
->>> #### NOTE: test_python_ref, test_vector_common included after this ####
-'''
-
-def run(args = None):
- import sys
- import doctest
-
- if args is not None:
- sys.argv = args
- return doctest.testmod(sys.modules.get(__name__))
-
-if __name__ == '__main__':
- import test_python_ref_common # Checks for python reference semantics
- import test_vector_common
- __doc__ += test_python_ref_common.extended_doctest_string
- __doc__ += test_vector_common.common_doctest_string
- print 'running...'
- import sys
- status = run()[0]
- if (status == 0): print "Done."
- sys.exit(status)

Deleted: sandbox/python_indexing_v2/libs/python/test/testnonlinear.cpp
==============================================================================
--- sandbox/python_indexing_v2/libs/python/test/testnonlinear.cpp 2008-05-18 11:47:39 EDT (Sun, 18 May 2008)
+++ (empty file)
@@ -1,58 +0,0 @@
-// Module testnonlinear.cpp
-//
-// Copyright (c) 2003 Raoul M. Gough
-//
-// Use, modification and distribution is 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)
-//
-// History
-// =======
-// 2003/ 9/29 rmg File creation from testlinear.cpp
-//
-// $Id$
-//
-
-#include "int_wrapper.hpp"
-#include <boost/python/suite/indexing/container_suite.hpp>
-#include <boost/python/suite/indexing/map.hpp>
-#include <boost/python/suite/indexing/set.hpp>
-#include <map>
-#include <set>
-#include <boost/python/class.hpp>
-#include <boost/python/module.hpp>
-#include <boost/python/def.hpp>
-#include <boost/python/implicit.hpp>
-
-// More messiness from not having a separate int_wrapper.cpp file
-bool int_wrapper::our_trace_flag = true;
-unsigned int_wrapper::our_object_counter = 0;
-
-BOOST_PYTHON_MODULE(testnonlinear)
-{
- namespace indexing = boost::python::indexing;
-
- boost::python::implicitly_convertible <int, int_wrapper>();
-
- boost::python::def ("setTrace", &int_wrapper::setTrace);
-
- boost::python::class_<int_wrapper> ("int_wrapper", boost::python::init<int>())
- .def ("increment", &int_wrapper::increment)
- .def ("__repr__", &int_wrapper::repr)
- .def ("__cmp__", compare)
- ;
-
- typedef std::map<std::string, int_wrapper> Container1;
- typedef std::set<std::string> Container2;
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef indexing::container_suite<Container1> Suite1;
- typedef indexing::container_suite<Container2> Suite2;
-#else
- typedef indexing::map_suite<Container1> Suite1;
- typedef indexing::set_suite<Container2> Suite2;
-#endif
-
- boost::python::class_<Container1>("Map").def (Suite1());
- boost::python::class_<Container2>("Set").def (Suite2());
-}


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