Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

Class request

boost::mpi::request — A request for a non-blocking send or receive.


// In header: <boost/mpi/request.hpp>

class request {
  // construct/copy/destruct

  // public member functions
  status wait();
  optional< status > test();
  void cancel();


This structure contains information about a non-blocking send or receive and will be returned from isend or irecv, respectively.

request public construct/copy/destruct

  1. request();

    Constructs a NULL request.

request public member functions

  1. status wait();

    Wait until the communication associated with this request has completed, then return a status object describing the communication.

  2. optional< status > test();

    Determine whether the communication associated with this request has completed successfully. If so, returns the status object describing the communication. Otherwise, returns an empty optional<> to indicate that the communication has not completed yet. Note that once test() returns a status object, the request has completed and wait() should not be called.

  3. void cancel();

    Cancel a pending communication, assuming it has not already been completed.