dune-common 2.9.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Dune::MPIFuture< R, S > Class Template Reference

Provides a future-like object for MPI communication. It contains the object that will be received and might contain also a sending object, which must be hold (keep alive) until the communication has been completed. More...

#include <dune/common/parallel/mpifuture.hh>

Public Member Functions

 MPIFuture (bool valid=false)
 
template<class V = R, class U = S>
 MPIFuture (V &&recv_data, U &&send_data, typename std::enable_if_t<!std::is_void< V >::value &&!std::is_void< U >::value > *=0)
 
template<class V = R>
 MPIFuture (V &&recv_data, typename std::enable_if_t<!std::is_void< V >::value > *=0)
 
 ~MPIFuture ()
 
 MPIFuture (MPIFuture &&f)
 
MPIFutureoperator= (MPIFuture &&f)
 
bool valid () const
 
void wait ()
 
bool ready () const
 
get ()
 
get_send_data ()
 
auto get_mpidata ()
 
auto get_send_mpidata ()
 

Detailed Description

template<class R, class S = void>
class Dune::MPIFuture< R, S >

Provides a future-like object for MPI communication. It contains the object that will be received and might contain also a sending object, which must be hold (keep alive) until the communication has been completed.

Constructor & Destructor Documentation

◆ MPIFuture() [1/4]

template<class R , class S = void>
Dune::MPIFuture< R, S >::MPIFuture ( bool  valid = false)
inline

◆ MPIFuture() [2/4]

template<class R , class S = void>
template<class V = R, class U = S>
Dune::MPIFuture< R, S >::MPIFuture ( V &&  recv_data,
U &&  send_data,
typename std::enable_if_t<!std::is_void< V >::value &&!std::is_void< U >::value > *  = 0 
)
inline

◆ MPIFuture() [3/4]

template<class R , class S = void>
template<class V = R>
Dune::MPIFuture< R, S >::MPIFuture ( V &&  recv_data,
typename std::enable_if_t<!std::is_void< V >::value > *  = 0 
)
inline

◆ ~MPIFuture()

template<class R , class S = void>
Dune::MPIFuture< R, S >::~MPIFuture ( )
inline

◆ MPIFuture() [4/4]

template<class R , class S = void>
Dune::MPIFuture< R, S >::MPIFuture ( MPIFuture< R, S > &&  f)
inline

Member Function Documentation

◆ get()

template<class R , class S = void>
R Dune::MPIFuture< R, S >::get ( )
inline

◆ get_mpidata()

template<class R , class S = void>
auto Dune::MPIFuture< R, S >::get_mpidata ( )
inline

◆ get_send_data()

template<class R , class S = void>
S Dune::MPIFuture< R, S >::get_send_data ( )
inline

◆ get_send_mpidata()

template<class R , class S = void>
auto Dune::MPIFuture< R, S >::get_send_mpidata ( )
inline

◆ operator=()

template<class R , class S = void>
MPIFuture & Dune::MPIFuture< R, S >::operator= ( MPIFuture< R, S > &&  f)
inline

◆ ready()

template<class R , class S = void>
bool Dune::MPIFuture< R, S >::ready ( ) const
inline

◆ valid()

template<class R , class S = void>
bool Dune::MPIFuture< R, S >::valid ( ) const
inline

◆ wait()

template<class R , class S = void>
void Dune::MPIFuture< R, S >::wait ( )
inline

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