std:: common_reference_with
|
Défini dans l'en-tête
<concepts>
|
||
|
template
<
class
T,
class
U
>
concept common_reference_with
=
|
(depuis C++20) | |
Le concept
common_reference_with<T, U>
spécifie que deux types
T
et
U
partagent un
type de référence commun
(calculé par
std::common_reference_t
) vers lequel les deux peuvent être convertis.
Exigences sémantiques
T et U modèlent
std
::
common_reference_with
<
T, U
>
seulement si, étant données des expressions
préservant l'égalité
t1
,
t2
,
u1
et
u2
telles que
decltype
(
(
t1
)
)
et
decltype
(
(
t2
)
)
sont tous deux
T
et
decltype
(
(
u1
)
)
et
decltype
(
(
u2
)
)
sont tous deux
U
,
-
std::
common_reference_t
<
T, U
>
(
t1
)
est égal à
std::
common_reference_t
<
T, U
>
(
t2
)
si et seulement si
t1est égal àt2; et -
std::
common_reference_t
<
T, U
>
(
u1
)
est égal à
std::
common_reference_t
<
T, U
>
(
u2
)
si et seulement si
u1est égal àu2.
En d'autres termes, la conversion vers le type de référence commun doit préserver l'égalité .
Références
- Norme C++23 (ISO/IEC 14882:2024) :
-
-
18.4.5 Concept
common_reference_with[concept.commonref]
-
18.4.5 Concept
- Norme C++20 (ISO/CEI 14882:2020) :
-
-
18.4.5 Concept
common_reference_with[concept.commonref]
-
18.4.5 Concept
Voir aussi
|
détermine le type de référence commun d'un groupe de types
(modèle de classe) |
|
|
(C++20)
|
spécifie que deux types partagent un type commun
(concept) |
|
(C++11)
|
détermine le type commun d'un groupe de types
(modèle de classe) |