From 61004d385e9e69bbac244972f6d66a89d399a8a6 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Tue, 5 Feb 2008 20:57:02 +0000 Subject: [PATCH] Merged revisions 42942-43116 via svnmerge from https://svn.boost.org/svn/boost/branches/unordered/trunk ........ r42975 | danieljames | 2008-01-26 00:29:32 +0000 (Sat, 26 Jan 2008) | 1 line Typedef some types before using them, to make life easier for Borland. ........ r43116 | danieljames | 2008-02-05 20:47:44 +0000 (Tue, 05 Feb 2008) | 1 line Some compilers and libraries combinations have problems with deques of non-assingable types. Using a list instead. ........ [SVN r43118] --- test/exception/assign_exception_tests.cpp | 8 ++++++-- test/exception/swap_exception_tests.cpp | 12 ++++++++---- test/unordered/equivalent_keys_tests.cpp | 4 ++-- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/test/exception/assign_exception_tests.cpp b/test/exception/assign_exception_tests.cpp index eac1b200..191f825f 100644 --- a/test/exception/assign_exception_tests.cpp +++ b/test/exception/assign_exception_tests.cpp @@ -36,10 +36,14 @@ struct assign_base : public test::exception_base const test::random_values x_values, y_values; const T x,y; + typedef BOOST_DEDUCED_TYPENAME T::hasher hasher; + typedef BOOST_DEDUCED_TYPENAME T::key_equal key_equal; + typedef BOOST_DEDUCED_TYPENAME T::allocator_type allocator_type; + assign_base(unsigned int count1, unsigned int count2, int tag1, int tag2) : x_values(count1), y_values(count2), - x(x_values.begin(), x_values.end(), 0, BOOST_DEDUCED_TYPENAME T::hasher(tag1), BOOST_DEDUCED_TYPENAME T::key_equal(tag1), BOOST_DEDUCED_TYPENAME T::allocator_type(tag1)), - y(y_values.begin(), y_values.end(), 0, BOOST_DEDUCED_TYPENAME T::hasher(tag2), BOOST_DEDUCED_TYPENAME T::key_equal(tag2), BOOST_DEDUCED_TYPENAME T::allocator_type(tag2)) {} + x(x_values.begin(), x_values.end(), 0, hasher(tag1), key_equal(tag1), allocator_type(tag1)), + y(y_values.begin(), y_values.end(), 0, hasher(tag2), key_equal(tag2), allocator_type(tag2)) {} typedef T data_type; T init() const { return T(x); } diff --git a/test/exception/swap_exception_tests.cpp b/test/exception/swap_exception_tests.cpp index baaac7b6..14024203 100644 --- a/test/exception/swap_exception_tests.cpp +++ b/test/exception/swap_exception_tests.cpp @@ -48,12 +48,16 @@ struct swap_base : public test::exception_base const test::random_values x_values, y_values; const T initial_x, initial_y; + typedef BOOST_DEDUCED_TYPENAME T::hasher hasher; + typedef BOOST_DEDUCED_TYPENAME T::key_equal key_equal; + typedef BOOST_DEDUCED_TYPENAME T::allocator_type allocator_type; + swap_base(unsigned int count1, unsigned int count2, int tag1, int tag2) : x_values(count1), y_values(count2), - initial_x(x_values.begin(), x_values.end(), 0, BOOST_DEDUCED_TYPENAME T::hasher(tag1), - BOOST_DEDUCED_TYPENAME T::key_equal(tag1), BOOST_DEDUCED_TYPENAME T::allocator_type(tag1)), - initial_y(y_values.begin(), y_values.end(), 0, BOOST_DEDUCED_TYPENAME T::hasher(tag2), - BOOST_DEDUCED_TYPENAME T::key_equal(tag2), BOOST_DEDUCED_TYPENAME T::allocator_type(tag2)) + initial_x(x_values.begin(), x_values.end(), 0, hasher(tag1), + key_equal(tag1), allocator_type(tag1)), + initial_y(y_values.begin(), y_values.end(), 0, hasher(tag2), + key_equal(tag2), allocator_type(tag2)) {} struct data_type { diff --git a/test/unordered/equivalent_keys_tests.cpp b/test/unordered/equivalent_keys_tests.cpp index e457bba2..eff90f80 100644 --- a/test/unordered/equivalent_keys_tests.cpp +++ b/test/unordered/equivalent_keys_tests.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include "../helpers/tracker.hpp" #include "../helpers/invariants.hpp" @@ -57,7 +57,7 @@ void set_tests() void map_tests() { - typedef std::deque > values_type; + typedef std::list > values_type; values_type v[5]; v[0].push_back(std::pair(1,1)); v[1].push_back(std::pair(28,34));