Partager via


when_any, fonction (C++ REST SDK)

Crée une tâche qui s'effectue quand l'une des tâches fournies en tant qu'arguments s'effectue.

Avertissement

Cette rubrique contient des informations pour le Kit de développement logiciel (SDK) C++ REST 1.0 (nom de code « Casablanca »).Si vous utilisez une version plus récente provenant de la page web Codeplex Casablanca, consultez la documentation locale qui se trouve à l'adresse http://casablanca.codeplex.com/documentation.

template<    typename _Iterator > auto when_any(    _Iterator_Begin,    _Iterator_End,    const task_options& _TaskOptions = task_options() ) -> decltype (details::_WhenAnyImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_TaskOptions, _Begin, _End));  template<    typename _Iterator > auto when_any(    _Iterator_Begin,    _Iterator_End,    cancellation_token _CancellationToken ) -> decltype (details::_WhenAnyImpl<typename 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
    Position du premier élément dans la plage d'éléments à combiner dans la tâche obtenue.

  • _End
    Position du premier élément au-delà de la plage d'éléments à combiner dans la tâche obtenue.

  • _TaskOptions

  • _CancellationToken
    Jeton d'annulation contrôlant l'annulation de la tâche retournée. Si vous ne fournissez pas de jeton d'annulation, la tâche qui en résulte recevra le jeton d'annulation de la tâche entraînant sa fin.

Valeur de retour

Tâche qui s'effectue quand l'une des deux tâches d'entrée s'est correctement déroulée. Si les tâches d'entrée sont de type T, la sortie de cette fonction est une task<std::pair<T, size_t>>>, où le premier élément de la paire est le résultat de la fin de la tâche et le deuxième élément est l'index de la tâche terminée. Si les tâches d'entrée sont de type void, la sortie est une task<size_t>, où le résultat est l'index de fin de la tâche.

Configuration requise

En-tête : pplxtasks.h

Espace de noms : pplx

Voir aussi

Référence

pplx, espace de noms

Concepts

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