metodo promise::set_value

Seguito memorizza un valore come risultato dell'oggetto di promise e imposta lo stato collegato asincronoin attesa.

void promise::set_value(const Ty& Val);
void promise::set_value(Ty&& Val);
void promise<Ty&>::set_value(Ty& Val);
void promise<void>::set_value();

Parametri

  • Val
    Il valore da archiviare il risultato.

Note

Se l'oggetto di promise non è stato collegato asincrono, genera un'eccezione di questo metodo 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 di promise con lo stesso stato collegato asincrono, genera un'eccezione di questo metodo future_error con un codice di errore promise_already_satisfied.

Il risultato di questo metodo, tutti i thread bloccati stato asincrono collegate vengono sbloccati.

Il primo metodo genera inoltre qualsiasi eccezione generata quando Val viene copiato in stato collegato asincrono.In questa situazione, lo stato collegato asincrono non è impostato per attendere.

Il secondo metodo genera inoltre qualsiasi eccezione generata quando Val viene trasferito nello stato collegato asincrono.In questa situazione, lo stato collegato asincrono non è impostato per attendere.

Per la specializzazione parziale promise<Ty&>, il valore archiviato è in effetti un riferimento a Val.

Per la specializzazione promise<void>, nessun valore archiviato esistente.

Requisiti

Implementazioni diIntestazione:

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

promise Class

<future>