MatchedMessage

class MatchedMessage

Message handle returned from matched probes.

A valid matched message has been removed from MPI’s unexpected-message queue and must be received exactly once.

Public Functions

MatchedMessage() = default

Create an empty matched message.

inline MatchedMessage(MatchedMessage &&other) noexcept

Move constructor.

inline MatchedMessage &operator=(MatchedMessage &&other) noexcept

Move assignment.

inline explicit operator bool() const

Check if this object holds a matched message.

inline int source() const

Get the source of the matched message.

Returns:

Source of the message (i.e. rank ID)

inline int tag() const

Get the message tag.

Returns:

Message tag

template<typename T>
inline int count() const

Gets the number of “top level” elements in the matched message.

Template Parameters:

T – datatype of each receive buffer element

Returns:

The number of “top level” elements

template<typename T>
inline Status recv(T *values, int n)

Receive the matched message.

Template Parameters:

T – C++ type of the data

Parameters:
  • values – Variable to receive the data

  • n – Number of values to receive

Returns:

Status of the operation

template<typename T, typename A>
inline Status recv(std::vector<T, A> &values)

Receive the matched message into a std::vector.

Template Parameters:

T – C++ type of the data

Parameters:

values – Variable to receive the data

Returns:

Status of the operation

inline Status recv()

Receive a matched message without any data.

Returns:

Status of the operation