forked from boostorg/unordered
Remove find_matching_node.
FWIW the standard says that equality is undefined behaviour if the Hash and Pred function objects behave differently. But I think we should support different hash functions, e.g. so that randomized hash functions will work.
This commit is contained in:
@ -259,10 +259,10 @@ namespace boost { namespace unordered { namespace detail {
|
||||
|
||||
for(iterator n1(this->begin()); n1.node_;)
|
||||
{
|
||||
iterator n2(other.find_matching_node(n1));
|
||||
if (!n2.node_) return false;
|
||||
iterator end1(next_group(n1.node_));
|
||||
iterator end2(next_group(n2.node_));
|
||||
node_pointer n2 = other.find_node(other.get_key(n1->value()));
|
||||
if (!n2) return false;
|
||||
node_pointer end1 = next_group(n1);
|
||||
node_pointer end2 = next_group(n2);
|
||||
if (!group_equals(n1, end1, n2, end2)) return false;
|
||||
n1 = end1;
|
||||
}
|
||||
|
@ -728,17 +728,6 @@ namespace boost { namespace unordered { namespace detail {
|
||||
find_node_impl(hash(k), k, this->key_eq());
|
||||
}
|
||||
|
||||
node_pointer find_matching_node(iterator n) const
|
||||
{
|
||||
// TODO: Does this apply to C++11?
|
||||
//
|
||||
// For some stupid reason, I decided to support equality comparison
|
||||
// when different hash functions are used. So I can't use the hash
|
||||
// value from the node here.
|
||||
|
||||
return find_node(get_key(*n));
|
||||
}
|
||||
|
||||
// Reserve and rehash
|
||||
|
||||
void reserve_for_insert(std::size_t);
|
||||
|
@ -254,7 +254,7 @@ namespace boost { namespace unordered { namespace detail {
|
||||
|
||||
for(iterator n1(this->begin()); n1.node_; ++n1)
|
||||
{
|
||||
node_pointer n2 = other.find_matching_node(n1);
|
||||
node_pointer n2 = other.find_node(other.get_key(n1->value()));
|
||||
|
||||
if (!n2 || *n1 != n2->value())
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user