std::shared_future<T>::get
| Основной шаблон | ||
const T& get() const; | (1) | (начиная с C++11) |
| std::shared_future<T&> специализации | ||
T& get() const; | (2) | (начиная с C++11) |
| std::shared_future<void> специализация | ||
void get() const; | (3) | (начиная с C++11) |
Функция-член get ожидает (вызывая wait()) готовности общего состояния, а затем извлекает значение, хранящееся в общем состоянии (если оно есть).
Если до вызова этой функции valid() имеет значение false, поведение не определено.
Возвращаемое значение
1) Константная ссылка на значение, хранящееся в общем состоянии. Поведение при доступе к значению через эту ссылку после уничтожения общего состояния не определено.
2) Ссылка, хранящаяся в общем состоянии в качестве значения.
3) (отсутствует)
Исключения
Если в общем состоянии, на которое ссылается объект future, было сохранено исключение (например, с помощью вызова std::promise::set_exception()), это исключение будет выброшено.
Примечания
Стандарт C++ рекомендует реализациям обнаруживать ситуацию, когда до вызова valid() имеет значение false, и выбрасывать std::future_error с условием ошибки std::future_errc::no_state.
Пример
См. также
| проверяет, имеет ли объект future общее состояние (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/thread/shared_future/get