Namensräume
Varianten
Aktionen

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

Von cppreference.com
 
 
 
 
template< class Key, class T, class Hash, class KeyEqual, class Alloc >

bool operator==( const std::unordered_map<Key, T, Hash, KeyEqual, Alloc>& lhs,

                 const std::unordered_map<Key, T, Hash, KeyEqual, Alloc>& rhs );
(1)
template< class Key, class T, class Hash, class KeyEqual, class Alloc >

bool operator!=( const std::unordered_map<Key, T, Hash, KeyEqual, Alloc>& lhs,

                 const std::unordered_map<Key, T, Hash, KeyEqual, Alloc>& rhs );
(2) (bis C++20)

Vergleicht die Inhalte von zwei ungeordneten Containern.

Die Inhalte von zwei ungeordneten Containern lhs und rhs sind gleich, wenn die folgenden Bedingungen erfüllt sind:

  • lhs.size() == rhs.size().
  • jede Gruppe äquivalenter Elemente [lhs_eq1lhs_eq2), die aus lhs.equal_range(lhs_eq1) erhalten wird, hat eine entsprechende Gruppe äquivalenter Elemente im anderen Container [rhs_eq1rhs_eq2), die aus rhs.equal_range(rhs_eq1) erhalten wird und die folgenden Eigenschaften aufweist:

Das Verhalten ist undefiniert, wenn Key oder T nicht EqualityComparable sind.

Das Verhalten ist auch undefiniert, wenn hash_function() und key_eq() nicht das gleiche Verhalten für lhs und rhs aufweisen oder wenn operator== für Key keine Verfeinerung der Partition in äquivalente Schlüsselgruppen ist, die durch key_eq() eingeführt wurde (d. h. wenn zwei Elemente, die mit operator== gleich verglichen werden, in verschiedene Partitionen fallen).

Der Operator != wird aus operator== synthetisiert.

(seit C++20)

[bearbeiten] Parameter

lhs, rhs - Zu vergleichende ungeordnete Container.

[bearbeiten] Rückgabewert

1) true, wenn die Inhalte der Container gleich sind, andernfalls false.
2) true, wenn die Inhalte der Container nicht gleich sind, andernfalls false.

[bearbeiten] Komplexität

Proportional zu N Aufrufen von operator== für value_type, Aufrufe der von key_eq zurückgegebenen Prädikatfunktion und Aufrufe der von hash_function zurückgegebenen Hash-Funktion, im Durchschnitt proportional zu N, im schlechtesten Fall proportional zu N2, wobei N die Größe des Containers ist.