Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Class request

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

Synopsis

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


class request {
public:
  // member classes/structs/unions

  class handler {
  public:
    // construct/copy/destruct
    ~();

    // public member functions
    status () = ;
    status > () = ;
     () = ;
     () ;
     () = ;
  };
  template<typename T, typename A> 
  class legacy_dynamic_primitive_array_handler {
  };
  template<typename T> 
  class legacy_serialized_array_handler {
  };
  template<typename T> 
  class legacy_serialized_handler {
  };
  // construct/copy/destruct
  ();
  (handler *);

  // public member functions
  status ();
  status > ();
   ();
   ();
   () ;
   ();

  // public static functions
  template<typename T> 
    request 
    (communicator , , , );
  template<typename T> 
    request 
    (communicator , , , , );
  request 
  (communicator , , , , );
  request 
  (communicator , , , );
  request (communicator , , );
  template<typename T> 
    request (communicator , , , );
  template<typename T> 
    request (communicator , , , , );
  request 
  (communicator , , , );
  request (communicator , , );
  request ();
  template<typename T> 
    request (communicator , , , );
  template<typename T> 
    request 
    (communicator , , , , );
  template<typename T, typename A> 
    request 
    (communicator , , , 
                                      );
  template<typename T, typename A> 
    request 
    (communicator , , , 
                                      );
};

Description

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. ();

    Constructs a NULL request.

  2. (handler * h);

request public member functions

  1. status ();

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

  2. status > ();

    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.  ();

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

  4.  ();

    The trivial MPI requet implenting this request, provided it's trivial. Probably irrelevant to most users.

  5.  () ;

    Is this request potentialy pending ?

  6.  ( d);

request public static functions

  1. template<typename T> 
      request 
      (communicator  comm,  dest,  tag, 
                         value);

    Send a known number of primitive objects in one MPI request.

  2. template<typename T> 
      request 
      (communicator  comm,  dest,  tag, 
                         values,  n);
  3. request 
    (communicator  comm,  dest,  tag, 
                      values,  n);
  4. request 
    (communicator  comm,  dest,  tag, 
                      tp);
  5. request (communicator  comm,  dest,  tag);
  6. template<typename T> 
      request 
      (communicator  comm,  dest,  tag,  value);

    Receive a known number of primitive objects in one MPI request.

  7. template<typename T> 
      request 
      (communicator  comm,  dest,  tag,  values, 
                         n);
  8. request 
    (communicator  comm,  dest,  tag, 
                      tp);
  9. request (communicator  comm,  dest,  tag);
  10. request ();

    Construct request for simple data of unknown size.

  11. template<typename T> 
      request 
      (communicator  comm,  source,  tag,  value);

    Constructs request for serialized data.

  12. template<typename T> 
      request 
      (communicator  comm,  source,  tag, 
                             values,  n);

    Constructs request for array of complex data.

  13. template<typename T, typename A> 
      request 
      (communicator  comm,  source, 
                                         tag,  values);

    Request to recv array of primitive data.

  14. template<typename T, typename A> 
      request 
      (communicator  comm,  source, 
                                         tag, 
                                         values);

    Request to send array of primitive data.


PrevUpHomeNext