std::future<T>:: valid
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Getting the result | ||||
| State | ||||
|
future::valid
|
||||
|
bool
valid
(
)
const
noexcept
;
|
(C++11以降) | |
このfutureが共有状態を参照しているかどうかをチェックします。
これは、デフォルト構築されたものやムーブされたもの(つまり、 std::promise::get_future() 、 std::packaged_task::get_future() または std::async() によって返されたもの)ではないfutureに対してのみ該当し、 get() または share() が初めて呼び出されるまで有効です。
共有状態を参照していない
future
に対して、デストラクタ、ムーブ代入演算子、または
valid
以外のメンバ関数を呼び出した場合、動作は未定義です(ただし、この場合に
no_state
を示す
std::future_error
をスローするよう実装が推奨されています)。
valid()
が
false
であるfutureオブジェクトからのムーブは有効です。
目次 |
、
、
パラメータ
(なし)
戻り値
true が * this が共有状態を参照している場合、それ以外の場合は false を返す。
例
#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'; }
出力:
true true false
関連項目
|
結果が利用可能になるまで待機する
(公開メンバ関数) |