std::unordered_set contains() method
- since C++20
// (1) Const version only
bool contains( const Key& key ) const;
// (2) Const version only
template< class K >
bool contains( const K& x ) const;
- (1) Checks if there is an element with key equivalent to
key
in the container. - (2) Checks if there is an element with key that compares equivalent to the value
x
. This overload participates in overload resolution only ifHash::is_transparent
andKeyEqual::is_transparent
are valid and each denotes a type. 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
.
Parameters
key
- key value of the elements to countx
- a value of any type that can be transparently compared with a key
Return value
true
if there is such an element, otherwise false
.
Complexity
Average case, constant - O(1).
Worst case, linear in size of the container - O(size()).
Exceptions
(none)
Example
Main.cpp
#include <iostream>
#include <unordered_set>
int main()
{
std::unordered_set<int> example = {1, 2, 3, 4};
for(int x: {2, 5}) {
if(example.contains(x)) {
std::cout << x << ": Found\n";
} else {
std::cout << x << ": Not found\n";
}
}
}
Output
2: Found
5: Not found
This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.
Hover to see the original license.