# 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