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

Encapsulates the MPI tag integers. More...

#include <message_tag.h>

Public Member Functions

 MessageTag (int tagvalue=invalid_tag)
 Explicit constructor, to discourage using "magic numbers" as tags. More...
 
 MessageTag (const MessageTag &other)
 Copy constructor. More...
 
 MessageTag (MessageTag &&other)
 Move constructor. More...
 
MessageTagoperator= (const MessageTag &other)
 Copy assignment operator. More...
 
MessageTagoperator= (MessageTag &&other)
 Move assignment operator. More...
 
 ~MessageTag ()
 Destructor. More...
 
int value () const
 

Static Public Attributes

static const int invalid_tag = INT_MIN
 Invalid tag, to allow for default construction. More...
 

Private Member Functions

 MessageTag (int tagvalue, const Communicator *comm)
 

Private Attributes

int _tagvalue
 
const Communicator_comm
 

Friends

class Communicator
 

Detailed Description

Encapsulates the MPI tag integers.

Definition at line 47 of file message_tag.h.

Constructor & Destructor Documentation

◆ MessageTag() [1/4]

libMesh::Parallel::MessageTag::MessageTag ( int  tagvalue = invalid_tag)
explicit

Explicit constructor, to discourage using "magic numbers" as tags.

Communicator::get_unique_tag is recommended instead.

Definition at line 60 of file message_tag.h.

61  : _tagvalue(tagvalue), _comm(nullptr) {}
const Communicator * _comm
Definition: message_tag.h:99

◆ MessageTag() [2/4]

libMesh::Parallel::MessageTag::MessageTag ( const MessageTag other)

Copy constructor.

Helps Communicator do reference counting on unique tags

◆ MessageTag() [3/4]

libMesh::Parallel::MessageTag::MessageTag ( MessageTag &&  other)

Move constructor.

Helps Communicator do reference counting on unique tags

◆ ~MessageTag()

libMesh::Parallel::MessageTag::~MessageTag ( )

Destructor.

Helps Communicator do reference counting on unique tags

◆ MessageTag() [4/4]

libMesh::Parallel::MessageTag::MessageTag ( int  tagvalue,
const Communicator comm 
)
private

Definition at line 102 of file message_tag.h.

103  : _tagvalue(tagvalue), _comm(comm) {}
const Communicator * _comm
Definition: message_tag.h:99

Member Function Documentation

◆ operator=() [1/2]

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

Copy assignment operator.

Helps Communicator do reference counting on unique tags

◆ operator=() [2/2]

MessageTag& libMesh::Parallel::MessageTag::operator= ( MessageTag &&  other)

Move assignment operator.

Helps Communicator do reference counting on unique tags

◆ value()

int libMesh::Parallel::MessageTag::value ( ) const

Friends And Related Function Documentation

◆ Communicator

friend class Communicator
friend

Definition at line 106 of file message_tag.h.

Member Data Documentation

◆ _comm

const Communicator* libMesh::Parallel::MessageTag::_comm
private

Definition at line 99 of file message_tag.h.

◆ _tagvalue

int libMesh::Parallel::MessageTag::_tagvalue
private

Definition at line 98 of file message_tag.h.

Referenced by value().

◆ invalid_tag

const int libMesh::Parallel::MessageTag::invalid_tag = INT_MIN
static

Invalid tag, to allow for default construction.

Definition at line 54 of file message_tag.h.


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