Namespaces
Variants

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

From cppreference.net

template < class Key, class Hash, class KeyEqual, class Alloc >

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

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

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

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

Vergleicht die Inhalte zweier ungeordneter Container.

Die Inhalte zweier ungeordneter Container lhs und rhs sind gleich, wenn die folgenden Bedingungen erfüllt sind:

  • lhs. size ( ) == rhs. size ( ) .
  • Jede Gruppe äquivalenter Elemente [ lhs_eq1 , lhs_eq2 ) erhalten von lhs. equal_range ( lhs_eq1 ) hat eine entsprechende Gruppe äquivalenter Elemente im anderen Container [ rhs_eq1 , rhs_eq2 ) erhalten von rhs. equal_range ( rhs_eq1 ) , die folgende Eigenschaften aufweist:

Das Verhalten ist undefiniert, falls Key nicht EqualityComparable ist.

Das Verhalten ist ebenfalls undefiniert, falls hash_function() und key_eq() nicht (bis C++20) key_eq() nicht (seit C++20) dasselbe Verhalten für lhs und rhs aufweisen oder falls operator == für Key keine Verfeinerung der Partitionierung in Äquivalenzklassen darstellt, die durch key_eq() eingeführt wurde (das heißt, wenn zwei Elemente, die mit operator == als gleich verglichen werden, in unterschiedliche Partitionen fallen).

Der != -Operator wird synthetisiert aus operator== .

(since C++20)

Parameter

lhs, rhs - ungeordnete Container zum Vergleichen

Rückgabewert

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

Komplexität

Proportional zu N Aufrufen von operator == auf value_type , Aufrufen des durch key_eq zurückgegebenen Prädikats, und Aufrufen des durch hash_function zurückgegebenen Hashfunktion. Im Durchschnittsfall proportional zu N 2 im Worst-Case, wobei N die Größe des Containers ist.