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
輸入 Iterator 類型。_Begin
在合併成產生的工作項目範圍中第一個項目的位置。_End
合併成產生的工作項目的範圍外的第一個元素的位置。_CancellationToken
用來控制傳回工作取消取消語彙基元。 如果沒有提供取消語彙基元,產生的工作就會收到取消通知語彙基元,工具會使完成的工作。
傳回值
這種工作可順利完成當其中一種輸入工作已順利完成。 如果輸入的工作都屬於型別T,此函式的輸出會是task<std::pair<T, size_t>>>、 其中組的第一個項目是 「 完成 」 工作的結果,而第二個元素是完成任務的索引。 如果輸入的工作都屬於型別void而輸出則是task<size_t>,其中結果會是 「 完成 」 工作的索引。
需求
標頭: ppltasks.h
Namespace: 並行存取