std::future<T>::share
std::shared_future<T> share() noexcept; |
Передаёт общее состояние *this, если оно есть, объекту std::shared_future. Несколько объектов std::shared_future могут ссылаться на одно и то же общее состояние, что невозможно для std::future.
После вызова share для std::future значение valid() становится == false.
Параметры
(нет)
Возвращаемое значение
Объект std::shared_future, содержащий общее состояние, которое ранее принадлежало *this, если оно было, создаваемый так, как если бы был вызван std::shared_future<T>(std::move(*this)).
Пример
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены задним числом к ранее опубликованным стандартам C++.
| Отчёт об ошибке | Применяется к | Опубликованное поведение | Правильное поведение |
|---|---|---|---|
| LWG 2556 | C++11 |
share() требует, чтобы valid() был true | требование удалено, а noexcept сделано необязательным |
См. также
|
(C++11) | ожидает значение (на которое, возможно, ссылаются другие объекты future), устанавливаемое асинхронно (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/thread/future/share