when_all, fonction
Crée une tâche qui s'effectue correctement lorsque toutes les tâches fournies comme arguments s'achèvent correctement.
template <
typename _Iterator
>
auto when_all(
_Iterator_Begin,
_Iterator_End,
const task_options& _TaskOptions = task_options()
) -> decltype (details::_WhenAllImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_TaskOptions, _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
Valeur de retour
Une tâche qui se termine correctement lorsque toutes les tâches d'entrée se terminent avec succès. Si les tâches d'entrée sont de type T, la sortie de cette fonction 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
when_all est une fonction non bloquante qui produit une task comme résultat. Contrairement à task::wait, il est possible d'appeler cette fonction dans une application Windows Store sur le thread ASTA (application STA).
Si une des tâches est annulée ou lève une exception, la tâche retournée se terminera prématurément à l'état Annulé, et l'exception, s'il y en a une, sera levée si vous appelez task::get ou task::wait pour cette tâche.
Pour plus d'informations, consultez Parallélisme des tâches (runtime d'accès concurrentiel).
Configuration requise
En-tête : ppltasks.h
Espace de noms : concurrency