Funkcja when_all
Tworzy zadanie, które zostanie zakończona pomyślnie, gdy pomyślnego wykonania wszystkich zadań, podane jako argumenty.
template <
typename _Iterator
>
auto when_all(
_Iterator_Begin,
_Iterator_End
) -> decltype (details::_WhenAllImpl<std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(nullptr, _Begin, _End));
template <
typename _Iterator
>
auto when_all(
_Iterator_Begin,
_Iterator_End,
cancellation_token _CancellationToken
) -> decltype (details::_WhenAllImpl<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 zadanie zostanie utworzone z tokenu, który jest kombinacją cancelable tokeny (tokeny utworzone za pomocą metod innych niż **cancellation_token::none()**zadań dostarczone.
Wartość zwracana
Zadanie, które uzupełnia pomyślnie, gdy wszystkie wprowadzania zadania zostały wykonane pomyślnie.Jeśli są zadania wejściowego typu T, dane wyjściowe z tej funkcji będą task<std::vector<T>>.Jeśli są zadania wejściowego typu void zadanie dane wyjściowe będą również task<void>.
Uwagi
Jeśli jedno z zadań zostało anulowane lub zgłasza wyjątek, zwracane zadanie zakończy się wcześnie, w stanie anulowane i, jeśli jest encoutered, zostanie wywołany rozmowy get() lub wait() dla tego zadania.
Wymagania
Nagłówek: ppltasks.h
Obszar nazw: współbieżności