Функция create_task
Создает объект задачи PPL. 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
Параметр, из которого будет создаваться задача. Это может быть лямбда-выражение, объект функции, объект task_completion_event или другой объект task или интерфейс Windows::Foundation::IAsyncInfo, если задачи используются в приложении Магазина Windows._TaskOptions
_Task
Возвращаемое значение
Новая задача типа T, выведенная из _Param.
Заметки
Первый перегруженный метод ведет себя как конструктор задач, который принимает один параметр.
Вторая перегруженная связывающего токена отмены, поставляемый вместе с вновь созданной задачей. При использовании этой перегрузки не допускается передача в качестве первого параметра другого объекта 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