Namespaces
Variants

std:: future_errc

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
future_errc
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
std::future_errc
Défini dans l'en-tête <future>
enum class future_errc {

broken_promise = /* implementation-defined */ ,
future_already_retrieved = /* implementation-defined */ ,
promise_already_satisfied = /* implementation-defined */ ,
no_state = /* implementation-defined */

} ;
(depuis C++11)

L'énumération scopée std::future_errc définit les codes d'erreur rapportés par std::future et les classes associées dans les objets d'exception std::future_error . Seulement quatre codes d'erreur sont requis, bien que l'implémentation puisse définir des codes d'erreur supplémentaires. Comme la spécialisation appropriée de std::is_error_code_enum est fournie, les valeurs de type std::future_errc sont implicitement convertibles en std::error_code .

Tous les codes d'erreur sont distincts et non nuls.

Table des matières

Constantes membres

Énumérateur Signification
broken_promise la tâche asynchrone a abandonné son état partagé
future_already_retrieved le contenu de l'état partagé a déjà été accédé via std::future
promise_already_satisfied tentative de stocker une valeur dans l'état partagé deux fois
no_state tentative d'accéder à std::promise ou std::future sans état partagé associé

Fonctions non membres

construit un code d'erreur future
(fonction)
construit une error_condition future
(fonction)

Classes d'assistance

étend le trait de type std::is_error_code_enum pour identifier les codes d'erreur de future
(modèle de classe)

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 Appliqué à Comportement publié Comportement corrigé
LWG 2056 C++11 broken_promise était spécifié comme zéro, ce qui est conventionnellement utilisé pour signifier "aucune erreur" spécifié comme non nul

Voir aussi

(C++11)
contient un code d'erreur dépendant de la plateforme
(classe)
contient un code d'erreur portable
(classe)