#### experimental::parallel_group::async_wait

Initiate an asynchronous wait for the group of operations.

    template<
        typename CancellationCondition,
        typename CompletionToken>
    DEDUCED async_wait(
        CancellationCondition cancellation_condition,
        CompletionToken && token);

Launches the group and asynchronously waits for completion.

###### Parameters

cancellation_condition

  A function object, called on completion of an operation within the group, that is used to determine whether to cancel the remaining operations. The function object is passed the arguments of the completed operation's handler. To trigger cancellation of the remaining operations, it must return a `cancellation_type` value other than `asio::cancellation_type::none`.

token

  A completion token whose signature is comprised of a `std::array<std::size_t, N>` indicating the completion order of the operations, followed by all operations' completion handler arguments.

The library provides the following `cancellation_condition` types:

- `experimental::wait_for_all`
- `experimental::wait_for_one`
- `experimental::wait_for_one_error`
- `experimental::wait_for_one_success`