##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# operator==,!=(std::unordered_multiset)

From cppreference.com
< cpp‎ | container‎ | unordered multiset

[edit template]

template< class Key, class Hash, class KeyEqual, class Allocator > void operator==( unordered_multiset<Key,Hash,KeyEqual,Allocator> &lhs, unordered_multiset<Key,Hash,KeyEqual,Allocator> &rhs); | (1) |
template< class Key, class Hash, class KeyEqual, class Allocator > void operator!=( unordered_multiset<Key,Hash,KeyEqual,Allocator> &lhs, unordered_multiset<Key,Hash,KeyEqual,Allocator> &rhs); | (2) |

Compares the contents of two unordered containers.

The contents of two unordered containers `lhs` and `rhs` are equal if the following conditions hold:

- lhs.size() == rhs.size()
- each group of equivalent keys `[lhs_eq1, lhs_eq2)` obtained from lhs.equal_range(lhs_eq1) has a corresponding group of equivalent keys in the other container `[rhs_eq1, rhs_eq2)` obtained from rhs.equal_range(rhs_eq1), that has the following properties:

  - std::distance(lhs_eq1, lhs_eq2) == std::distance(rhs_eq1, rhs_eq2).
  - std::is_permutation(lhs_eq1, lhs_eq2, rhs_eq1) == true.

The behavior is undefined if `Key` is not `EqualityComparable`.

The behavior is also undefined if Hash and KeyEqual do not have the same behavior on lhs and rhs or if the equality comparison operator for Key is not a refinement of the partition into equivalent-key groups introduced by KeyEqual (that is, if two keys that compare equal fall into different partitions)

### [edit] Parameters

lhs, rhs | - | unordered containers to compare

### [edit] Return value

1) true if the contents of the containers are equal, false otherwise
2) true if the contents of the containers are not equal, false otherwise

### [edit] Complexity

ΣSi2 comparisons of the keys in the average case, where S is the size of the ith equivalent key group. N2 comparisons of the keys in the worst case, where N is the size of the container.

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/container/unordered_multiset/operator_cmp&oldid=50762"