Freigeben über


when_any-Funktion (C++-REST-SDK)

Erstellt eine Aufgabe, die erfolgreich abgeschlossen wird, wenn eine der als Argumente angegeben Aufgaben erfolgreich abgeschlossen wird.

Warnung

Dieses Thema enthält Informationen für das C++ REST SDK 1.0 (Codename "Casablanca").Wenn Sie eine neuere Version von der Webseite "Codeplex Casablanca" verwenden, dann verwenden Sie die lokale Dokumentation unter http://casablanca.codeplex.com/documentation.

template<    typename _Iterator > auto when_any(    _Iterator_Begin,    _Iterator_End,    const task_options& _TaskOptions = task_options() ) -> decltype (details::_WhenAnyImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_TaskOptions, _Begin, _End));  template<    typename _Iterator > auto when_any(    _Iterator_Begin,    _Iterator_End,    cancellation_token _CancellationToken ) -> decltype (details::_WhenAnyImpl<typename 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 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

  • _CancellationToken
    Das Abbruchtoken, das den Abbruch der zurückgegebenen Aufgabe steuert. Wenn Sie kein Abbruchtoken bereitstellen, erhält die resultierende Aufgabe das Abbruchtoken der Aufgabe, die ihren Abschluss verursacht.

Rückgabewert

Eine Aufgabe, die erfolgreich abgeschlossen ist, wenn eine der Eingabeaufgaben erfolgreich abgeschlossen wurde. Wenn die Eingabeaufgaben vom Typ T sind, ist die Ausgabe dieser Funktion task<std::pair<T, size_t>>>, wobei das erste Element des Paares das Ergebnis der letzten Aufgabe ist, und das zweite Element der Index der beendeten Aufgabe. Wenn die Eingabeaufgaben vom Typ void sind, ist die Ausgabe task<size_t>, wobei das Ergebnis der Index der abgeschlossenen Aufgabe ist.

Anforderungen

Header: pplxtasks.h

Namespace: pplx

Siehe auch

Referenz

pplx-Namespace

Konzepte

Aufgabenparallelität (Concurrency Runtime)