C++ wrapper around MPI_Group providing various convenience functions.
It stores an MPI_Group object as its only member which by default is set to MPI_GROUP_NULL. The underlying MPI_Group object is automatically freed when a group object goes out of scope.
This class follows move-only semantics and takes ownership of the wrapped MPI_Group object.
All functions that make direct calls to the MPI C library throw an exception in case the call fails.
Definition at line 46 of file group.hpp.
|
|
| group ()=default |
| | Construct a group with MPI_GROUP_NULL.
|
| | group (communicator c) |
| | Create a group from a communicator by calling MPI_Comm_group.
|
|
| group (group &&other) noexcept |
| | Move constructor leaves moved-from object with MPI_GROUP_NULL.
|
|
| group (group const &)=delete |
| | Deleted copy constructor.
|
| | group (MPI_Group grp) |
| | Take ownership of an existing MPI_Group object.
|
|
| ~group () |
| | Destructor calls free() to release the group.
|
|
void | free () noexcept |
| | Free the group by calling MPI_Group_free (if it is not is_null()).
|
|
MPI_Group | get () const noexcept |
| | Get the wrapped MPI_Group object.
|
| group | include (std::vector< int > const &ranks) const |
| | Create a new group by calling MPI_Group_incl.
|
|
bool | is_null () const noexcept |
| | Check if the contained MPI_Group is MPI_GROUP_NULL.
|
|
group & | operator= (group &&rhs) noexcept |
| | Move assignment operator leaves moved-from object with MPI_GROUP_NULL.
|
|
group & | operator= (group const &)=delete |
| | Deleted copy assignment operator.
|
| int | rank () const |
| | Get the rank of the calling process in the group.
|
| int | size () const |
| | Get the size of the group.
|