std:: convertible_to
|
Défini dans l'en-tête
<concepts>
|
||
|
template
<
class
From,
class
To
>
concept convertible_to
=
|
(depuis C++20) | |
Le concept
convertible_to
<
From, To
>
spécifie qu'une expression du même type et de la même catégorie de valeur que ceux de
std::
declval
<
From
>
(
)
peut être convertie implicitement et explicitement en le type
To
, et que les deux formes de conversion produisent des résultats égaux.
Table des matières |
Exigences sémantiques
convertible_to
<
From, To
>
est modélisé seulement si, étant donné une fonction
fun
de type
std::
add_rvalue_reference_t
<
From
>
(
)
telle que l'expression
fun
(
)
est
préservatrice d'égalité
,
-
Soit
-
Ton'est ni un type objet ni un type référence-vers-objet, ou - static_cast < To > ( fun ( ) ) est égal à [ ] ( ) - > To { return fun ( ) ; } ( ) , et
-
-
L'une des conditions suivantes est vraie :
- std:: add_rvalue_reference_t < From > n'est pas un type référence-vers-objet, ou
- std:: add_rvalue_reference_t < From > est une référence rvalue vers un type non qualifié const, et l'état résultant de l'objet référencé par fun ( ) est valide mais non spécifié après l'une ou l'autre des expressions ci-dessus ; ou
- l'objet référencé par fun ( ) n'est pas modifié par l'une ou l'autre des expressions ci-dessus.
Préservation de l'égalité
Les expressions déclarées dans les requires expressions des concepts de la bibliothèque standard doivent être equality-preserving (sauf indication contraire).
Références
- Norme C++23 (ISO/CEI 14882:2024) :
-
-
18.4.4 Concept
convertible_to[concept.convertible]
-
18.4.4 Concept
- Norme C++20 (ISO/CEI 14882:2020) :
-
-
18.4.4 Concept
convertible_to[concept.convertible]
-
18.4.4 Concept
Voir aussi
|
(C++11)
(C++20)
|
vérifie si un type peut être converti en un autre type
(modèle de classe) |