共用方式為


when_all 函式 (C++ REST SDK)

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

警告

本主題包含 C++ REST SDK 1.0 (Codename "Casablanca") 的資訊。如果使用 Codeplex Casablanca 網頁上的較新版本,則請使用 http://casablanca.codeplex.com/documentation 上的本機文件。

template <    typename _Iterator > auto when_all(    _Iterator_Begin,    _Iterator_End,    const task_options& _TaskOptions = task_options() ) -> decltype (details::_WhenAllImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_TaskOptions, _Begin, _End));

參數

  • _Iterator
    輸入迭代器的類型。

  • _Begin
    合併至所產生工作之項目範圍內的第一個項目位置。

  • _End
    合併至所產生工作之項目範圍外的第一個項目位置。

  • _TaskOptions

傳回值

在所有輸入工作都順利完成時會成功完成的工作。 如果輸入工作屬於類型 T,此函式的輸出將會是 task<std::vector<T>>。 如果輸入工作屬於類型 void,則輸出工作也會是 task<void>

備註

如果其中一個工作取消或擲回例外狀況,則傳回的工作會在已取消狀態中提早完成,而且例外狀況 (如果有發生) 會在您呼叫該工作上的 get()wait() 時擲回。

需求

**標頭:**pplxtasks.h

**命名空間:**pplx

請參閱

參考

pplx 命名空間

概念

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