13.4. C++ Bindings for Point-to-Point Communication


Up: MPI-1 C++ Language Binding Next: C++ Bindings for Collective Communication Previous: Typedefs

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


namespace MPI { 
void Comm::Send(const void* buf, int count, const Datatype& datatype, int dest, int tag) const
void Comm::Recv(void* buf, int count, const Datatype& datatype, int source, int tag, Status& status) const
void Comm::Recv(void* buf, int count, const Datatype& datatype, int source, int tag) const
int Status::Get_count(const Datatype& datatype) const
void Comm::Bsend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const
void Comm::Ssend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const
void Comm::Rsend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const

void Attach_buffer(void* buffer, int size)
int Detach_buffer(void*& buffer)

Request Comm::Isend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const
Request Comm::Ibsend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const
Request Comm::Issend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const
Request Comm::Irsend(const void* buf, int count, const Datatype& datatype, int dest, int tag) const
Request Comm::Irecv(void* buf, int count, const Datatype& datatype, int source, int tag) const

void Request::Wait(Status& status)
void Request::Wait()
bool Request::Test(Status& status)
bool Request::Test()
void Request::Free()
static int Request::Waitany(int count, Request array_of_requests[], Status& status)
static int Request::Waitany(int count, Request array_of_requests[])
static bool Request::Testany(int count, Request array_of_requests[], int& index, Status& status)
static bool Request::Testany(int count, Request array_of_requests[], int& index)
static void Request::Waitall(int count, Request array_of_requests[], Status array_of_statuses[])
static void Request::Waitall(int count, Request array_of_requests[])
static bool Request::Testall(int count, Request array_of_requests[], Status array_of_statuses[])
static bool Request::Testall(int count, Request array_of_requests[])
static int Request::Waitsome(int incount, Request array_of_requests[], int array_of_indices[], Status array_of_statuses[])
static int Request::Waitsome(int incount, Request array_of_requests[], int array_of_indices[])
static int Request::Testsome(int incount, Request array_of_requests[], int array_of_indices[], Status array_of_statuses[])
static int Request::Testsome(int incount, Request array_of_requests[], int array_of_indices[])

bool Comm::Iprobe(int source, int tag, Status& status) const
bool Comm::Iprobe(int source, int tag) const
void Comm::Probe(int source, int tag, Status& status) const
void Comm::Probe(int source, int tag) const

void Request::Cancel() const
bool Status::Is_cancelled() const

Prequest Comm::Send_init(const void* buf, int count, const Datatype& datatype, int dest, int tag) const
Prequest Comm::Bsend_init(const void* buf, int count, const Datatype& datatype, int dest, int tag) const
Prequest Comm::Ssend_init(const void* buf, int count, const Datatype& datatype, int dest, int tag) const
Prequest Comm::Rsend_init(const void* buf, int count, const Datatype& datatype, int dest, int tag) const
Prequest Comm::Recv_init(void* buf, int count, const Datatype& datatype, int source, int tag) const
void Prequest::Start()
static void Prequest::Startall(int count, Prequest array_of_requests[])

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
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
void Comm::Sendrecv_replace(void* buf, int count, const Datatype& datatype, int dest, int sendtag, int source, int recvtag, Status& status) const
void Comm::Sendrecv_replace(void* buf, int count, const Datatype& datatype, int dest, int sendtag, int source, int recvtag) const

Datatype Datatype::Create_contiguous(int count) const
Datatype Datatype::Create_vector(int count, int blocklength, int stride) const

Datatype Datatype::Create_indexed(int count, const int array_of_blocklengths[], const int array_of_displacements[]) const

int Datatype::Get_size() const

void Datatype::Commit()
void Datatype::Free()
int Status::Get_elements(const Datatype& datatype) const
void Datatype::Pack(const void* inbuf, int incount, void *outbuf, int outsize, int& position, const Comm &comm) const
void Datatype::Unpack(const void* inbuf, int insize, void *outbuf, int outcount, int& position, const Comm& comm) const
int Datatype::Pack_size(int incount, const Comm& comm) const

}; 



Up: MPI-1 C++ Language Binding Next: C++ Bindings for Collective Communication Previous: Typedefs


Return to MPI-2 Standard Index
Return to MPI 1.1 Standard Index
Return to MPI Forum Home Page

MPI-2.0 of July 18, 1997
HTML Generated on September 10, 2001