OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Message Class Reference

#include <Message.h>

Collaboration diagram for Message:
Collaboration graph
[legend]

Classes

class  MsgItem
 

Public Member Functions

 Message (unsigned int numelems=8)
 
 ~Message ()
 
size_t size () const
 
size_t removed () const
 
bool empty () const
 
MsgItemitem (size_t n)
 
const MsgItemitem (size_t n) const
 
MessagesetCopy (const bool c)
 
bool willCopy () const
 
MessagesetDelete (const bool c)
 
bool willDelete () const
 
Messageclear ()
 
void * remove ()
 
void useCommunicate (Communicate *c, void *d)
 
template<class T >
Messageput (const T &val)
 
Messageput (const char *d)
 
Messageput (const std::string &s)
 
template<class ForwardIterator >
Messageput (ForwardIterator beg, ForwardIterator end)
 
template<class RandomAccessIterator >
Messageput (const std::vector< size_t > &indices, RandomAccessIterator beg)
 
Messageputmsg (void *, int, int=0)
 
template<class T >
Messageget (const T &cval)
 
Messageget (const std::string &s)
 
Messageget ()
 
template<class OutputIterator >
Messageget_iter (OutputIterator o)
 
Messagegetmsg (void *)
 

Private Member Functions

void deleteMsgItem ()
 

Private Attributes

std::vector< MsgItemMsgItemList
 
size_t numRemoved
 
bool DoCopy
 
bool DoDelete
 
Communicatecomm
 
void * commdata
 

Detailed Description

Definition at line 142 of file Message.h.

Constructor & Destructor Documentation

◆ Message()

Message::Message ( unsigned int  numelems = 8)
inline

Definition at line 277 of file Message.h.

References MsgItemList.

◆ ~Message()

Message::~Message ( )

Definition at line 44 of file MessageFunctions.cpp.

References Communicate::cleanupMessage(), clear(), comm, commdata, MsgItemList, and Hypervolume::n.

Here is the call graph for this function:

Member Function Documentation

◆ clear()

Message & Message::clear ( void  )

Definition at line 146 of file MessageFunctions.cpp.

References deleteMsgItem(), and empty().

Referenced by ~Message().

Here is the call graph for this function:

◆ deleteMsgItem()

void Message::deleteMsgItem ( )
private

Definition at line 65 of file MessageFunctions.cpp.

References empty(), and numRemoved.

Referenced by clear(), getmsg(), and remove().

Here is the call graph for this function:

◆ empty()

bool Message::empty ( ) const
inline

◆ get() [1/3]

Message & Message::get ( )
inline

Definition at line 498 of file Message.h.

References getmsg().

Referenced by get().

Here is the call graph for this function:

◆ get() [2/3]

Message & Message::get ( const std::string &  s)
inline

Definition at line 485 of file Message.h.

References get().

Here is the call graph for this function:

◆ get() [3/3]

template<class T >
Message & Message::get ( const T &  cval)
inline

◆ get_iter()

template<class OutputIterator >
Message & Message::get_iter ( OutputIterator  o)
inline

Definition at line 511 of file Message.h.

References get_iter().

Referenced by get_iter(), PRegion< T >::getMessage(), vec< T, Length >::getMessage(), getMessage(), getMessage_iter(), and FieldLayout< Dim >::read().

Here is the call graph for this function:

◆ getmsg()

Message & Message::getmsg ( void *  data)

Definition at line 111 of file MessageFunctions.cpp.

References Message::MsgItem::data(), deleteMsgItem(), empty(), endl(), ERRORMSG, item(), Message::MsgItem::numBytes(), and PAssert.

Referenced by get(), and spap().

Here is the call graph for this function:

◆ item() [1/2]

MsgItem & Message::item ( size_t  n)
inline

◆ item() [2/2]

const MsgItem & Message::item ( size_t  n) const
inline

Definition at line 312 of file Message.h.

References MsgItemList, Hypervolume::n, and numRemoved.

◆ put() [1/5]

Message & Message::put ( const char *  d)
inline

Definition at line 419 of file Message.h.

References putmsg().

Here is the call graph for this function:

◆ put() [2/5]

Message & Message::put ( const std::string &  s)
inline

Definition at line 424 of file Message.h.

References put().

Here is the call graph for this function:

◆ put() [3/5]

template<class RandomAccessIterator >
Message & Message::put ( const std::vector< size_t > &  indices,
RandomAccessIterator  beg 
)
inline

Definition at line 450 of file Message.h.

References put().

Here is the call graph for this function:

◆ put() [4/5]

template<class T >
Message & Message::put ( const T &  val)
inline

◆ put() [5/5]

template<class ForwardIterator >
Message & Message::put ( ForwardIterator  beg,
ForwardIterator  end 
)
inline

Definition at line 437 of file Message.h.

References end(), and put().

Here is the call graph for this function:

◆ putmsg()

Message & Message::putmsg ( void *  data,
int  s,
int  nelem = 0 
)

◆ remove()

void * Message::remove ( )

◆ removed()

size_t Message::removed ( ) const
inline

Definition at line 296 of file Message.h.

References numRemoved.

Referenced by operator<<().

◆ setCopy()

Message & Message::setCopy ( const bool  c)
inline

◆ setDelete()

Message & Message::setDelete ( const bool  c)
inline

◆ size()

size_t Message::size ( void  ) const
inline

◆ useCommunicate()

void Message::useCommunicate ( Communicate c,
void *  d 
)
inline

Definition at line 358 of file Message.h.

References Physics::c, comm, and commdata.

Referenced by CommMPI::mysend().

◆ willCopy()

bool Message::willCopy ( ) const
inline

Definition at line 324 of file Message.h.

References DoCopy.

Referenced by PutSingleItem< T, false, false >::put().

◆ willDelete()

bool Message::willDelete ( ) const
inline

Definition at line 336 of file Message.h.

References DoDelete.

Member Data Documentation

◆ comm

Communicate* Message::comm
private

Definition at line 538 of file Message.h.

Referenced by useCommunicate(), and ~Message().

◆ commdata

void* Message::commdata
private

Definition at line 539 of file Message.h.

Referenced by useCommunicate(), and ~Message().

◆ DoCopy

bool Message::DoCopy
private

Definition at line 531 of file Message.h.

Referenced by putmsg(), setCopy(), and willCopy().

◆ DoDelete

bool Message::DoDelete
private

Definition at line 534 of file Message.h.

Referenced by putmsg(), setDelete(), and willDelete().

◆ MsgItemList

std::vector<MsgItem> Message::MsgItemList
private

Definition at line 525 of file Message.h.

Referenced by item(), Message(), putmsg(), size(), and ~Message().

◆ numRemoved

size_t Message::numRemoved
private

Definition at line 528 of file Message.h.

Referenced by deleteMsgItem(), item(), removed(), and size().


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