Loading...
Searching...
No Matches
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)
MPIFuture & | operator= (MPIFuture &&f)
bool | valid () const
void | wait ()
bool | ready () const
R | get ()
S | get_send_data ()
auto | get_mpidata ()
auto | get_send_mpidata ()

## Friends

class | Communication< MPI_Comm >

## 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

## Friends And Related Symbol Documentation

## Communication< MPI_Comm >

template<class R, class S = void>

friend class Communication< MPI_Comm >

friend

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

- mpifuture.hh