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 :