(C++17) | ||||
| Sequence | ||||
(C++11) | ||||
(C++26) | ||||
(C++26) | ||||
(C++11) | ||||
| Associative | ||||
| Unordered associative | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
| Adaptors | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
| Views | ||||
(C++20) | ||||
(C++23) | ||||
| Tables | ||||
| Iterator invalidation | ||||
| Member function table | ||||
| Non-member function table |
std::unordered_multimap| Member types | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Non-member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Deduction guides(C++17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
size_type count(const Key& key)const; | (1) | (since C++11) |
template<class K> size_type count(const K& x)const; | (2) | (since C++20) |
Hash andKeyEqual are bothtransparent. This assumes that suchHash is callable with bothK andKey type, and that theKeyEqual is transparent, which, together, allows calling this function without constructing an instance ofKey.Contents |
| key | - | key value of the elements to count |
| x | - | a value of any type that can be transparently compared with a key |
linear in the number of elements with keykey on average, worst case linear in the size of the container.
| Feature-test macro | Value | Std | Feature |
|---|---|---|---|
__cpp_lib_generic_unordered_lookup | 201811L | (C++20) | Heterogeneous comparison lookup inunordered associative containers, overload(2) |
#include <iostream>#include <string>#include <unordered_map> int main(){std::unordered_multimap<int,std::string> dict={{1,"one"},{6,"six"},{3,"three"}}; dict.insert({4,"four"}); dict.insert({5,"five"}); dict.insert({6,"six"}); std::cout<<"dict: { ";for(autoconst&[key, value]: dict)std::cout<<'['<< key<<"]="<< value<<' ';std::cout<<"}\n\n"; for(int i{1}; i!=8;++i)std::cout<<"dict.count("<< i<<") = "<< dict.count(i)<<'\n';}
Possible output:
dict: { [5]=five [4]=four [1]=one [6]=six [6]=six [3]=three } dict.count(1) = 1dict.count(2) = 0dict.count(3) = 1dict.count(4) = 1dict.count(5) = 1dict.count(6) = 2dict.count(7) = 0| finds element with specific key (public member function)[edit] | |
(C++20) | checks if the container contains element with specific key (public member function)[edit] |
| returns range of elements matching a specific key (public member function)[edit] |