promise::set_value_at_thread_exit – metoda
Atomicky ukládá hodnotu jako výsledek tohoto objektu 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();
Parametry
- Val
Hodnota, která má být uložena jako výsledek.
Poznámky
Pokud objekt promise nemá žádný přidružený asynchronní stav, tato metoda vyvolá future_error, který má kód chyby no_state.
Pokud set_exception, set_exception_at_thread_exit, set_value, nebo set_value_at_thread_exit již byly volány pro objekt promise, který má stejný připojený asynchronní stav, tato metoda vyvolá future_error s chybovým kódem promise_already_satisfied.
Na rozdíl od set_value není přidružený asynchronní stav nastaven na připraveno, dokud všechny místní objekty v aktuálním vlákně nejsou zničeny.Obvykle nejsou vlákna, které jsou blokovány v přidruženém asynchronním stavu, odblokovány, dokud aktuální vlákno neskončí.
První metoda vyvolá také jakoukoliv výjimku, která je vyvolána, když je Val zkopírována do přidruženého asynchronní stavu.
Druhá metoda vyvolá také jakoukoliv výjimku, která je vyvolána, když je Val přesunuta do přidruženého asynchronní stavu.
Pro částečné specializace promise<Ty&> je uložená hodnota účinným odkazem na Val.
Pro specializaci promise<void> neexistuje žádná uložená hodnota.
Požadavky
Záhlaví: future
Obor názvů: std