std::ranges:: equal_to
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definido en el encabezado
<functional>
|
||
|
struct
equal_to
;
|
(desde C++20) | |
Objeto función para realizar comparaciones. Los tipos de parámetros del operador de llamada a función (pero no el tipo de retorno) se deducen de los argumentos.
Contenidos |
Tipos anidados
| Tipo anidado | Definición |
is_transparent
|
unspecified |
Funciones miembro
|
operator()
|
verifica si los argumentos son
iguales
(función miembro pública) |
std::ranges::equal_to:: operator()
|
template
<
class
T,
class
U
>
constexpr bool operator ( ) ( T && t, U && u ) const ; |
||
Dada la expresión std:: forward < T > ( t ) == std:: forward < U > ( u ) como expr :
-
Si
expr
resulta en una llamada al
operador incorporado
operator
==
que compara punteros, dado el
tipo de puntero compuesto
de
t
y
u
como
P:
-
-
Para los dos punteros convertidos (de tipo
P), si un puntero precede al otro en el orden total estricto definido por la implementación sobre punteros , retorna false , de lo contrario retorna true . -
Si la secuencia de conversión de
TaPo la secuencia de conversión deUaPno es que preserva la igualdad , el comportamiento es indefinido.
-
Para los dos punteros convertidos (de tipo
- De lo contrario:
-
- Retorna el resultado de expr .
- Si std:: equality_comparable_with < T, U > no se cumple, el comportamiento es indefinido.
Esta sobrecarga participa en la resolución de sobrecarga solo si std:: equality_comparable_with < T, U > se satisface.
Notas
En comparación con
std::equal_to
,
std::ranges::equal_to
requiere adicionalmente que
!=
sea válido, y que ambos tipos de argumentos deben ser (homogéneamente) comparables consigo mismos (mediante la restricción
equality_comparable_with
).
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 3530 | C++20 | se relajaron las verificaciones sintácticas al comparar punteros | solo se relajan los requisitos semánticos |
Véase también
|
objeto de función que implementa
x
==
y
(plantilla de clase) |