Tags

Overview

A integer-valued message tag must be specified in some communication operations. The class mpl::tag_t wraps such tag into a custom class. This tag can be used by the program to distinguish different types of messages.

Class documentation

class tag_t

Class for representing tag parameters in communication operations.

Public Functions

tag_t(const tag_t &t) = default

Copy-constructor.

Parameters:

t – tag value

inline explicit tag_t(int t = 0)

Initializes tag from an integer value.

Parameters:

t – tag value

template<typename T>
inline tag_t(T t)

Initializes tag from an enum value.

The enum’s underlying type must be convertible to int without loss of precession (narrowing).

Parameters:

t – tag value

tag_t &operator=(const tag_t &t) = default

Copy-assignmnet operator.

Parameters:

t – tag value

inline explicit operator int() const
Returns:

tag value as integer

Public Static Functions

static inline tag_t up()
Returns:

tag with the largest value when converted to int

static inline tag_t any()

See also

any_source

Returns:

wildcard tag to be used in receive operations, e.g., communicator::recv, to indicate acceptance of a message with any tag value

int mpl::any_source = MPI_ANY_SOURCE

Wildcard value to indicate in a receive operation, e.g., communicator::recv, that any source is acceptable.

See also

tag_t::any