when_all (Función)
Crea una tarea completar correctamente cuando todas las tareas proporcionadas como argumentos se completan correctamente.
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));
Parámetros
_Iterator
El tipo de iterador de entrada._Begin
La posición del primer elemento del intervalo de elementos que se van a combinar en la tarea resultante._End
La posición del primer elemento más allá del intervalo de elementos que se van a combinar en la tarea resultante._CancellationToken
El token de cancelación que controla la cancelación de la tarea devuelta.Si no proporciona un token de cancelación, la tarea resultante se creará con un símbolo que es una combinación de todos los tokens cancelables (tokens creados por métodos distinto de **cancellation_token::none()**de tareas proporcionadas.
Valor devuelto
Una tarea que se completa correctamente cuando todas las tareas de entrada se hayan completado correctamente.Si las tareas de entrada son de Ttipo, el resultado de esta función se task<std::vector<T>>.Si las tareas de entrada son de void escriba la tarea de salida también se task<void>.
Comentarios
Si una de las tareas se cancela o produce una excepción, la tarea devuelta completará pronto, en el estado cancelado, y la excepción, si una encoutered, se producirá si se llama a get() o wait() en esa tarea.
Requisitos
encabezado: ppltasks.h
Simultaneidad deespacio de nombres:
Vea también
Referencia
concurrency (Espacio de nombres)