Namespaces
Variants

std::expected<T,E>::value

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support du langage
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (déprécié en C++20)
 
 
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

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)
exception indiquant un accès vérifié à un expected qui contient une valeur inattendue
(modèle de classe)