when_any 函数
创建将成功完成的任务,并以参数中提供的任何任务成功完成。
template<
typename _Iterator
>
auto when_any(
_Iterator_Begin,
_Iterator_End
) -> decltype (details::_WhenAnyImpl<std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(nullptr, _Begin, _End));
template<
typename _Iterator
>
auto when_any(
_Iterator_Begin,
_Iterator_End,
cancellation_token _CancellationToken
) -> decltype (details::_WhenAnyImpl<std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_CancellationToken._GetImplValue(), _Begin, _End));
参数
_Iterator
输入迭代器的类型。_Begin
第一个元素的位置在要合并的元素范围内到所生成的任务。_End
第一个元素的位置在要合并的元素范围的到所生成的任务。_CancellationToken
控件返回的任务取消的取消标记。 如果未提供一个取消标记,发生的任务将接收原因完成的该任务的取消标记。
返回值
成功完成任务,则任何一个输入任务成功完成。 如果输入任务的类型为 T,此功能输出将为 task<std::pair<T, size_t>>>,对的第一个元素是完成的任务的结果,因此,第二个元素是完成任务的索引。 如果输入任务的类型为 void 输出是 task<size_t>,则结果是完成的任务的索引。
要求
标题: ppltasks.h
命名空间: 并发