std::shared_future<T>:: valid
From ja.cppreference.net
<
cpp
|
thread
|
shared future
C++
Concurrency support library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::shared_future
| Member functions | ||||
| Getting the result | ||||
| State | ||||
|
shared_future::valid
|
||||
|
bool
valid
(
)
const
noexcept
;
|
(C++11以降) | |
このfutureが共有状態を参照しているかどうかをチェックします。
これは、デフォルト構築されたものやムーブされたものではないfutureの場合のみです。
std::future
とは異なり、
std::shared_future
では、
get()
が呼び出されても共有状態は無効化されません。
共有状態を参照していないshared_futureに対して、デストラクタ、コピー代入演算子、ムーブ代入演算子、またはvalid以外のメンバ関数を呼び出した場合、動作は未定義である(ただし、この場合にno_stateを示すstd::future_errorをスローするよう実装が推奨される)。valid()がfalseであるshared_futureオブジェクトからのムーブまたはコピーは有効である。
目次 |
パラメータ
(なし)
戻り値
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
関連項目
|
結果が利用可能になるまで待機する
(公開メンバ関数) |