operator==,!=(std::unordered_multimap)
template<class Key, class T, class Hash, class KeyEqual, class Alloc > bool operator==(conststd::unordered_multimap<Key, T, Hash, KeyEqual, Alloc>& lhs, | (1) | |
template<class Key, class T, class Hash, class KeyEqual, class Alloc > bool operator!=(conststd::unordered_multimap<Key, T, Hash, KeyEqual, Alloc>& lhs, | (2) | (hasta C++20) |
Compara el contenido de dos contenedores no ordenados.
El contenido de dos contenedores no ordenados lhs
y rhs
es igual si se mantienen las siguientes condiciones:
- lhs.size()== rhs.size();
- cada grupo de elementos equivalentes
[lhs_eq1, lhs_eq2)
obtenido de lhs.equal_range(lhs_eq1) tiene un grupo correspondiente de elementos equivalentes en el otro contenedor[rhs_eq1, rhs_eq2)
obtenido de rhs.equal_range(rhs_eq1), que tiene las siguientes propiedades:
- std::distance(lhs_eq1, lhs_eq2)==std::distance(rhs_eq1, rhs_eq2).
- std::is_permutation(lhs_eq1, lhs_eq2, rhs_eq1)==true.
El comportamiento no está definido si Key
o T
no son EqualityComparable.
El comportamiento tampoco está definido si hash_function()
y key_eq()
no tienen(hasta C++20)key_eq()
no tiene(desde C++20) el mismo comportamiento sobre lhs
y rhs
o si operator== para Key
no es un refinamiento de la partición en grupos de claves equivalentes introducidos por key_eq()
(es decir, si dos elementos que se comparan iguales usando operator== caen en distintas particiones).
El operador | (desde C++20) |
[editar]Parámetros
lhs, rhs | - | Los contenedores no ordenados a comparar. |
[editar]Valor de retorno
[editar]Complejidad
Proporcional a ΣSi2 llamadas a operator== sobre value_type
, llamadas al predicado devuelto por key_eq, y llamadas a la función de dispersión devuelta por hash_function, en el caso promedio, donde S es el tamaño del i-ésimo grupo de claves equivalentes. Proporcional a N2 en el peor de los casos, donde N es el tamaño del contenedor. El caso promedio se vuelve proporcional a N si los elementos dentro de cada grupo de claves equivalentes se arreglan en el mismo orden (sucede cuando los contenedores son copias uno del otro).