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


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

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

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

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

template<    typename _Iterator > auto when_any(    _Iterator_Begin,    _Iterator_End,    const task_options& _TaskOptions = task_options() ) -> decltype (details::_WhenAnyImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_TaskOptions, _Begin, _End));  template<    typename _Iterator > auto when_any(    _Iterator_Begin,    _Iterator_End,    cancellation_token _CancellationToken ) -> decltype (details::_WhenAnyImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_CancellationToken._GetImplValue(), _Begin, _End));

Параметры

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

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

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

  • _TaskOptions

  • _CancellationToken
    Токен отмены, который контролирует отмену возвращаемой задачи. Если токен отмены отсутствует, результирующая задача получит токен отмены, который используется для выполнения задачи.

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

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

Требования

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

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

См. также

Ссылки

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

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

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