| Home | Libraries | People | FAQ | More

## Function wait_all

boost::mpi::wait_all — Wait until all non-blocking requests have completed.

## Synopsis

    template<typename ForwardIterator, typename OutputIterator>
      OutputIterator
      wait_all(ForwardIterator first, ForwardIterator last, OutputIterator out);
    template<typename ForwardIterator>
      void wait_all(ForwardIterator first, ForwardIterator last);

## Description

This routine takes in a set of requests stored in the iterator range ``[first,last) and waits until all of these requests have been completed. It provides functionality equivalent to `MPI_Waitall`.

Parameters: |
`first` | The iterator that denotes the beginning of the sequence of request objects.
`last` | The iterator that denotes the end of the sequence of request objects.
`out` | If provided, an output iterator through which the status of each request will be emitted. The `status` objects are emitted in the same order as the requests are retrieved from ``[first,last).
Returns: | If an `out` parameter was provided, the value `out` after all of the `status` objects have been emitted.