strumpack::MPIRequest Class Reference

Wrapper around an MPI_Request object. More...

#include <MPIWrapper.hpp>

Public Member Functions

 MPIRequest ()
 
 MPIRequest (const MPIRequest &)=delete
 
 MPIRequest (MPIRequest &&)=default
 
MPIRequestoperator= (const MPIRequest &)=delete
 
MPIRequestoperator= (MPIRequest &&)=default
 
void wait ()
 

Friends

class MPIComm
 

Detailed Description

Wrapper around an MPI_Request object.

This is a very basic wrapper around an MPI_Request object. Since MPI calls take a pointer to the MPI_Request object, it does not make sense to copy an MPI_Request object. The MPIRequest object can be moved though.

One problem with this class is that it cannot be used to create a vector of MPI_Request objects to be used in for instance an MPI_Waitall or MPI_Waitany call. For that you should use MPI_Request manually.

See also
wait_all

Constructor & Destructor Documentation

◆ MPIRequest() [1/3]

strumpack::MPIRequest::MPIRequest ( )
inline

Default constructor, construct an empty MPIRequest.

◆ MPIRequest() [2/3]

strumpack::MPIRequest::MPIRequest ( const MPIRequest )
delete

Copy constructor is not available. Copying an MPI_Request is not allowed.

◆ MPIRequest() [3/3]

strumpack::MPIRequest::MPIRequest ( MPIRequest &&  )
default

Default move constructor.

Member Function Documentation

◆ operator=() [1/2]

MPIRequest & strumpack::MPIRequest::operator= ( const MPIRequest )
delete

Copy assignment is disabled.

◆ operator=() [2/2]

MPIRequest & strumpack::MPIRequest::operator= ( MPIRequest &&  )
default

Default move assignment.

◆ wait()

void strumpack::MPIRequest::wait ( )
inline

Wait for the request to complete.


The documentation for this class was generated from the following file: