libMesh
Public Member Functions | Private Attributes | Friends | List of all members
libMesh::Parallel::Request Class Reference

Encapsulates the MPI_Request. More...

#include <request.h>

Public Member Functions

 Request ()
 
 Request (const request &r)
 
 Request (const Request &other)
 
void cleanup ()
 
Requestoperator= (const Request &other)
 
Requestoperator= (const request &r)
 
 ~Request ()
 
requestget ()
 
const requestget () const
 
Status wait ()
 
bool test ()
 
bool test (status &status)
 
void add_prior_request (const Request &req)
 
void add_post_wait_work (PostWaitWork *work)
 

Private Attributes

request _request
 
std::unique_ptr< Request_prior_request
 
std::pair< std::vector< PostWaitWork *>, unsigned int > * post_wait_work
 

Friends

std::size_t waitany (std::vector< Request > &)
 Wait for at least one non-blocking operation to finish. More...
 

Detailed Description

Encapsulates the MPI_Request.

Definition at line 63 of file request.h.

Constructor & Destructor Documentation

◆ Request() [1/3]

libMesh::Parallel::Request::Request ( )

◆ Request() [2/3]

libMesh::Parallel::Request::Request ( const request r)

◆ Request() [3/3]

libMesh::Parallel::Request::Request ( const Request other)

◆ ~Request()

libMesh::Parallel::Request::~Request ( )

Member Function Documentation

◆ add_post_wait_work()

void libMesh::Parallel::Request::add_post_wait_work ( PostWaitWork work)

◆ add_prior_request()

void libMesh::Parallel::Request::add_prior_request ( const Request req)

◆ cleanup()

void libMesh::Parallel::Request::cleanup ( )

◆ get() [1/2]

request* libMesh::Parallel::Request::get ( )

Definition at line 80 of file request.h.

References _request.

Referenced by libMesh::Parallel::Communicator::receive(), and libMesh::Parallel::Communicator::send().

80 { return &_request; }

◆ get() [2/2]

const request* libMesh::Parallel::Request::get ( ) const

Definition at line 82 of file request.h.

References _request.

82 { return &_request; }

◆ operator=() [1/2]

Request& libMesh::Parallel::Request::operator= ( const Request other)

◆ operator=() [2/2]

Request& libMesh::Parallel::Request::operator= ( const request r)

◆ test() [1/2]

bool libMesh::Parallel::Request::test ( )

◆ test() [2/2]

bool libMesh::Parallel::Request::test ( status status)

◆ wait()

Status libMesh::Parallel::Request::wait ( )

Friends And Related Function Documentation

◆ waitany

std::size_t waitany ( std::vector< Request > &  )
friend

Wait for at least one non-blocking operation to finish.

Return the index of the request which completed.

Member Data Documentation

◆ _prior_request

std::unique_ptr<Request> libMesh::Parallel::Request::_prior_request
private

Definition at line 110 of file request.h.

◆ _request

request libMesh::Parallel::Request::_request
private

Definition at line 108 of file request.h.

Referenced by get().

◆ post_wait_work

std::pair<std::vector <PostWaitWork * >, unsigned int>* libMesh::Parallel::Request::post_wait_work
private

Definition at line 118 of file request.h.


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