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.
|