std::shared_future<T>:: valid
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Getting the result | ||||
| State | ||||
|
shared_future::valid
|
||||
|
bool
valid
(
)
const
noexcept
;
|
(начиная с C++11) | |
Проверяет, ссылается ли future на общее состояние.
Это верно только для future, которые не были созданы по умолчанию или перемещены. В отличие от
std::future
,
std::shared_future
, общее состояние
std::shared_future
не становится недействительным при вызове
get()
.
Поведение не определено, если любой член-функции, кроме деструктора, оператора копирующего присваивания, оператора перемещающего присваивания или
valid
, вызывается на объекте
shared_future
, который не ссылается на общее состояние (хотя реализации рекомендуется генерировать
std::future_error
с указанием
no_state
в этом случае). Допустимо перемещать или копировать из объекта shared_future, для которого
valid()
возвращает
false
.
Содержание |
Параметры
(нет)
Возвращаемое значение
true если * this ссылается на разделяемое состояние, иначе false .
Пример
#include <future> #include <iostream> int main() { std::promise<void> p; std::shared_future<void> f = p.get_future(); std::cout << std::boolalpha; std::cout << f.valid() << '\n'; p.set_value(); std::cout << f.valid() << '\n'; f.get(); std::cout << f.valid() << '\n'; }
Вывод:
true true true
Смотрите также
|
ожидает, пока результат станет доступным
(публичная функция-член) |