Condividi tramite


Operatore packaged_task::operator()

Chiama l'oggetto chiamabile archiviato nello stato collegato asincrono, atomico di archiviare il valore restituito e imposta lo stato su pronto.

void operator()(ArgTypes... args);

Note

Se l'oggetto di packaged_task non ha una condizione asincrono collegato, il metodo genera un'eccezione future_error che disponga di un codice di errore no_state.

Se il metodo o make_ready_at_thread_exit è già stato chiamato per un oggetto di packaged_task con lo stesso stato asincrono connesso, il metodo genera future_error con un codice di errore promise_already_satisfied.

In caso contrario, questo operatore chiama INVOKE(fn, args..., Ty), dove fn è l'oggetto chiamabile archiviato nello stato asincrono collegato. Qualsiasi valore restituito viene archiviato in modalità atomica mentre il risultato restituito lo stato asincrono collegato e lo stato è impostato su pronto. Pertanto, tutti i thread bloccati sullo stato asincrono collegato vengono sbloccati.

Requisiti

Intestazione: future

Spazio dei nomi: std

Vedere anche

Riferimenti

Classe packaged_task

<future>