std::packaged_task::operator()
De cppreference.com
void operator()( ArgTypes... args ); |
(desde C++11) | |
Llama a la tarea almacenada con args como argumentos. El valor de retorno de la tarea o cualquier excepción lanzada se almacena en el estado compartido. El estado compartido está listo y todos los hilos que están esperando se desbloquean.
Parámetros
| args | - | Los parámetros a pasar cuando se invoque la tarea almacenada. |
Valor de retorno
(Ninguno)
Excepciones
std::future_error en las siguientes condiciones de error:
- La tarea almacenada ya se ha invocado. La categoría de error se establece a promise_already_satisfied.
*thisno tiene un estado compartido. La categoría de error se establece a no_state.
Ejemplo
| Esta sección está incompleta Razón: sin ejemplo |
Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
| ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 2142 | C++11 | Una llamada exitosa a operator() se sincroniza con una llamada acualquier función miembro de un objeto std::future o std::shared_future que comparta su estado compartido con *this.
|
No hay garantías adicionales de sincronización que no sean las que ya proporciona el estado compartido. |
Véase también
| Ejecuta la función asegurándose de que el resultado esté listo solo una vez que el hilo actual termine. (función miembro pública) |