|
KaMPIng 0.2.0
Flexible and (near) zero-overhead C++ bindings for MPI
|
Base class for request wrappers. More...
#include <request.hpp>
Public Member Functions | |
| RequestBase (RequestBase const &)=delete | |
| Copy constructor is deleted because requests should only be moved. | |
| RequestBase & | operator= (RequestBase const &)=delete |
| Copy assignment operator is deleted because requests should only be moved. | |
| RequestBase (RequestBase &&)=default | |
| Move constructor. | |
| RequestBase & | operator= (RequestBase &&)=default |
| Move assignment operator. | |
| template<typename StatusParamObjectType = decltype(status(ignore<>))> | |
| auto | wait (StatusParamObjectType status_param=kamping::status(ignore<>)) |
Returns when the operation defined by the underlying request completes. If the underlying request was initialized by a non-blocking communication call, it is set to MPI_REQUEST_NULL. | |
| bool | is_null () const |
| template<typename StatusParamObjectType = decltype(status(ignore<>))> | |
| auto | test (StatusParamObjectType status_param=kamping::status(ignore<>)) |
Tests for completion of the underlying request. If the underlying request was initialized by a non-blocking communication call and completes, it is set to MPI_REQUEST_NULL. | |
| MPI_Request & | mpi_request () |
| MPI_Request const & | mpi_request () const |
| template<typename T > | |
| bool | operator== (RequestBase< T > const &other) const |
| template<typename T > | |
| bool | operator!= (RequestBase< T > const &other) const |
Base class for request wrappers.
This class provides the common interface for all request wrappers. It is not intended to be used directly. Instead, use kamping::Request or kamping::PooledRequest or define your own request type, which must implement request_ptr().
| RequestType | The derived type. |
|
inline |
MPI_REQUEST_NULL.
|
inline |
|
inline |
|
inline |
true if the other request wrapper points to a different request.
|
inline |
true if the other request wrapper points to the same request.
|
inline |
Tests for completion of the underlying request. If the underlying request was initialized by a non-blocking communication call and completes, it is set to MPI_REQUEST_NULL.
| status_param | A parameter created by kamping::status() or kamping::status_out(). Defaults to kamping::status(ignore<>). |
true if the underlying request is complete. If status is kamping::status_out() and owning, returns an std::optional encapsulating the status in case of completion, std::nullopt otherwise.
|
inline |
Returns when the operation defined by the underlying request completes. If the underlying request was initialized by a non-blocking communication call, it is set to MPI_REQUEST_NULL.
| status_param | A parameter created by kamping::status() or kamping::status_out(). Defaults to kamping::status(ignore<>). |
status is kamping::status_out(), otherwise nothing.