Namespaces
Variants

std::packaged_task<R(Args...)>:: operator()

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)
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
void operator ( ) ( ArgTypes... args ) ;
(desde C++11)

Llama a la tarea almacenada como si fuera mediante INVOKE<R> ( f, args... ) , donde f es la tarea almacenada. El valor de retorno de la tarea o cualquier excepción lanzada se almacenan en el estado compartido. El estado compartido se marca como listo y cualquier hilo que esté esperando por esto se desbloquea.

Contenidos

Parámetros

args - los parámetros a pasar en la invocación de la tarea almacenada

Valor de retorno

(ninguno)

Excepciones

std::future_error en las siguientes condiciones de error:

  • La tarea almacenada ya ha sido invocada. La categoría de error se establece en promise_already_satisfied .
  • * this no tiene estado compartido. La categoría de error se establece en no_state .

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 2142 C++11 una llamada exitosa a operator ( ) sincronizada con
una llamada a cualquier función miembro de un std::future o
std::shared_future que comparta su estado compartido con * this
no hay garantías de sincronización adicionales
aparte de las que ya proporciona
el estado compartido

Véase también

ejecuta la función asegurando que el resultado esté listo solo cuando el hilo actual finalice
(función miembro pública)