operator==,!= (std::unordered_multimap)
|
template
<
class
Key,
class
T,
class
Hash,
class
KeyEqual,
class
Alloc
>
bool
operator
==
(
const
std::
unordered_multimap
<
Key, T, Hash, KeyEqual, Alloc
>
&
lhs,
|
(1) | |
|
template
<
class
Key,
class
T,
class
Hash,
class
KeyEqual,
class
Alloc
>
bool
operator
!
=
(
const
std::
unordered_multimap
<
Key, T, Hash, KeyEqual, Alloc
>
&
lhs,
|
(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:
-
- std:: distance ( lhs_eq1, lhs_eq2 ) == std:: distance ( rhs_eq1, rhs_eq2 ) .
- std:: is_permutation ( lhs_eq1, lhs_eq2, rhs_eq1 ) == true .
Das Verhalten ist undefiniert, falls
Key
oder
T
nicht
EqualityComparable
sind.
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 äquivalente Schlüsselgruppen 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
|
(seit C++20) |
Parameter
| lhs, rhs | - | ungeordnete Container zum Vergleichen |
Rückgabewert
Komplexität
Proportional zu
ΣS
i
2
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, wobei
S
die Größe der
i
-ten äquivalenten Schlüsselgruppe ist. Proportional zu
N
2
im Worst-Case, wobei
N
die Größe des Containers ist. Der Durchschnittsfall wird proportional zu
N
, wenn die Elemente innerhalb jeder äquivalenten Schlüsselgruppe in derselben Reihenfolge angeordnet sind (tritt auf, wenn die Container Kopien voneinander sind).