2.4 C++ Bindings for Point-to-Point Communication

Except where specifically noted, all non-static member functions in this annex are virtual. For brevity, the keyword virtual is omitted.

namespace MPI {
7em=1 void Comm::Send(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 void Comm::Recv(void* buf, int count, const Datatype& datatype, int source, int tag, Status& status) const



7em=1 void Comm::Recv(void* buf, int count, const Datatype& datatype, int source, int tag) const



7em=1 int Status::Get_count(const Datatype& datatype) const



7em=1 void Comm::Bsend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 void Comm::Ssend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 void Comm::Rsend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 void Attach_buffer(void* buffer, int size)



7em=1 int Detach_buffer(void*& buffer)



7em=1 Request Comm::Isend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 Request Comm::Ibsend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 Request Comm::Issend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 Request Comm::Irsend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 Request Comm::Irecv(void* buf, int count, const Datatype& datatype, int source, int tag) const



7em=1 void Request::Wait(Status& status)



7em=1 void Request::Wait()



7em=1 bool Request::Test(Status& status)



7em=1 bool Request::Test()



7em=1 void Request::Free()



7em=1 static int Request::Waitany(int count, Request array_of_requests[], Status& status)



7em=1 static int Request::Waitany(int count, Request array_of_requests[])



7em=1 static bool Request::Testany(int count, Request array_of_requests[], int& index, Status& status)



7em=1 static bool Request::Testany(int count, Request array_of_requests[], int& index)



7em=1 static void Request::Waitall(int count, Request array_of_requests[], Status array_of_statuses[])



7em=1 static void Request::Waitall(int count, Request array_of_requests[])



7em=1 static bool Request::Testall(int count, Request array_of_requests[], Status array_of_statuses[])



7em=1 static bool Request::Testall(int count, Request array_of_requests[])



7em=1 static int Request::Waitsome(int incount, Request array_of_requests[], int array_of_indices[], Status array_of_statuses[])



7em=1 static int Request::Waitsome(int incount, Request array_of_requests[], int array_of_indices[])



7em=1 static int Request::Testsome(int incount, Request array_of_requests[], int array_of_indices[], Status array_of_statuses[])



7em=1 static int Request::Testsome(int incount, Request array_of_requests[], int array_of_indices[])



7em=1 bool Comm::Iprobe(int source, int tag, Status& status) const



7em=1 bool Comm::Iprobe(int source, int tag) const



7em=1 void Comm::Probe(int source, int tag, Status& status) const



7em=1 void Comm::Probe(int source, int tag) const



7em=1 void Request::Cancel() const



7em=1 bool Status::Is_cancelled() const



7em=1 Prequest Comm::Send_init(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 Prequest Comm::Bsend_init(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 Prequest Comm::Ssend_init(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 Prequest Comm::Rsend_init(const void* buf, int count, const Datatype& datatype, int dest, int tag) const



7em=1 Prequest Comm::Recv_init(void* buf, int count, const Datatype& datatype, int source, int tag) const



7em=1 void Prequest::Start()



7em=1 static void Prequest::Startall(int count, Prequest array_of_requests[])



7em=1 void Comm::Sendrecv(const void *sendbuf, int sendcount, const Datatype& sendtype, int dest, int sendtag, void *recvbuf, int recvcount, const Datatype& recvtype, int source, int recvtag, Status& status) const



7em=1 void Comm::Sendrecv(const void *sendbuf, int sendcount, const Datatype& sendtype, int dest, int sendtag, void *recvbuf, int recvcount, const Datatype& recvtype, int source, int recvtag) const



7em=1 void Comm::Sendrecv_replace(void* buf, int count, const Datatype& datatype, int dest, int sendtag, int source, int recvtag, Status& status) const



7em=1 void Comm::Sendrecv_replace(void* buf, int count, const Datatype& datatype, int dest, int sendtag, int source, int recvtag) const



7em=1 Datatype Datatype::Create_contiguous(int count) const



7em=1 Datatype Datatype::Create_vector(int count, int blocklength, int stride) const



7em=1 Datatype Datatype::Create_indexed(int count, const int array_of_blocklengths[], const int array_of_displacements[]) const



7em=1 int Datatype::Get_size() const



7em=1 void Datatype::Commit()



7em=1 void Datatype::Free()



7em=1 int Status::Get_elements(const Datatype& datatype) const



7em=1 void Datatype::Pack(const void* inbuf, int incount, void *outbuf, int outsize, int& position, const Comm &comm) const



7em=1 void Datatype::Unpack(const void* inbuf, int insize, void *outbuf, int outcount, int& position, const Comm& comm) const



7em=1 int Datatype::Pack_size(int incount, const Comm& comm) const



};

MPI-Standard for MARMOT