(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_set
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 |
Constant 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 <algorithm>#include <iostream>#include <unordered_set> int main(){std::unordered_set set{2,7,1,8,2,8,1,8,2,8}; std::cout<<"The set is: ";for(int e: set)std::cout<< e<<' '; constauto[min, max]= std::ranges::minmax(set); std::cout<<"\nNumbers from "<< min<<" to "<< max<<" that are in the set: ";for(int i{min}; i<= max;++i)if(set.count(i)==1)std::cout<< i<<' ';std::cout<<'\n';}
Possible output:
The set is: 8 1 7 2Numbers from 1 to 8 that are in the set: 1 2 7 8
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] |