completion_future クラス
C ++. AMP の非同期操作に対応するフューチャを表します。
構文
class completion_future;
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
completion_future コンストラクター | completion_future クラスの新しいインスタンスを初期化します。 |
~completion_future デストラクター | completion_future オブジェクトを破棄します。 |
パブリック メソッド
名前 | 説明 |
---|---|
get | 関連する非同期操作が完了するまで待機します。 |
then | 関連する非同期操作の実行が終了するときに、実行される completion_future オブジェクトにコールバック関数オブジェクトを継承します。 |
to_task | 関連する非同期操作に対応する task オブジェクトを返します。 |
valid | オブジェクトが非同期操作に関連するかどうかを示すブール値を取得します。 |
待機 | 関連する非同期操作が完了するまでブロックします。 |
wait_for | 関連する非同期操作が完了するまで、または _Rel_time で指定された時間が経過するまで、ブロックします。 |
wait_until | 関連する非同期操作が完了するまで、または現在の時間が _Abs_time によって指定された値を超過するまで、ブロックします。 |
パブリック演算子
名前 | 説明 |
---|---|
演算子 std::shared_future<void> | completion_future オブジェクトを std::shared_future オブジェクトに暗黙的に変換します。 |
operator= | 指定された completion_future オブジェクトの内容をこのオブジェクトにコピーします。 |
継承階層
completion_future
要件
ヘッダー: amprt.h
名前空間: concurrency
completion_future
completion_future
クラスの新しいインスタンスを初期化します。
構文
completion_future();
completion_future(
const completion_future& _Other );
completion_future(
completion_future&& _Other );
パラメーター
_Other
コピーまたは移動する completion_future
オブジェクト。
オーバーロードの一覧
名前 | 説明 |
---|---|
completion_future(); |
completion_future クラスの新しいインスタンスを初期化します |
completion_future(const completion_future& _Other); |
コンストラクターをコピーして、completion_future クラスの新しいインスタンスを初期化します。 |
completion_future(completion_future&& _Other); |
コンストラクターを移動して、completion_future クラスの新しいインスタンスを初期化します。 |
get
関連する非同期操作が完了するまで待機します。 非同期操作中に例外が検出された場合は、格納されている例外をスローします。
構文
void get() const;
演算子 std::shared_future<void>
completion_future
オブジェクトを std::shared_future
オブジェクトに暗黙的に変換します。
構文
operator std::shared_future<void>() const;
戻り値
std::shared_future
オブジェクト。
operator=
指定された completion_future
オブジェクトの内容をこのオブジェクトにコピーします。
構文
completion_future& operator= (const completion_future& _Other );
completion_future& operator= (completion_future&& _Other );
パラメーター
_Other
コピー元のオブジェクト。
戻り値
この completion_future
オブジェクトへの参照。
オーバーロードの一覧
名前 | 説明 |
---|---|
completion_future& operator=(const completion_future& _Other); |
詳細コピーを使用して、指定された completion_future オブジェクトの内容をこのオブジェクトにコピーします。 |
completion_future& operator=(completion_future&& _Other); |
移動代入を使用して、指定された completion_future オブジェクトの内容をこのオブジェクトにコピーします。 |
と
関連する非同期操作の実行が終了するときに、実行される completion_future
オブジェクトにコールバック関数オブジェクトを継承します。
構文
template <typename _Functor>
void then(const _Functor & _Func ) const;
パラメーター
_Functor
コールバック ファンクター。
_Func
コールバック関数オブジェクト。
to_task
関連する非同期操作に対応する task
オブジェクトを返します。
構文
concurrency::task<void> to_task() const;
戻り値
関連する非同期操作に対応する task
オブジェクト。
有効
オブジェクトが非同期操作に関連するかどうかを示すブール値を取得します。
構文
bool valid() const;
戻り値
オブジェクトが非同期操作に関連付けられている場合は true
、それ以外の場合は false
。
wait
関連する非同期操作が完了するまでブロックします。
構文
void wait() const;
wait_for
関連する非同期操作が完了するまで、または _Rel_time
で指定された時間が経過するまで、ブロックします。
構文
template <
class _Rep,
class _Period
>
std::future_status::future_status wait_for(
const std::chrono::duration< _Rep, _Period>& _Rel_time ) const;
パラメーター
_Rep
タイマー刻みの数を表す演算型。
_Period
タイマー刻みごとに経過する秒数を表す std::ratio。
_Rel_time
操作が完了するまでの最大待機時間。
戻り値
戻り値:
関連する非同期操作が実行されていない場合、
std::future_status::deferred
。関連する非同期操作が終了した場合、
std::future_status::ready
。指定した期間が経過した場合、
std::future_status::timeout
。
wait_until
関連する非同期操作が完了するまで、または現在の時間が _Abs_time
によって指定された値を超過するまで、ブロックします。
構文
template <
class _Clock,
class _Duration
>
std::future_status::future_status wait_until(
const std::chrono::time_point< _Clock, _Duration>& _Abs_time ) const;
パラメーター
_Clock
このタイム ポイントが測定されたクロック。
_Duration
_Clock
のエポックが開始されてからの時間間隔。その後、関数はタイムアウトします。
_Abs_time
その後で関数がタイムアウトする時点。
戻り値
戻り値:
関連する非同期操作が実行されていない場合、
std::future_status::deferred
。関連する非同期操作が終了した場合、
std::future_status::ready
。指定された期間が経過した場合、
std::future_status::timeout
。
~completion_future
completion_future
オブジェクトを破棄します。
構文
~completion_future();