when_all-Funktion
Erstellt eine Aufgabe, die erfolgreich abgeschlossen wird, wenn alle als Argumente angegeben Aufgaben erfolgreich abgeschlossen werden.
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));
Parameter
_Iterator
Der Typ des Eingabeiterators._Begin
Die Position des ersten Elements in dem Bereich von Elementen, die mit der resultierenden Aufgabe kombiniert werden sollen._End
Die Position des ersten Elements hinter dem Bereich von Elementen, die mit der resultierenden Aufgabe kombiniert werden sollen._TaskOptions
Rückgabewert
Eine Aufgabe, die erfolgreich abgeschlossen ist, wenn alle Eingabeaufgaben erfolgreich abgeschlossen wurden. Wenn die Eingabeaufgaben vom Typ T sind, wird die Ausgabe dieser Funktion task<std::vector<T>> sein. Wenn die Eingabeaufgaben vom Typ void sind, ist die Ausgabeaufgabe auch task<void>.
Hinweise
when_all ist eine nicht blockierende Funktion, die task als Ergebnis erzeugt. Anders als bei task::wait ist es sicher, diese Funktion in einer Windows Store-App auf dem ASTA-(Application STA-)Thread aufzurufen.
Wenn eine der Aufgaben abgebrochen wird oder eine Ausnahme auslöst, wird die zurückgegebene Aufgabe früh im abgebrochenen Zustand abgeschlossen, und die Ausnahme, sofern sie auftritt, wird ausgelöst, wenn Sie task::get oder task::wait für diese Aufgabe aufrufen.
Weitere Informationen finden Sie unter Aufgabenparallelität (Concurrency Runtime).
Anforderungen
Header: ppltasks.h
Namespace: Parallelität