Экземпляр std::future
для асинхронного результата, ассоциированного с *this
.
Исключения
Исключение типа std::future_error
с кодом ошибки std::future_errc::future_already_retrieved
, если объект std::future
уже был получен для этого асинхронного результата с помощью предшествующего обращения к get_future()
.
STD::PROMISE::SET_VALUE
, ФУНКЦИЯ-ЧЛЕН
Сохраняет значение в асинхронном результате, ассоциированном с *this
.
void promise
void promise
void promise
void promise
С *this
ассоциирован асинхронный результат.
Сохраняет r
в асинхронном результате, ассоциированном с *this
, если ResultType
— не void
.
Асинхронный результат, ассоциированный с *this
, готов и содержит значение. Все потоки, ожидающие асинхронного результата, разблокируются.
Исключение типа std::future_error
с кодом ошибки std::future_errc::promise_already_satisfied
, если в асинхронном результате уже находится значение или исключение. Любое исключение, возбужденное копирующим или перемещающим конструктором r
.
Обращения к set_value()
, set_value_at_thread_exit()
, set_exception()
и set_exception_at_thread_exit()
сериализуются. Успешное обращение к set_value()
происходит-раньше обращения к функции std::future
или std::shared_future
, которая извлекает сохраненное значение.
STD::PROMISE::SET_VALUE_AT_THREAD_EXIT
, ФУНКЦИЯ-ЧЛЕН
Сохраняет значение в асинхронном результате, ассоциированном с *this
, но не делает этот результат готовым раньше момента завершения потока.
void promise
void promise
void promise
void promise
С *this
ассоциирован асинхронный результат.
Сохраняет r
в асинхронном результате, ассоциированном с *this
, если ResultType
— не void
. Помечает, что в асинхронном результате хранится значение. Планирует перевод ассоциированного асинхронного результата в состояние готовности в момент завершения потока.
Асинхронный результат, ассоциированный с *this
, содержит значение, но не является готовым до завершения текущего потока. Все потоки, ожидающие асинхронного результата, будут разблокированы, когда текущий поток завершится.
Исключение типа std::future_error
с кодом ошибки std::future_errc::promise_already_satisfied
, если в асинхронном результате уже находится значение или исключение. Любое исключение, возбужденное копирующим или перемещающим конструктором r
.
Обращения к set_value()
, set_value_at_thread_exit()
, set_exception()
и set_exception_at_thread_exit()
сериализуются. Успешное обращение к set_value()
происходит-раньше обращения к функции std::future
или std::shared_future
, которая извлекает сохраненное значение.
STD::PROMISE::SET_EXCEPTION
, ФУНКЦИЯ-ЧЛЕН КЛАССА
Сохраняет исключение в асинхронном результате, ассоциированном с *this
.
void set_exception(std::exception_ptr e);
С *this
ассоциирован асинхронный результат. (bool)e
равно true
.
Сохраняет e
в асинхронном результате, ассоциированном с *this
.
Асинхронный результат, ассоциированный с *this
, готов и содержит исключение. Все потоки, ожидающие асинхронного результата, разблокируются.
Исключение типа std::future_error
с кодом ошибки std::future_errc::promise_already_satisfied
, если в асинхронном результате уже находится значение или исключение.