Metodo promise::set_value_at_thread_exit
In modo atomico, archivia un valore come risultato di questo oggetto promise.
void promise::set_value_at_thread_exit(const Ty& Val);
void promise::set_value_at_thread_exit(Ty&& Val);
void promise<Ty&>::set_value_at_thread_exit(Ty& Val);
void promise<void>::set_value_at_thread_exit();
Parametri
- Val
Il valore da archiviare come risultato.
Note
Se l'oggetto promise non ha uno stato associato asincrono, il metodo genera un future_error che abbia un codice di errore no_state.
Se set_exception, set_exception_at_thread_exit, set_value, o set_value_at_thread_exit è già stato chiamato per un oggetto promise con lo stesso stato associato asincrono, il metodo genera un future_error con codice di errore promise_already_satisfied.
A differenza di set_value, lo stato associato asincrono non è impostato a pronto fino a che tutti gli oggetti di thread locale nel thread corrente sono stati distrutti. In genere, i thread bloccati sullo stato associato asincrono non sono sbloccati finché il thread corrente non esce.
Il primo metodo genera inoltre qualsiasi eccezione che viene generata quando Val viene copiato nello stato asincrono associato.
Il secondo metodo genera inoltre qualsiasi eccezione che viene generata quando Val viene spostato nello stato asincrono associato.
Per la specializzazione parziale promise<Ty&>, il valore archiviato è un riferimento effettivo a Val.
Per la specializzazione promise<void>, non esiste nessun valore archiviato.
Requisiti
Intestazione: future
Spazio dei nomi: std