when_all-Funktion
Erstellt eine Aufgabe, die erfolgreich abgeschlossen wird, wenn alle Aufgaben, die als Argumente angegeben werden, erfolgreich abgeschlossen werden.
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));
Parameter
_Iterator
Der Typ des Eingabeiterators._Begin
Die Position des ersten Elements im Elementebereich, in die resultierende Aufgabe kombiniert werden._End
Die Position des ersten Elements im Elementebereich hinaus in die resultierende Aufgabe kombiniert werden._CancellationToken
Das Abbruchtoken, das den Abbruch der zurückgegebenen Aufgabe steuert.Wenn Sie kein Abbruchtoken bereitgestellt wird, wird die resultierende Aufgabe mit einem Token erstellt wird, die eine Kombination aller abbrechbaren Token ist (die Token erstellt von Methoden außer cancellation_token::none() der Aufgaben angegeben.
Rückgabewert
Eine Aufgabe, die erfolgreich abgeschlossen wird, wenn alle Aufgaben Eingabe erfolgreich abgeschlossen wurden.Wenn die Eingabe Aufgaben vom Typ T sind, ist die Ausgabe dieser Funktion task<std::vector<T>>.Wenn die Eingabe Aufgaben vom Typ void sind, ist die Ausgabe aufgabe auch task<void>.
Hinweise
Wenn eine der Aufgaben abgebrochen wurde oder eine Ausnahme auslöst wird, enthält die zurückgegebene Aufgabe zu einem frühen Zeitpunkt im abgebrochenen Zustand ab. Die Ausnahme, falls encoutered, wird ausgelöst, wenn Sie get() oder wait() in dieser Aufgabe aufrufen.
Anforderungen
Header: ppltasks.h
Namespace: Parallelität