<future>
別の関数を実行できるスレッドと結果の取得を簡略化するサポートのテンプレートとテンプレート クラスを定義する標準ヘッダー <future> を含めます。結果は、関数または関数で出力されるが、などの関数で例外によって返される値。
このヘッダーは ConcRT のそのほかの機構とともに使用できるように同時実行ランタイムの (ConcRT) を使用します。ConcRT に関する詳細については、同時実行ランタイムを参照してください。
#include <future>
解説
[!メモ]
/clr か /clr:pureを使用してコンパイルされたコードでは、このヘッダーはブロックされます。
非同期のプロバイダーは、関数呼び出しの結果を格納します。非同期の戻り値オブジェクトを 関数呼び出しの結果を取得するために使用されます。関連する非同期状態は、非同期プロバイダーと一つ以上の非同期戻り値のオブジェクト間の通信を提供します。
プログラムは直接関連の非同期な状態オブジェクトを作成しません。プログラムはプロバイダーに関連付けられた非同期状態を共有すると 1 を必要とする、非同期の戻り値からオブジェクトを作成するときに、非同期プロバイダーを作成します。非同期プロバイダーおよび非同期のオブジェクトを返す、非同期の関連は、共有状態を保持するオブジェクトを管理します。参照は、関連付けられた非同期状態で解放する最後のオブジェクトが、関連の非同期状態を保持するオブジェクトが破棄されるとき。
非同期プロバイダーまたは関連する非同期状態が、非同期な戻り値のオブジェクトは 空です。
関連する非同期状態は、非同期プロバイダーが戻り値を格納したか、例外を格納した場合にのみ 準備が できました。
このテンプレート関数 async およびテンプレート クラス promise と packaged_task は、非同期プロバイダーです。テンプレート クラス future と shared_future は、非同期の戻り値オブジェクトを表します。
テンプレートは、promise、futureを並べ替え、shared_future に参照渡しで型 void の特殊化と値を格納および取得するための部分的特殊化があります。これらの特化が戻り値を格納および取得する関数の定義とセマンティクスのみのプライマリ テンプレートとは異なります。
メンバー
Classes
名前 |
説明 |
---|---|
非同期戻り値オブジェクトを表します。 |
|
future のオブジェクトを管理する型のメソッドによってスローされる例外オブジェクトを表します。 |
|
呼び出しラッパーであり、呼び出しの定義が Ty(ArgTypes...)である非同期プロバイダーを記述します。その関連する非同期状態は予測結果に加えて呼び出し可能オブジェクトのコピーを保持します。 |
|
非同期プロバイダーを記述します。 |
|
非同期戻り値オブジェクトを表します。future のオブジェクトに対する、非同期 shared_future のプロバイダーは任意の数のオブジェクトに関連付けることができます。 |
構造体
名前 |
説明 |
---|---|
future_errc は error_codeを格納するのに適していることを示す特化したクラスです。 |
|
常に当てはまる特殊化。 |
関数
名前 |
説明 |
---|---|
非同期プロバイダーを表します。 |
|
future のオブジェクトに関連付けられたエラーを付ける機能 error_category のオブジェクトへの参照を返します。 |
|
error_code を作成します future のエラーを付ける機能 error_category のオブジェクト)。 |
|
error_condition を作成します future のエラーを付ける機能 error_category のオブジェクト)。 |
|
別の promise、との 1 種類のオブジェクトの関連する非同期状態を交換します。 |
列挙型
名前 |
説明 |
---|---|
future_error のクラスによって報告されるエラーのシンボル名を指定します。 |
|
一定待機している関数が戻ることができる理由のシンボル名を指定します。 |
|
このテンプレート関数 asyncで使用できるモードを表すビットマスク型を表します。 |