std:: common_reference_with
|
Definido en el encabezado
<concepts>
|
||
|
template
<
class
T,
class
U
>
concept common_reference_with
=
|
(desde C++20) | |
El concepto
common_reference_with<T, U>
especifica que dos tipos
T
y
U
comparten un
tipo de referencia común
(calculado por
std::common_reference_t
) al cual ambos pueden ser convertidos.
Requisitos semánticos
T y U modelan
std
::
common_reference_with
<
T, U
>
solo si, dadas las expresiones
que preservan la igualdad
t1
,
t2
,
u1
y
u2
tales que
decltype
(
(
t1
)
)
y
decltype
(
(
t2
)
)
son ambos
T
y
decltype
(
(
u1
)
)
y
decltype
(
(
u2
)
)
son ambos
U
,
-
std::
common_reference_t
<
T, U
>
(
t1
)
es igual a
std::
common_reference_t
<
T, U
>
(
t2
)
si y solo si
t1es igual at2; y -
std::
common_reference_t
<
T, U
>
(
u1
)
es igual a
std::
common_reference_t
<
T, U
>
(
u2
)
si y solo si
u1es igual au2.
En otras palabras, la conversión al tipo de referencia común debe preservar la igualdad .
Referencias
- Estándar C++23 (ISO/IEC 14882:2024):
-
-
18.4.5 Concepto
common_reference_with[concept.commonref]
-
18.4.5 Concepto
- Estándar C++20 (ISO/IEC 14882:2020):
-
-
18.4.5 Concepto
common_reference_with[concept.commonref]
-
18.4.5 Concepto
Véase también
|
determina el tipo de referencia común de un grupo de tipos
(plantilla de clase) |
|
|
(C++20)
|
especifica que dos tipos comparten un tipo común
(concepto) |
|
(C++11)
|
determina el tipo común de un grupo de tipos
(plantilla de clase) |