From 57a2b654889cff4b5785ad1edf481fafd775d6b2 Mon Sep 17 00:00:00 2001 From: Christian Mazakas Date: Mon, 27 Dec 2021 12:08:01 -0800 Subject: [PATCH] Implement heterogeneous `equal_range()` for set --- include/boost/unordered/unordered_set.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/boost/unordered/unordered_set.hpp b/include/boost/unordered/unordered_set.hpp index c0841cf7..75003bf4 100644 --- a/include/boost/unordered/unordered_set.hpp +++ b/include/boost/unordered/unordered_set.hpp @@ -503,6 +503,19 @@ namespace boost { std::pair equal_range( const key_type&) const; + template + typename boost::enable_if_c::value, + std::pair >::type + equal_range(Key const& k) const + { + node_pointer n = table_.find_node_impl( + table::policy::apply_hash(this->hash_function(), k), k, + this->key_eq()); + + return std::make_pair( + const_iterator(n), const_iterator(n ? table::next_node(n) : n)); + } + // bucket interface size_type bucket_count() const BOOST_NOEXCEPT