diff --git a/include/boost/unordered/detail/equivalent.hpp b/include/boost/unordered/detail/equivalent.hpp index 6731fe7d..018ee80d 100644 --- a/include/boost/unordered/detail/equivalent.hpp +++ b/include/boost/unordered/detail/equivalent.hpp @@ -98,8 +98,8 @@ namespace boost { namespace unordered { namespace detail { { value_type const& v = node::get_value(n1); if (find(start, n1, v)) continue; - std::size_t matches = count(n2, end2, v); - if (!matches or matches != 1 + count(n1->next_, end1, v)) + std::size_t matches = count_equal(n2, end2, v); + if (!matches or matches != 1 + count_equal(n1->next_, end1, v)) return false; } @@ -114,7 +114,7 @@ namespace boost { namespace unordered { namespace detail { return false; } - static std::size_t count(node_ptr n, node_ptr end, value_type const& v) + static std::size_t count_equal(node_ptr n, node_ptr end, value_type const& v) { std::size_t count = 0; for(;n != end; n = n->next_) diff --git a/test/unordered/compile_map.cpp b/test/unordered/compile_map.cpp index 79eb8425..a006c7e4 100644 --- a/test/unordered/compile_map.cpp +++ b/test/unordered/compile_map.cpp @@ -68,16 +68,17 @@ UNORDERED_AUTO_TEST(test0) } UNORDERED_AUTO_TEST(equality_tests) { - typedef std::pair value_type; boost::unordered_map int_map; boost::unordered_map< - test::minimal::assignable, test::minimal::copy_constructible_equality_comparable, - test::minimal::hash, - test::minimal::equal_to, + test::minimal::copy_constructible_equality_comparable, + test::minimal::hash, + test::minimal::equal_to, test::minimal::allocator > map; equality_test(int_map); @@ -86,10 +87,10 @@ UNORDERED_AUTO_TEST(equality_tests) { boost::unordered_multimap int_multimap; boost::unordered_multimap< - test::minimal::assignable, test::minimal::copy_constructible_equality_comparable, - test::minimal::hash, - test::minimal::equal_to, + test::minimal::copy_constructible_equality_comparable, + test::minimal::hash, + test::minimal::equal_to, test::minimal::allocator > multimap; equality_test(int_multimap); diff --git a/test/unordered/compile_set.cpp b/test/unordered/compile_set.cpp index 95df1abf..96647162 100644 --- a/test/unordered/compile_set.cpp +++ b/test/unordered/compile_set.cpp @@ -56,14 +56,14 @@ UNORDERED_AUTO_TEST(test0) } UNORDERED_AUTO_TEST(equality_tests) { - typedef test::minimal::assignable value_type; + typedef test::minimal::copy_constructible_equality_comparable value_type; boost::unordered_set int_set; boost::unordered_set< - test::minimal::assignable, - test::minimal::hash, - test::minimal::equal_to, + test::minimal::copy_constructible_equality_comparable, + test::minimal::hash, + test::minimal::equal_to, test::minimal::allocator > set; equality_test(int_set); @@ -72,9 +72,9 @@ UNORDERED_AUTO_TEST(equality_tests) { boost::unordered_multiset int_multiset; boost::unordered_multiset< - test::minimal::assignable, - test::minimal::hash, - test::minimal::equal_to, + test::minimal::copy_constructible_equality_comparable, + test::minimal::hash, + test::minimal::equal_to, test::minimal::allocator > multiset; equality_test(int_multiset);