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