create_task 関数

PPL task オブジェクトを作成します。 create_task は、タスク コンストラクターを使用した任意の場所で使用できます。 タスクの作成中に auto キーワードが使用できるようになるため、これは参考用として用意されています。

template<
   typename _Ty
>
__declspec(
   noinline
) auto create_task(_Ty _Param, const task_options& _TaskOptions = task_options()) -> task<typename details::_TaskTypeFromParam<_Ty>::_Type>;

template<
   typename _ReturnType
>
__declspec(
   noinline
) task<_ReturnType> create_task(const task<_ReturnType>& _Task);

パラメーター

  • _Ty
    パラメーターの型。これに基づいてタスクが構築されます。

  • _ReturnType

  • _Param
    パラメーター。これに基づいてタスクが構築されます。 Windows ストア アプリでタスクを使用する場合、ラムダまたは関数オブジェクト、task_completion_event オブジェクト、別の task オブジェクト、または Windows::Foundation::IAsyncInfo インターフェイスを指定できます。

  • _TaskOptions

  • _Task

戻り値

T の新しいタスク。_Param から推論されます。

解説

最初のオーバーロードは、単一のパラメーターを受け取るタスク コンストラクターのように動作します。

2 番目のオーバーロードは、新しく作成されたタスクで指定されたキャンセル トークンを関連付けます。 このオーバーロードを使用すると、最初のパラメーターとして別の task オブジェクトを渡すことができません。

返されたタスクの種類は、関数の最初のパラメーターから推測されます。 _Param が task_completion_event<T>task<T>、または型 T か型 task<T> を返すファンクタの場合、作成されたタスクの型は task<T> です。

Windows ストア アプリでは、_Param の型が Windows::Foundation::IAsyncOperation<T>^ か Windows::Foundation::IAsyncOperationWithProgress<T,P>^ の場合、または、これがいずれかの型を返すファンクタの場合、作成されたタスクの型は task<T> になります。 _Param の型が Windows::Foundation::IAsyncAction^ か Windows::Foundation::IAsyncActionWithProgress<P>^ の場合、または、これがいずれかの型を返すファンクタの場合、作成されたタスクの型は task<void> になります。

必要条件

ヘッダー: ppltasks.h

名前空間: concurrency

参照

関連項目

concurrency 名前空間

task クラス

概念

タスクの並列化 (同時実行ランタイム)