On this page
std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>::find
|
(1) | |
|
(2) | |
|
(3) | (since C++20) |
|
(4) | (since C++20) |
1,2) Finds an element with key equivalent to
key.
3,4) Finds an element with key that compares equivalent to the value
x. This overload participates in overload resolution only if Hash::is_transparent and KeyEqual::is_transparent are valid and each denotes a type. This assumes that such Hash is callable with both K and Key type, and that the KeyEqual is transparent, which, together, allows calling this function without constructing an instance of Key.
Parameters
| key | - | key value of the element to search for |
| x | - | a value of any type that can be transparently compared with a key |
Return value
Iterator to an element with key equivalent to key. If no such element is found, past-the-end (see end()) iterator is returned.
Complexity
Constant on average, worst case linear in the size of the container.
Notes
| Feature-test macro | Value | Std | Feature |
|---|---|---|---|
__cpp_lib_generic_unordered_lookup |
201811L | (C++20) | Heterogeneous comparison lookup in unordered associative containers; overloads (3,4) |
Example
#include <iostream>
#include <unordered_map>
int main()
{
// Simple comparison demo.
std::unordered_multimap<int,char> example = {{1,'a'}, {2,'b'}};
if (auto search = example.find(2); search != example.end())
std::cout << "Found " << search->first << ' ' << search->second << '\n';
else
std::cout << "Not found\n";
}
Output:
Found 2 b
See also
| returns the number of elements matching specific key (public member function) |
|
| returns range of elements matching a specific key (public member function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/container/unordered_multimap/find