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
Definiert im Header <future>
enum class future_errc {

broken_promise = /* implementationsdefiniert */ ,
future_already_retrieved = /* implementationsdefiniert */ ,
promise_already_satisfied = /* implementationsdefiniert */ ,
no_state = /* implementationsdefiniert */

} ;
(seit C++11)

Die scoped Enumeration std::future_errc definiert die Fehlercodes, die von std::future und verwandten Klassen in std::future_error Exception-Objekten gemeldet werden. Nur vier Fehlercodes sind erforderlich, obwohl die Implementierung zusätzliche Fehlercodes definieren kann. Da die entsprechende Spezialisierung von std::is_error_code_enum bereitgestellt wird, sind Werte vom Typ std::future_errc implizit konvertierbar zu std::error_code .

Alle Fehlercodes sind eindeutig und ungleich Null.

Inhaltsverzeichnis

Member-Konstanten

Enumerator Bedeutung
broken_promise Die asynchrone Aufgabe hat ihren gemeinsamen Zustand aufgegeben
future_already_retrieved Der Inhalt des gemeinsamen Zustands wurde bereits über std::future abgerufen
promise_already_satisfied Versuch, einen Wert doppelt im gemeinsamen Zustand zu speichern
no_state Versuch, auf std::promise oder std::future ohne assoziierten gemeinsamen Zustand zuzugreifen

Nicht-Member-Funktionen

Konstruiert einen Future-Fehlercode
(Funktion)
Konstruiert eine Future error_condition
(Funktion)

Hilfsklassen

erweitert das Typmerkmal std::is_error_code_enum zur Identifizierung von Future-Fehlercodes
(Klassentemplate)

Beispiel

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 2056 C++11 broken_promise war als Null spezifiziert, was konventionell für "kein Fehler" steht als nicht-Null spezifiziert

Siehe auch

(C++11)
enthält einen plattformabhängigen Fehlercode
(Klasse)
enthält einen portablen Fehlercode
(Klasse)