operator==,!=(std::unordered_set) - cppreference.com
De cppreference.com
|
|
(1) | |
|
|
(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 delhs.equal_range(lhs_eq1)tiene un grupo correspondiente de elementos equivalentes en el otro contenedor[rhs_eq1, rhs_eq2)obtenido derhs.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 no es 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) |
Parámetros
| lhs, rhs | - | Los contenedores no ordenados a comparar. |
Valor de retorno
1) true si el contenido de los contenedores es igual, false de lo contrario.
2) true si el contenido de los contenedores no es igual, false de lo contrario.
Complejidad
Proporcional a N 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; proporcional a N2 en el peor de los casos, donde N es el tamaño del contenedor.