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
Definido en el encabezado <future>
enum class future_errc {

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

} ;
(desde C++11)

La enumeración de ámbito std::future_errc define los códigos de error reportados por std::future y clases relacionadas en objetos de excepción std::future_error . Solo se requieren cuatro códigos de error, aunque la implementación puede definir códigos de error adicionales. Debido a que se proporciona la especialización apropiada de std::is_error_code_enum , los valores de tipo std::future_errc son implícitamente convertibles a std::error_code .

Todos los códigos de error son distintos y distintos de cero.

Contenidos

Constantes de miembro

Enumerador Significado
broken_promise la tarea asíncrona abandonó su estado compartido
future_already_retrieved el contenido del estado compartido ya fue accedido mediante std::future
promise_already_satisfied intento de almacenar un valor en el estado compartido dos veces
no_state intento de acceder a std::promise o std::future sin un estado compartido asociado

Funciones no miembro

construye un código de error de future
(función)
construye una error_condition de future
(función)

Clases auxiliares

extiende el rasgo de tipo std::is_error_code_enum para identificar códigos de error de future
(plantilla de clase)

Ejemplo

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 2056 C++11 broken_promise se especificó como cero, lo que convencionalmente significa "sin error" especificado como no-cero

Véase también

(C++11)
contiene un código de error dependiente de la plataforma
(class)
contiene un código de error portable
(class)