Функция 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