CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sat, 19 Jul 2025 10:42:16 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/map/map/equal_range/
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 19 Jul 2025 10:42:16 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"7fc6-tIrr1NzNJa6DD9lK+re2yjfqCCA"
Content-Encoding: gzip
Returns the bounds of a range that includes all the elements in the container which have a key equivalent to k.
Because the elements in a map container have unique keys, the range returned will contain a single element at most.
If no matches are found, the range returned has a length of zero, with both iterators pointing to the first element that has a key considered to go after k according to the container's internal comparison object (key_comp).
Two keys are considered equivalent if the container's comparison object returns false reflexively (i.e., no matter the order in which the keys are passed as arguments).
If the map object is const-qualified, the function returns a pair of const_iterator. Otherwise, it returns a pair of iterator.
Member types iterator and const_iterator are bidirectional iterator types pointing to elements (of type value_type).
Notice that value_type in map containers is itself also a pair type: pair<const key_type, mapped_type>.
No mapped values are accessed: concurrently accessing or modifying elements is safe.
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
map
- map::~map
- map::map
member functions
-
map::atC++11
- map::begin
-
map::cbeginC++11
-
map::cendC++11
- map::clear
- map::count
-
map::crbeginC++11
-
map::crendC++11
-
map::emplaceC++11
-
map::emplace_hintC++11
- map::empty
- map::end
- map::equal_range
- map::erase
- map::find
- map::get_allocator
- map::insert
- map::key_comp
- map::lower_bound
- map::max_size
- map::operator[]
- map::operator=
- map::rbegin
- map::rend
- map::size
- map::swap
- map::upper_bound
- map::value_comp
-
non-member overloads
public member function
<map>
std::map::equal_range
pair<const_iterator,const_iterator> equal_range (const key_type& k) const;pair<iterator,iterator> equal_range (const key_type& k);
Get range of equal elements
Because the elements in a map container have unique keys, the range returned will contain a single element at most.
If no matches are found, the range returned has a length of zero, with both iterators pointing to the first element that has a key considered to go after k according to the container's internal comparison object (key_comp).
Two keys are considered equivalent if the container's comparison object returns false reflexively (i.e., no matter the order in which the keys are passed as arguments).
Parameters
- k
- Key to search for.
Member type key_type is the type of the elements in the container, defined in map as an alias of its first template parameter (Key).
Return value
The function returns a pair, whose member pair::first is the lower bound of the range (the same as lower_bound), and pair::second is the upper bound (the same as upper_bound).If the map object is const-qualified, the function returns a pair of const_iterator. Otherwise, it returns a pair of iterator.
Member types iterator and const_iterator are bidirectional iterator types pointing to elements (of type value_type).
Notice that value_type in map containers is itself also a pair type: pair<const key_type, mapped_type>.
Example
|
|
lower bound points to: 'b' => 20 upper bound points to: 'c' => 30 |
Complexity
Logarithmic in size.Iterator validity
No changes.Data races
The container is accessed (neither the const nor the non-const versions modify the container).No mapped values are accessed: concurrently accessing or modifying elements is safe.
Exception safety
Strong guarantee: if an exception is thrown, there are no changes in the container.See also
- map::count
- Count elements with a specific key (public member function)
- map::lower_bound
- Return iterator to lower bound (public member function)
- map::upper_bound
- Return iterator to upper bound (public member function)
- map::operator[]
- Access element (public member function)
- map::find
- Get iterator to element (public member function)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us