std::future<T>:: valid
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Getting the result | ||||
| State | ||||
|
future::valid
|
||||
|
bool
valid
(
)
const
noexcept
;
|
(seit C++11) | |
Prüft, ob die Zukunft auf einen gemeinsamen Zustand verweist.
Dies gilt nur für Futures, die nicht standardmäßig konstruiert oder verschoben wurden (d.h. zurückgegeben durch std::promise::get_future() , std::packaged_task::get_future() oder std::async() ) bis zum ersten Aufruf von get() oder share() .
Das Verhalten ist undefiniert, wenn eine andere Memberfunktion als der Destruktor, der Move-Zuweisungsoperator oder
valid
auf einem
future
aufgerufen wird, der sich nicht auf einen gemeinsamen Zustand bezieht (obwohl Implementierungen dazu ermutigt werden,
std::future_error
mit dem Hinweis
no_state
in diesem Fall zu werfen). Es ist zulässig, von einem Future-Objekt zu bewegen, für das
valid()
false
ist.
Inhaltsverzeichnis |
Parameter
(keine)
Rückgabewert
true wenn * this auf einen gemeinsamen Zustand verweist, andernfalls false .
Beispiel
#include <future> #include <iostream> int main() { std::promise<void> p; std::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'; }
Ausgabe:
true true false
Siehe auch
|
wartet bis das Ergebnis verfügbar ist
(öffentliche Elementfunktion) |