Partager via


when_any, fonction

Crée une tâche qui ne se termine correctement lorsque les tâches à l'aide de les fournies comme arguments d'exportation terminée.

template<
   typename _Iterator
>
auto when_any(
   _Iterator_Begin,
   _Iterator_End
) -> decltype (details::_WhenAnyImpl<std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(nullptr, _Begin, _End));

template<
   typename _Iterator
>
auto when_any(
   _Iterator_Begin,
   _Iterator_End,
   cancellation_token _CancellationToken
) -> decltype (details::_WhenAnyImpl<std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_CancellationToken._GetImplValue(), _Begin, _End));

Paramètres

  • _Iterator
    Type de l'itérateur d'entrée.

  • _Begin
    La position du premier élément de la plage des éléments à combiner dans la tâche résultant.

  • _End
    La position du premier élément au delà de la plage d'éléments à combiner dans la tâche résultant.

  • _CancellationToken
    Le jeton d'annulation qui contrôle l'annulation de la tâche retournée.Si vous ne fournissez pas de jeton d'annulation, la tâche résultant recevra le jeton d'annulation de la tâche qui entraîne il soit terminée.

Valeur de retour

Une tâche qui se termine correctement lorsque l'une des tâches d'entrée ne sont pas terminées avec succès.Si les tâches d'entrée sont de type T, la sortie de cette fonctionnalité est task<std::pair<T, size_t>>>, où le premier élément de la paire est le résultat de la tâche se achevante, et le deuxième élément est l'index de la tâche qui a terminé.Si les tâches d'entrée sont de type void la sortie est task<size_t>, où le résultat est l'index de la tâche se achevante.

Configuration requise

en-tête : ppltasks.h

Accès concurrentiel del'espace de noms :

Voir aussi

Référence

concurrency, espace de noms

Concepts

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