Поделиться через


Функция when_all (C++ REST SDK)

Создает задачу, которая завершается успешно, если все задачи, предоставленные в качестве аргументов, завершаются успешно.

Предупреждение

В этом разделе содержатся сведения о C++ REST SDK 1.0 (кодовое название "Casablanca").Если используется более поздняя версия с веб-страницы Casablanca Codeplex, воспользуйтесь локальной документацией по адресу http://casablanca.codeplex.com/documentation.

template <    typename _Iterator > auto when_all(    _Iterator_Begin,    _Iterator_End,    const task_options& _TaskOptions = task_options() ) -> decltype (details::_WhenAllImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_TaskOptions, _Begin, _End));

Параметры

  • _Iterator
    Тип итератора ввода.

  • _Begin
    Позиция первого элемента в диапазоне элементов, которые будут объединены в результирующую задачу.

  • _End
    Позиция первого элемента за пределами диапазона элементов, которые будут объединены в результирующую задачу.

  • _TaskOptions

Возвращаемое значение

Задача, которая завершается успешно, если все входные задачи завершены успешно. Если входные задачи относятся к типу T, выводом этой функции будет task<std::vector<T>>. Если входные задачи относятся к типу void, выходная задача также будет task<void>.

Заметки

Если одна из задач отменяется или создает исключение, возвращенная задача завершится рано, в отмененном состоянии, и исключение, если таковое встречено, возникнет при вызове get() или wait() для этой задачи.

Требования

Заголовок: pplxtasks.h

Пространство имен: pplx

См. также

Ссылки

Пространство имен pplx

Основные понятия

Параллелизм задач (среда выполнения с параллелизмом)