diff --git a/proj/vc7ide/container.sln b/proj/vc7ide/container.sln
index daec7d5..c7f7a2b 100644
--- a/proj/vc7ide/container.sln
+++ b/proj/vc7ide/container.sln
@@ -311,6 +311,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string_view_compat_test", "
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tree_test", "tree_test.vcproj", "{5CE185C3-2609-4FA5-FE38-792BA0D3A606}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
@@ -629,6 +633,10 @@ Global
{58CCE183-6092-48FE-A4F7-BA0D4A792607}.Debug.Build.0 = Debug|Win32
{58CCE183-6092-48FE-A4F7-BA0D4A792607}.Release.ActiveCfg = Release|Win32
{58CCE183-6092-48FE-A4F7-BA0D4A792607}.Release.Build.0 = Release|Win32
+ {5CE185C3-2609-4FA5-FE38-792BA0D3A606}.Debug.ActiveCfg = Debug|Win32
+ {5CE185C3-2609-4FA5-FE38-792BA0D3A606}.Debug.Build.0 = Debug|Win32
+ {5CE185C3-2609-4FA5-FE38-792BA0D3A606}.Release.ActiveCfg = Release|Win32
+ {5CE185C3-2609-4FA5-FE38-792BA0D3A606}.Release.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
diff --git a/proj/vc7ide/tree_test.vcproj b/proj/vc7ide/tree_test.vcproj
new file mode 100644
index 0000000..6f80056
--- /dev/null
+++ b/proj/vc7ide/tree_test.vcproj
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/map_test.cpp b/test/map_test.cpp
index 9d8839b..dcb96f3 100644
--- a/test/map_test.cpp
+++ b/test/map_test.cpp
@@ -51,36 +51,6 @@ template class multimap
, std::less
, std::allocator< pair_t >
>;
-
-namespace container_detail {
-
-//Instantiate base class as previous instantiations don't instantiate inherited members
-template class tree
- < pair_t
- , select1st
- , std::less
- , test::simple_allocator
- , tree_assoc_defaults
- >;
-
-template class tree
- < pair_t
- , select1st
- , std::less
- , std::allocator
- , tree_assoc_defaults
- >;
-
-template class tree
- < pair_t
- , select1st
- , std::less
- , adaptive_pool
- , tree_assoc_defaults
- >;
-
-} //container_detail {
-
}} //boost::container
class recursive_map
@@ -275,12 +245,10 @@ int test_map_variants()
{
typedef typename GetAllocatorMap::template apply::map_type MyMap;
typedef typename GetAllocatorMap::template apply::map_type MyMoveMap;
- typedef typename GetAllocatorMap::template apply::map_type MyCopyMoveMap;
typedef typename GetAllocatorMap::template apply::map_type MyCopyMap;
typedef typename GetAllocatorMap::template apply::multimap_type MyMultiMap;
typedef typename GetAllocatorMap::template apply::multimap_type MyMoveMultiMap;
- typedef typename GetAllocatorMap::template apply::multimap_type MyCopyMoveMultiMap;
typedef typename GetAllocatorMap::template apply::multimap_type MyCopyMultiMap;
typedef std::map MyStdMap;
@@ -304,15 +272,6 @@ int test_map_variants()
return 1;
}
- if (0 != test::map_test<
- MyCopyMoveMap
- ,MyStdMap
- ,MyCopyMoveMultiMap
- ,MyStdMultiMap>()){
- std::cout << "Error in map_test" << std::endl;
- return 1;
- }
-
if (0 != test::map_test<
MyCopyMap
,MyStdMap
@@ -483,29 +442,19 @@ int main ()
//
typedef map< int*, int*, std::less, std::allocator< std::pair >
, tree_assoc_options< optimize_size, tree_type >::type > rbmap_size_optimized_no;
- typedef map< int*, int*, std::less, std::allocator< std::pair >
- , tree_assoc_options< optimize_size, tree_type >::type > rbmap_size_optimized_yes;
- BOOST_STATIC_ASSERT(sizeof(rbmap_size_optimized_yes) < sizeof(rbmap_size_optimized_no));
- typedef map< int*, int*, std::less, std::allocator< std::pair >
- , tree_assoc_options< optimize_size, tree_type >::type > avlmap_size_optimized_no;
typedef map< int*, int*, std::less, std::allocator< std::pair >
, tree_assoc_options< optimize_size, tree_type >::type > avlmap_size_optimized_yes;
- BOOST_STATIC_ASSERT(sizeof(avlmap_size_optimized_yes) < sizeof(avlmap_size_optimized_no));
//
// multimap
//
- typedef multimap< int*, int*, std::less, std::allocator< std::pair >
- , tree_assoc_options< optimize_size, tree_type >::type > rbmmap_size_optimized_no;
typedef multimap< int*, int*, std::less, std::allocator< std::pair >
, tree_assoc_options< optimize_size, tree_type >::type > rbmmap_size_optimized_yes;
- BOOST_STATIC_ASSERT(sizeof(rbmmap_size_optimized_yes) < sizeof(rbmmap_size_optimized_no));
-
typedef multimap< int*, int*, std::less, std::allocator< std::pair >
, tree_assoc_options< optimize_size, tree_type >::type > avlmmap_size_optimized_no;
- typedef multimap< int*, int*, std::less, std::allocator< std::pair >
- , tree_assoc_options< optimize_size, tree_type >::type > avlmmap_size_optimized_yes;
- BOOST_STATIC_ASSERT(sizeof(avlmmap_size_optimized_yes) < sizeof(avlmmap_size_optimized_no));
+ BOOST_STATIC_ASSERT(sizeof(rbmmap_size_optimized_yes) < sizeof(rbmap_size_optimized_no));
+ BOOST_STATIC_ASSERT(sizeof(avlmap_size_optimized_yes) < sizeof(avlmmap_size_optimized_no));
+
return 0;
}
diff --git a/test/set_test.cpp b/test/set_test.cpp
index b3b8309..f805b4f 100644
--- a/test/set_test.cpp
+++ b/test/set_test.cpp
@@ -53,35 +53,6 @@ template class multiset
, adaptive_pool
>;
-namespace container_detail {
-
-//Instantiate base class as previous instantiations don't instantiate inherited members
-template class tree
- < test::movable_and_copyable_int
- , identity
- , std::less
- , test::simple_allocator
- , tree_assoc_defaults
- >;
-
-template class tree
- < test::movable_and_copyable_int
- , identity
- , std::less
- , std::allocator
- , tree_assoc_defaults
- >;
-
-template class tree
- < test::movable_and_copyable_int
- , identity
- , std::less
- , adaptive_pool
- , tree_assoc_defaults
- >;
-
-} //container_detail {
-
}} //boost::container
//Test recursive structures
@@ -301,12 +272,10 @@ int test_set_variants()
{
typedef typename GetAllocatorSet::template apply::set_type MySet;
typedef typename GetAllocatorSet::template apply::set_type MyMoveSet;
- typedef typename GetAllocatorSet::template apply::set_type MyCopyMoveSet;
typedef typename GetAllocatorSet::template apply::set_type MyCopySet;
typedef typename GetAllocatorSet::template apply::multiset_type MyMultiSet;
typedef typename GetAllocatorSet::template apply::multiset_type MyMoveMultiSet;
- typedef typename GetAllocatorSet::template apply::multiset_type MyCopyMoveMultiSet;
typedef typename GetAllocatorSet::template apply::multiset_type MyCopyMultiSet;
typedef std::set MyStdSet;
@@ -330,15 +299,6 @@ int test_set_variants()
return 1;
}
- if (0 != test::set_test<
- MyCopyMoveSet
- ,MyStdSet
- ,MyCopyMoveMultiSet
- ,MyStdMultiSet>()){
- std::cout << "Error in set_test" << std::endl;
- return 1;
- }
-
if (0 != test::set_test<
MyCopySet
,MyStdSet
@@ -452,29 +412,20 @@ int main ()
//
typedef set< int*, std::less, std::allocator
, tree_assoc_options< optimize_size, tree_type >::type > rbset_size_optimized_no;
- typedef set< int*, std::less, std::allocator
- , tree_assoc_options< optimize_size, tree_type >::type > rbset_size_optimized_yes;
- BOOST_STATIC_ASSERT(sizeof(rbset_size_optimized_yes) < sizeof(rbset_size_optimized_no));
- typedef set< int*, std::less, std::allocator
- , tree_assoc_options< optimize_size, tree_type >::type > avlset_size_optimized_no;
typedef set< int*, std::less, std::allocator
, tree_assoc_options< optimize_size, tree_type >::type > avlset_size_optimized_yes;
- BOOST_STATIC_ASSERT(sizeof(avlset_size_optimized_yes) < sizeof(avlset_size_optimized_no));
//
// multiset
//
- typedef multiset< int*, std::less, std::allocator
- , tree_assoc_options< optimize_size, tree_type >::type > rbmset_size_optimized_no;
typedef multiset< int*, std::less, std::allocator
, tree_assoc_options< optimize_size, tree_type >::type > rbmset_size_optimized_yes;
- BOOST_STATIC_ASSERT(sizeof(rbmset_size_optimized_yes) < sizeof(rbmset_size_optimized_no));
typedef multiset< int*, std::less, std::allocator
, tree_assoc_options< optimize_size, tree_type >::type > avlmset_size_optimized_no;
- typedef multiset< int*, std::less, std::allocator
- , tree_assoc_options< optimize_size, tree_type >::type > avlmset_size_optimized_yes;
- BOOST_STATIC_ASSERT(sizeof(avlmset_size_optimized_yes) < sizeof(avlmset_size_optimized_no));
+
+ BOOST_STATIC_ASSERT(sizeof(rbmset_size_optimized_yes) < sizeof(rbset_size_optimized_no));
+ BOOST_STATIC_ASSERT(sizeof(avlset_size_optimized_yes) < sizeof(avlmset_size_optimized_no));
////////////////////////////////////
// Iterator testing
diff --git a/test/tree_test.cpp b/test/tree_test.cpp
new file mode 100644
index 0000000..6d84cd1
--- /dev/null
+++ b/test/tree_test.cpp
@@ -0,0 +1,84 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (C) Copyright Ion Gaztanaga 2004-2013. Distributed under 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)
+//
+// See http://www.boost.org/libs/container for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+#include
+#include
+
+#include "movable_int.hpp"
+#include "dummy_test_allocator.hpp"
+
+using namespace boost::container;
+
+typedef std::pair pair_t;
+
+namespace boost {
+namespace container {
+
+//Explicit instantiation to detect compilation errors
+
+namespace container_detail {
+
+//Instantiate base class as previous instantiations don't instantiate inherited members
+template class tree
+ < pair_t
+ , select1st
+ , std::less
+ , test::simple_allocator
+ , tree_assoc_defaults
+ >;
+
+template class tree
+ < pair_t
+ , select1st
+ , std::less
+ , std::allocator
+ , tree_assoc_defaults
+ >;
+
+template class tree
+ < pair_t
+ , select1st
+ , std::less
+ , adaptive_pool
+ , tree_assoc_defaults
+ >;
+
+//Instantiate base class as previous instantiations don't instantiate inherited members
+template class tree
+ < test::movable_and_copyable_int
+ , identity
+ , std::less
+ , test::simple_allocator
+ , tree_assoc_defaults
+ >;
+
+template class tree
+ < test::movable_and_copyable_int
+ , identity
+ , std::less
+ , std::allocator
+ , tree_assoc_defaults
+ >;
+
+template class tree
+ < test::movable_and_copyable_int
+ , identity
+ , std::less
+ , adaptive_pool
+ , tree_assoc_defaults
+ >;
+
+} //container_detail {
+
+}} //boost::container
+
+int main ()
+{
+ return 0;
+}