promise::set_value_at_thread_exit — Metoda
Niepodzielne zapisuje wartość jako wynik tego obiektu 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
Wartości, które mają być przechowywane jako wynik.
Uwagi
Jeśli obiekt obiecany nie posiada asynchronicznego stanu stowarzyszonego, ta metoda wyrzuca future_error zawierający kod błędu no_state.
Jeśli set_exception, set_exception_at_thread_exit, set_value lub set_value_at_thread_exit zostały już wywołane dla obiektu promise, który ma ten sam asynchroniczny stan stowarzyszony, ta metoda wyrzuca future_error zawierający kod błędu promise_already_satisfied.
W przeciwieństwie do set_value, skojarzony asynchroniczny stan nie jest ustawiany na „gotowy” do momentu zniszczenia wszystkich obiektów lokalnych wątków w bieżącym wątku.Zazwyczaj wątki, które są blokowane w stanie stowarzyszonym asynchroniczne nie są odblokowane, dopóki istnieje bieżący wątek.
Pierwsza metoda generuje również każdy wyjątek, który jest generowany, gdy Val jest kopiowana do stanu stowarzyszonego asynchronicznie.
Druga metoda generuje również każdy wyjątek, który jest generowany, gdy Val jest przenoszony do stanu stowarzyszonego asynchronicznie.
W przypadku częściowej specjalizacji promise<Ty&>, wartość przechowywana jest skutecznym odniesieniem do Val.
W przypadku specjalizacji promise<void>, przechowywana wartość nie istnieje.
Wymagania
Nagłówek: przyszłych
Przestrzeń nazw: std