Partager via


create_task, fonction

Crée un objet task PPL. create_task peut être utilisé partout où vous auriez utilisé un constructeur de tâche. Il est principalement fourni pour des raisons de commodité, car il permet d'utiliser le mot clé auto tout en créant des tâches.

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);

Paramètres

  • _Ty
    Type du paramètre à partir duquel la tâche doit être construite.

  • _ReturnType

  • _Param
    Paramètre à partir duquel la tâche doit être construite. Il peut s'agir d'un objet lambda ou fonction, d'un objet task_completion_event, d'un objet task différent ou d'une interface Windows::Foundation::IAsyncInfo si vous utilisez des tâches dans votre application Windows Store.

  • _TaskOptions

  • _Task

Valeur de retour

Nouvelle tâche de type T, qui est induite de _Param.

Notes

La première surcharge se comporte comme un constructeur de tâche qui accepte un paramètre unique.

La seconde surcharge associe le jeton d'annulation fourni avec la tâche nouvellement créée. Si vous utilisez cette surcharge, vous n'êtes pas autorisé à passer un autre objet task comme le premier paramètre.

Le type de la tâche retournée est déduit du premier paramètre de la fonction. Si _Param est un task_completion_event<T>, un task<T> ou un functor qui retourne le type T ou task<T>, le type de la tâche créée est task<T>.

Dans une application Windows Store, si _Param est de type Windows::Foundation::IAsyncOperation<T>^ou Windows::Foundation::IAsyncOperationWithProgress<T,P>^, ou un functor qui retourne l'un de ces types, la tâche créée sera de type task<T>. Si _Param est de type Windows::Foundation::IAsyncAction^ ou Windows::Foundation::IAsyncActionWithProgress<P>^, ou un functor qui retourne l'un de ces types, la tâche créée a le type task<void>.

Configuration requise

En-tête : ppltasks.h

Espace de noms : concurrency

Voir aussi

Référence

concurrency, espace de noms

task, classe

Concepts

Parallélisme des tâches (runtime d'accès concurrentiel)