when_all, fonction
Crée une tâche qui ne se termine correctement lorsque toutes les tâches fournies comme arguments s'achèvent correctement.
template <
typename _Iterator
>
auto when_all(
_Iterator_Begin,
_Iterator_End
) -> decltype (details::_WhenAllImpl<std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(nullptr, _Begin, _End));
template <
typename _Iterator
>
auto when_all(
_Iterator_Begin,
_Iterator_End,
cancellation_token _CancellationToken
) -> decltype (details::_WhenAllImpl<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ésultante sera créée avec un jeton qui est une combinaison de tous les jetons annulables (jetons créés par les méthodes autres que **cancellation_token::none()**des tâches fournies.
Valeur de retour
Une tâche qui se termine correctement lorsque toutes les 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::vector<T>>.Si les tâches d'entrée sont de type void la tâche de sortie sera également task<void>.
Notes
Si l'une des tâches est annulée ou lève une exception, la tâche retournée s'achève avant, dans l'état d'annulation, et l'exception, si une encoutered, sera levée si vous appelez get() ou wait() dans cette tâche.
Configuration requise
en-tête : ppltasks.h
Accès concurrentiel del'espace de noms :