std::experimental::when_all

Header: <experimental/future>

Create a future object that becomes ready when all of the input futures and shared_futures become ready. The behavior is undefined if any input future or shared_future is invalid.

# Declarations

template< class InputIt >
auto when_all( InputIt first, InputIt last )
-> future<std::vector<typename std::iterator_traits<InputIt>::value_type>>;

(concurrency TS)

template< class... Futures >
auto when_all( Futures&&... futures )
-> future<std::tuple<std::decay_t<Futures>...>>;

(concurrency TS)

# Return value

A future referring to the shared state created by the call. The future is always valid(), and it becomes ready when all of the input futures and shared_futures the call are ready.