10.1.2 Design
The C++ language interface for MPI-/ is designed according to the
following criteria:
- The C++ language interface consists of a small set of classes
with a lightweight functional interface to MPI-/. The classes are
based upon the fundamental MPI-/ object types (e.g., communicator,
group, etc.).
- The MPI-/ C++ language bindings provide a semantically correct
interface to MPI-/.
- To the greatest extent possible, the C++ bindings for MPI-/
functions are member functions of MPI-/ classes.
-
- Rationale.
Providing a lightweight set of MPI-/ objects that correspond to the
basic MPI-/ types is the best fit to MPI-/'s implicit object-based
design; methods can be supplied for these objects to realize MPI-/
functionality. The existing C bindings can be used in C++ programs,
but much of the expressive power of the C++ language is forfeited.
On the other hand, while a comprehensive class library would make
user programming more elegant, such a library it is not suitable as
a language binding for MPI-/ since a binding must provide a direct
and unambiguous mapping to the specified functionality of MPI-/.(End of rationale.)
.
MPI-Standard for MARMOT