共用方式為


when_any 函式 (C++ REST SDK)

建立工作,這個工作會在當做引數提供的所有工作都順利完成時,順利完成。

警告

本主題包含 C++ REST SDK 1.0 (Codename "Casablanca") 的資訊。如果使用 Codeplex Casablanca 網頁上的較新版本,則請使用 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 命名空間

概念

工作平行處理原則 (並行執行階段)