std::packaged_task<R(Args...)>:: operator()
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Getting the result | ||||
| Execution | ||||
|
packaged_task::operator()
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(until C++17)
|
||||
| Deduction guides (C++17) |
|
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
|
Esta sección está incompleta
Razón: sin 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) |