Besides the member functions which constitute the C++ language bindings for MPI-/, the C++ language interface has additional functions (as required by the C++ language). In particular, the C++ language interface must provide a constructor and destructor, an assignment operator, and comparison operators.
The complete set of C++ language bindings for MPI-/ is presented in Annex B. The bindings take advantage of some important C++ features, such as references and const. Declarations (which apply to all MPI member classes) for construction, destruction, copying, assignment, comparison, and mixed-language operability are also provided. To maintain consistency with what has gone before, the binding definitions are given in the same order as given for the C bindings in [6].
Except where indicated, all non-static member functions (except for constructors and the assignment operator) of MPI member classes are virtual functions.
class foo_comm : public MPI::Intracomm { public: void Send(void* buf, int count, const MPI::Datatype& type, int dest, int tag) const { // Class library functionality MPI::Intracomm::Send(buf, count, type, dest, tag); // More class library functionality } };
MPI-Standard for MARMOT