Namespaces
Variants
Views
Actions

operator==,!=(std::unordered_multimap)

From cppreference.com
 
 
 
 
template< class Key, class T, class Hash, class KeyEqual, class Allocator >

bool operator==( const unordered_multimap<Key,T,Hash,KeyEqual,Allocator>& lhs,

                 const unordered_multimap<Key,T,Hash,KeyEqual,Allocator>& rhs );
(1)
template< class Key, class T, class Hash, class KeyEqual, class Allocator >

bool operator!=( const unordered_multimap<Key,T,Hash,KeyEqual,Allocator>& lhs,

                 const unordered_multimap<Key,T,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 elements [lhs_eq1, lhs_eq2) obtained from lhs.equal_range(lhs_eq1) has a corresponding group of equivalent elements in the other container [rhs_eq1, rhs_eq2) obtained from rhs.equal_range(rhs_eq1), that has the following properties:

The behavior is undefined if Key or T are not EqualityComparable.

The behavior is also undefined if Hash and KeyEqual do not have the same behavior on lhs and rhs or if operator== for value_type is not a refinement of the partition into equivalent-key groups introduced by KeyEqual (that is, if two elements that compare equal using operator== 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

Proportional to ΣSi2 calls to operator== on value_type, calls to the predicate returned by key_eq, and calls to the hasher returned by hash_function in the average case, where S is the size of the ith equivalent key group. Proprotional to N2 in the worst case, where N is the size of the container. Average case becomes proportional to N if the elements within each equivalent key group are arranged in the same order (happens when the containers are copies of each other).