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