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