mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-30 11:27:15 +02:00
Fix bug in equal_range() for unordered_flat_map
This commit is contained in:
@ -63,14 +63,26 @@ namespace boost {
|
|||||||
std::pair<iterator, iterator> equal_range(key_type const& key)
|
std::pair<iterator, iterator> equal_range(key_type const& key)
|
||||||
{
|
{
|
||||||
auto pos = table_.find(key);
|
auto pos = table_.find(key);
|
||||||
return {pos, pos == table_.end() ? pos : ++pos};
|
if (pos == table_.end()) {
|
||||||
|
return {pos, pos};
|
||||||
|
}
|
||||||
|
|
||||||
|
auto next = pos;
|
||||||
|
++next;
|
||||||
|
return {pos, next};
|
||||||
}
|
}
|
||||||
|
|
||||||
std::pair<const_iterator, const_iterator> equal_range(
|
std::pair<const_iterator, const_iterator> equal_range(
|
||||||
key_type const& key) const
|
key_type const& key) const
|
||||||
{
|
{
|
||||||
auto pos = table_.find(key);
|
auto pos = table_.find(key);
|
||||||
return {pos, pos == table_.end() ? pos : ++pos};
|
if (pos == table_.end()) {
|
||||||
|
return {pos, pos};
|
||||||
|
}
|
||||||
|
|
||||||
|
auto next = pos;
|
||||||
|
++next;
|
||||||
|
return {pos, next};
|
||||||
}
|
}
|
||||||
|
|
||||||
size_type bucket_count() const noexcept { return table_.capacity(); }
|
size_type bucket_count() const noexcept { return table_.capacity(); }
|
||||||
|
Reference in New Issue
Block a user