std::expected<T,E>::value
Depuis fr.cppreference.net
| Gabarit principal |
||
constexpr T& value() &;
|
(1) | (depuis C++23) |
constexpr const T& value() const&;
|
(2) | (depuis C++23) |
constexpr T&& value() &&;
|
(3) | (depuis C++23) |
constexpr const T&& value() const&&;
|
(4) | (depuis C++23) |
void spécialisation partielle |
||
constexpr void value() const&;
|
(5) | (depuis C++23) |
constexpr void value() &&;
|
(6) | (depuis C++23) |
Si *this contient une valeur attendue, renvoie une référence à la valeur contenue. Ne renvoie rien pour la void spécialisation partielle.
Sinon, lève une exception de type std::bad_expected_access<std::decay_t<E>> qui contient une copie de error().
1,2) Si
std::is_copy_constructible_v<E> est false, le programme est mal formé.3,4) Si
std::is_copy_constructible_v<E> ou std::is_constructible_v<E, decltype(std::move(error()))> est false, le programme est mal formé.5) Si
std::is_copy_constructible_v<E> est false, le programme est mal formé.6) Si
std::is_move_constructible_v<E> est false, le programme est mal formé.Valeur de retour
1,2)
val
3,4)
std
::
move
(
val
)
Exceptions
1,2,5)
Lance
std::
bad_expected_access
(
std::
as_const
(
error
(
)
)
)
si
*
this
contient une valeur inattendue.
3,4,6)
Lance
std::
bad_expected_access
(
std
::
move
(
error
(
)
)
)
si
*
this
contient une valeur inattendue.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | S'applique à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 3940 | C++23 |
E
n'était pas requis d'être copiable/déplaçable pour les surcharges
(5,6)
|
requis |
Voir aussi
|
renvoie la valeur attendue si présente, une autre valeur sinon
(fonction membre publique) |
|
|
accède à la valeur attendue
(fonction membre publique) |
|
|
renvoie la valeur inattendue
(fonction membre publique) |
|
|
(C++23)
|
exception indiquant un accès vérifié à un
expected
qui contient une valeur inattendue
(modèle de classe) |