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
では、
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
関連項目
|
結果が利用可能になるまで待機する
(公開メンバ関数) |