operator== (unordered_set)
Tests whether the unordered_set object on the left side of the operator is equal to the unordered_set object on the right side.
bool operator==(
const unordered_set <Key, Hash, Pred, Allocator>& _Left,
const unordered_set <Key, Hash, Pred, Allocator>& _Right
);
Parameters
_Left
An object of type unordered_set._Right
An object of type unordered_set.
Return Value
true if the unordered_sets are equal; false if they are not equal.
Remarks
The comparison between unordered_set objects is not affected by the arbitrary order in which they store their elements. Two unordered_sets are equal if they have the same number of elements and the elements in one container are a permutation of the elements in the other container. Otherwise, they are unequal.
Example
// unordered_set_eq.cpp
// compile by using: cl.exe /EHsc /nologo /W4 /MTd
#include <unordered_set>
#include <iostream>
#include <ios>
int main()
{
using namespace std;
unordered_set<char> c1, c2, c3;
c1.insert('a');
c1.insert('b');
c1.insert('c');
c2.insert('c');
c2.insert('a');
c2.insert('d');
c3.insert('c');
c3.insert('a');
c3.insert('b');
cout << boolalpha;
cout << "c1 == c2: " << (c1 == c2) << endl;
cout << "c1 == c3: " << (c1 == c3) << endl;
cout << "c2 == c3: " << (c2 == c3) << endl;
return (0);
}
Output:
c1 == c2: false
c1 == c3: true
c2 == c3: false
Requirements
Header: <unordered_set>
Namespace: std