when_any-Funktion
Erstellt eine Aufgabe, die erfolgreich abgeschlossen wird, wenn eine der Aufgaben, die als Argumente angegeben werden, erfolgreich abgeschlossen wird.
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));
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, erhält die resultierende Aufgabe das Abbruchtoken Abschließen der Aufgabe, die Ursachen.
Rückgabewert
Eine Aufgabe, die erfolgreich abgeschlossen wird, wenn eine der Eingabe Aufgaben erfolgreich abgeschlossen wurde.Wenn die Eingabe Aufgaben vom Typ T sind, ist die Ausgabe dieser Funktion task<std::pair<T, size_t>>>, wobei das erste Element des Paars das Ergebnis der abschließenden Aufgabe ist, und das zweite Element der Index der Aufgabe, die beendet wurde.Wenn die Eingabe Aufgaben vom Typ void sind, ist die Ausgabe task<size_t>, in dem das Ergebnis der Index der abschließenden Aufgabe wurde.
Anforderungen
Header: ppltasks.h
Namespace: Parallelität