function template
<unordered_set>
std::operators (unordered_multiset)
equality (1) | template <class Key, class Hash, class Pred, class Alloc> bool operator== ( const unordered_multiset<Key,Hash,Pred,Alloc>& lhs, const unordered_multiset<Key,Hash,Pred,Alloc>& rhs ); |
---|
inequality (2) | template <class Key, class Hash, class Pred, class Alloc> bool operator!= ( const unordered_multiset<Key,Hash,Pred,Alloc>& lhs, const unordered_multiset<Key,Hash,Pred,Alloc>& rhs ); |
---|
Relational operators for unordered_multiset
These overloaded global operator functions perform the appropriate equality or inequality comparison operation between the unordered_multiset containers lhs and rhs.
The procedure for the equality comparison is as follows (stopping at any point if the procedure finds a conclusive answer):
Parameters
- lhs, rhs
- unordered_multiset containers (to the left- and right-hand side of the operator, respectively), having both the same template parameters (Key, Hash, Pred and Alloc).
Return Value
true if the condition holds, and false otherwise.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
// unordered_multiset comparisons
#include <iostream>
#include <string>
#include <unordered_set>
int main ()
{
std::unordered_multiset<std::string>
a = {"AAPL","MSFT","GOOG"},
b = {"MSFT","GOOG","AAPL"},
c = {"MSFT","GOOG","AAPL","AAPL"};
if (a==b) std::cout << "a and b are equal\n";
if (b!=c) std::cout << "b and c are not equal\n";
return 0;
}
|
Output:
a and b are equal
b and c are not equal
|
Complexity
Average case: linear in size.
Worst case: quadratic in size.
Iterator validity
No changes.