Unordered: Fix equality for multimap/multiset.

[SVN r77833]
This commit is contained in:
Daniel James
2012-04-08 15:29:49 +00:00
parent c8c71d0ad1
commit e64f82ed03
2 changed files with 9 additions and 2 deletions

View File

@ -330,7 +330,7 @@ namespace boost { namespace unordered { namespace detail {
}
node_pointer start = n1;
for(;n1 != end2; n1 = static_cast<node_pointer>(n1->next_))
for(;n1 != end1; n1 = static_cast<node_pointer>(n1->next_))
{
value_type const& v = n1->value();
if (find(start, n1, v)) continue;

View File

@ -150,6 +150,14 @@ namespace equality_tests
((1)(2))((1001)(1)), !=, ((1001)(2))((1)(1)))
}
UNORDERED_AUTO_TEST(equality_multiple_group_test)
{
UNORDERED_EQUALITY_MULTISET_TEST(
(1)(1)(1)(1001)(2001)(2001)(2)(1002)(3)(1003)(2003), ==,
(3)(1003)(2003)(1002)(2)(2001)(2001)(1)(1001)(1)(1)
);
}
// Test that equality still works when the two containers have
// different hash functions but the same equality predicate.
@ -168,7 +176,6 @@ namespace equality_tests
set1.insert(20); set2.insert(10);
BOOST_TEST(set1 == set2);
}
}
RUN_TESTS()