std::chrono::time_point
const;
};
STD::SHARED_FUTURE
Конструирует объект std::shared_future
shared_future() noexcept;
Конструирует новый экземпляр std::shared_future
Функция valid()
false
.Нет.
STD::SHARED_FUTURE
Конструирует один объект std::shared_future
std::shared_future
, вновь сконструированному.shared_future(shared_future&& other) noexcept;
Конструирует новый экземпляр std::shared_future
Асинхронный результат, ассоциированный с объектом other
std::shared_future
. С объектом other
больше не ассоциирован никакой асинхронный результат.Нет.
STD::SHARED_FUTURE
STD::FUTURE
Конструирует объект std::shared_future
std::future
, передавая владение асинхронным результатом, ассоциированным с объектом std::future
, вновь сконструированному объекту std::shared_future
.shared_future(std::future
Конструирует новый экземпляр std::shared_future
Асинхронный результат, ассоциированный с объектом other перед вызовом конструктора, ассоциируется с вновь сконструированным объектом std::shared_future
other
больше не ассоциирован никакой асинхронный результат.Нет.
STD::SHARED_FUTURE
Конструирует один объект std::shared_future
std::shared_future
, если таковой был.shared_future(shared_future const& other);
Конструирует новый экземпляр std::shared_future
Асинхронный результат, ранее ассоциированный с объектом other
std::shared_future
, так и с объектом other
.Нет.
STD::SHARED_FUTURE
Уничтожает объект std::shared_future
~shared_future();
Уничтожает *this
std::promise
или std::packaged_task
, ассоциированного с асинхронным результатом, который ассоциирован с *this
, и это последний экземпляр std::shared_future
, ассоциированный с этим асинхронным результатом, то асинхронный результат уничтожается.Нет.
STD::SHARED_FUTURE::VALID
Проверяет, ассоциирован ли асинхронный результат с данным экземпляром std::shared_future
bool valid() const noexcept;
true
*this
ассоциирован асинхронный результат, иначе false
.Нет.
STD::SHARED_FUTURE::WAIT
Если состояние, ассоциированное с *this
std::shared_future
.void wait() const;
this->valid()
true
.Обращения из нескольких потоков к функциям get()
wait()
экземпляров std::shared_future
, разделяющих одно и то же ассоциированное состояние, сериализуются. Если ассоциированное состояние содержит отложенную функцию, то первое обращение к get()
или wait()
приводит к вызову этой функции и сохранению возвращенного ей значения или возбужденного ей исключения в асинхронном результате. Блокирует поток, пока не будет готов асинхронный результат, ассоциированный с *this
.Нет.
STD::SHARED_FUTURE::WAIT_FOR