Udostępnij za pośrednictwem


promise::set_value — Metoda

Niepodzielne przechowuje wartość w wyniku obiektu promise i ustawia asynchroniczny stan stowarzyszony jako gotowy.

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();

Parametry

  • Val
    Wartości, które mają być przechowywane jako wynik.

Uwagi

Jeśli obiekt promise 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 wyniku tej metody wszelkie wątki, które są zablokowane w stowarzyszonym stanie asynchronicznym zostają odblokowane.

Pierwsza metoda generuje również każdy wyjątek, który jest generowany, gdy Val jest kopiowana do stanu stowarzyszonego asynchronicznie.W tej sytuacji, stowarzyszony stan asynchroniczny nie jest ustawiony na gotowe.

Druga metoda generuje również każdy wyjątek, który jest generowany, gdy Val jest przenoszony do stanu stowarzyszonego asynchronicznie.W tej sytuacji, stowarzyszony stan asynchroniczny nie jest ustawiony na gotowe.

W przypadku częściowej specjalizacji promise<Ty&>, wartość przechowywana jest w rzeczywistości odniesieniem do Val.

W przypadku specjalizacji promise<void>, przechowywana wartość nie istnieje.

Wymagania

Nagłówek: przyszłych

Przestrzeń nazw: std

Zobacz też

Informacje

promise — Klasa

<future>