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, КОНСТРУКТОР MOVE-FROM-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, ФУНКЦИЯ-ЧЛЕН