名前空間
変種

std::shared_future<T>::get

提供: cppreference.com
 
 
スレッドサポートライブラリ
スレッド
(C++11)
(C++20)
(C++20)
this_thread 名前空間
(C++11)
(C++11)
(C++11)
相互排他
(C++11)
汎用ロック管理
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
条件変数
(C++11)
セマフォ
ラッチとバリア
(C++20)
(C++20)
フューチャー
(C++11)
(C++11)
(C++11)
(C++11)
 
 
<tbody> </tbody>
const T& get() const;
(1) (汎用 shared_future テンプレートのみのメンバ)
(C++11以上)
T& get() const;
(2) (shared_future<T&> テンプレート特殊化のみのメンバ)
(C++11以上)
void get() const;
(3) (shared_future<void> テンプレート特殊化のみのメンバ)
(C++11以上)

get 関数は shared_future が有効な結果を持つまで待機し、(どのテンプレートが使用されたかによって) それを取得します。 結果の待機のために実質的に wait() を呼びます。

汎用テンプレートと2つのテンプレート特殊化はそれぞれ get のいずれかのバージョンを持ちます。 3つのバージョンの get は戻り値の型が異なるだけです。

この関数を呼ぶ前に valid()false であった場合、動作は未定義です。


引数

(なし)

戻り値

1) 共有状態に格納されている値を指す const 参照。 共有状態が破棄された後は、この参照を通した値へのアクセスは未定義です。
2) 共有状態に値として格納されている参照。
3) なし。

例外

フューチャーが参照している共有状態に例外が格納されていた場合 (例えば std::promise::set_exception() の呼び出しを通して)、その例外が投げられます。

ノート

処理系は呼び出し前に valid()false であったときにそれを検出し、エラーコンディション std::future_errc::no_state を持つ std::future_error を投げることが推奨されます。

関連項目

フューチャーが共有状態を持っているかどうか調べます
(パブリックメンバ関数) [edit]