| FEAT 3
    Finite Element Analysis Toolbox | 
Communication Request class. More...
#include <dist.hpp>
| Public Member Functions | |
| Request () | |
| Standard constructor.  More... | |
| Request (const Request &)=delete | |
| Request objects are non-copyable. | |
| Request (MPI_Request req_) | |
| MPI_Request constructor.  More... | |
| Request (Request &&other) | |
| Move constructor.  More... | |
| ~Request () | |
| non-virtual destructor  More... | |
| void | cancel () | 
| Cancels the request.  More... | |
| void | free () | 
| Frees the request.  More... | |
| bool | is_null () const | 
| Checks whether this request is null.  More... | |
| MPI_Request * | mpi_request () | 
| Request & | operator= (const Request &)=delete | 
| Request objects are non-copyable. | |
| Request & | operator= (Request &&other) | 
| Move-assignment operator.  More... | |
| bool | test () | 
| Tests whether the request is fulfilled (or null).  More... | |
| bool | test (Status &status) | 
| Tests whether the request is fulfilled (or null) without blocking.  More... | |
| bool | wait () | 
| Blocks until the request is fulfilled (or null).  More... | |
| bool | wait (Status &status) | 
| Blocks until the request is fulfilled (or null).  More... | |
| Public Attributes | |
| MPI_Request | request | 
| our internal MPI request handle  More... | |
Communication Request class.
This class effectively wraps around the MPI_Request handle.
This class is move-constructible and move-assignable, but objects of this class are non-copyable.
MPI_Request, i.e. you must not add any other member variables or virtual functions to this class!| FEAT::Dist::Request::Request | ( | ) | 
| 
 | explicit | 
| FEAT::Dist::Request::Request | ( | Request && | other | ) | 
| 
 | inline | 
| void FEAT::Dist::Request::cancel | ( | ) | 
Cancels the request.
This function effectively calls MPI_Cancel() for the internal MPI_Request handle.
Definition at line 256 of file dist.cpp.
References request.
| void FEAT::Dist::Request::free | ( | ) | 
| bool FEAT::Dist::Request::is_null | ( | ) | const | 
Checks whether this request is null.
This function effectively checks whether the internal MPI_Request handle is equal to MPI_REQUEST_NULL.
true, if this request is null, otherwise false.Definition at line 245 of file dist.cpp.
References request.
Referenced by ~Request(), and operator=().
| 
 | inline | 
Move-assignment operator.
This operator moves the input request into this request object and sets the input request other to a null request.
this must be a null request, as this operator will fire an assertion failure otherwise!| [in,out] | other | The request that is to be moved. | 
*this. | 
 | inline | 
Tests whether the request is fulfilled (or null).
This function calls test(Status&) and discards the status object.
true, if the request is fulfilled (or null), or false, if the request is still active. Definition at line 556 of file dist.hpp.
References test().
Referenced by test().
| bool FEAT::Dist::Request::test | ( | Status & | status | ) | 
Tests whether the request is fulfilled (or null) without blocking.
This function effectively calls MPI_Test() for the internal MPI_Request handle.
true, but leaves the status argument unmodified.| [out] | status | A reference to the Status object that receives information about the request, if it was fulfilled by this call. | 
true, if the request is fulfilled (or null), or false, if the request is still active.Definition at line 262 of file dist.cpp.
References FEAT::Dist::Status::mpi_status(), and request.
Referenced by FEAT::Dist::RequestVector::test_for().
| 
 | inline | 
Blocks until the request is fulfilled (or null).
This function calls wait(Status&) and discards the status object.
true, if the request was fulfilled by this call, or false, if the request was already null prior to this call. Definition at line 588 of file dist.hpp.
References wait().
Referenced by wait().
| bool FEAT::Dist::Request::wait | ( | Status & | status | ) | 
Blocks until the request is fulfilled (or null).
This function effectively calls MPI_Wait() for the internal MPI_Request handle.
| [out] | status | A reference to the Status object that receives information about the request, if it was fulfilled by this call. | 
true, if the request was fulfilled by this call, or false, if the request was already null prior to this call.Definition at line 269 of file dist.cpp.
References FEAT::Dist::Status::mpi_status(), and request.
Referenced by FEAT::Global::SynchScalarTicket< DT_ >::wait(), and FEAT::Dist::RequestVector::wait_for().
| MPI_Request FEAT::Dist::Request::request | 
our internal MPI request handle
Definition at line 427 of file dist.hpp.
Referenced by cancel(), free(), is_null(), mpi_request(), operator=(), test(), and wait().