Udostępnij za pośrednictwem


Funkcja when_any

Tworzy zadanie, które zostanie zakończona pomyślnie kiedy zadań dostarczanych jako argumenty zakończy się pomyślnie.

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));

Parametry

  • _Iterator
    Typ wejściowy iteratora.

  • _Begin
    Pozycja pierwszego elementu w zakresie elementów do połączenia w wynikowym zadania.

  • _End
    Pozycja pierwszego elementu poza zakres elementów do połączenia w wynikowym zadania.

  • _CancellationToken
    Anulowanie token, który kontroluje anulowanie zadania zwracane.Jeśli nie podasz token anulowania, wynikowy zadań otrzymają token anulowanie zadania, które powoduje jej ukończenie.

Wartość zwracana

Zadanie zostanie wykonane pomyślnie, gdy jeden z wejściowych zadań zostało pomyślnie ukończone.Jeśli wprowadzania zadań są typu T, dane wyjściowe z tej funkcji będą task<std::pair<T, size_t>>>, gdy pierwszy element pary jest wynikiem kończenie zadania i drugi element jest indeksem zakończenia zadania.Jeśli są zadania wejściowego typu void dane wyjściowe są task<size_t>, jeżeli wynik jest indeks kończenie zadania.

Wymagania

Nagłówek: ppltasks.h

Obszar nazw: współbieżności

Zobacz też

Informacje

Współbieżność obszaru nazw

Koncepcje

Zadanie równoległości (współbieżności Runtime)