operator==, <=>(std::reference_wrapper)
De es.cppreference.net
friend constexpr bool
operator==( reference_wrapper lhs, reference_wrapper rhs );
|
(1) | (desde C++26) |
friend constexpr bool
operator==( reference_wrapper lhs, reference_wrapper<const T> rhs );
|
(2) | (desde C++26) |
friend constexpr bool
operator==( reference_wrapper lhs, const T& ref );
|
(3) | (desde C++26) |
friend constexpr auto
operator<=>( reference_wrapper lhs, reference_wrapper rhs );
|
(4) | (desde C++26) |
friend constexpr auto
operator<=>( reference_wrapper lhs, reference_wrapper<const T> rhs );
|
(5) | (desde C++26) |
friend constexpr auto
operator<=>( reference_wrapper lhs, const T& ref );
|
(6) | (desde C++26) |
Realiza operaciones de comparación en objetos reference_wrapper.
1,2) Compara dos objetos
reference_wrapper. Los objetos se comparan iguales si y solo si lhs.get() y rhs.get() son iguales.1) Esta sobrecarga participa en la resolución de sobrecarga solo si la expresión
lhs.get() == rhs.get() es válida y su resultado es convertible a bool.2) Esta sobrecarga participa en la resolución de sobrecarga solo si se cumplen todas las siguientes condiciones:
std::is_const_v<T>esfalse.- La expresión
lhs.get() == rhs.get()es válida y su resultado es convertible abool.
3) Compara un objeto
reference_wrapper con una referencia. Los parámetros se comparan iguales si y solo si lhs.get() es igual a ref. Esta sobrecarga participa en la resolución de sobrecarga solo si la expresión
lhs.get() == ref es válida y su resultado es convertible a bool.4) Esta sobrecarga participa en la resolución de sobrecarga solo si la expresión synth-three-way
(lhs.get(), rhs.get()) es válida.5) Esta sobrecarga participa en la resolución de sobrecarga solo si se cumplen todas las siguientes condiciones:
std::is_const_v<T>esfalse.- La expresión synth-three-way
(lhs.get(), rhs.get())es válida.
Esta sobrecarga participa en la resolución de sobrecarga solo si la expresión synth-three-way
(lhs.get(), ref) es válida.Los operadores <, <=, >, >= y != son sintetizados a partir de operator<=> y operator== respectivamente.
Parámetros
| lhs, rhs | - |
reference_wrapper
objeto a comparar
|
| ref | - |
referencia a comparar con el objeto
reference_wrapper
|
Valor de retorno
1,2)
lhs.
get
(
)
==
rhs.
get
(
)
.
3)
lhs.
get
(
)
==
ref
.
4,5)
synth-three-way
(
lhs.
get
(
)
, rhs.
get
(
)
)
.
6)
synth-three-way
(
lhs.
get
(
)
, ref
)
.
Excepciones
Lanza cuando y lo que la comparación lanza.
Notas
Los tipos de retorno de operator <=> se deducen de las sentencias return para evitar errores graves al instanciar un std:: reference_wrapper < T > cuando synth-three-way-result <T> está mal formado.
| Macro de prueba de características | Valor | Std | Característica |
|---|---|---|---|
__cpp_lib_reference_wrapper
|
202403L
|
(C++26) |
Comparaciones para
std::reference_wrapper
|
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |