名前空間
変種
操作

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++20)
(C++20)
フューチャー
(C++11)
(C++11)
(C++11)
 
 
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]
close