OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Message Class Reference

#include <Message.h>

Collaboration diagram for Message:

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 comm, commdata, DoCopy, DoDelete, MsgItemList, and numRemoved.

Referenced by clear(), get(), get(), get(), get_iter(), getmsg(), put(), put(), put(), put(), put(), putmsg(), setCopy(), and setDelete().

◆ ~Message()

Message::~Message ( )

Definition at line 44 of file MessageFunctions.cpp.

References clear(), comm, commdata, and MsgItemList.

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(), empty(), and Message().

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

Definition at line 300 of file Message.h.

References size().

Referenced by clear(), deleteMsgItem(), PutSingleItem< T, false, false >::get_iter(), and getmsg().

Here is the call graph for this function:

◆ get() [1/3]

Message & Message::get ( )
inline

Definition at line 498 of file Message.h.

References getmsg(), and Message().

Referenced by get(), and 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(), and Message().

Here is the call graph for this function:

◆ get() [3/3]

◆ get_iter()

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

Definition at line 511 of file Message.h.

References MessageTypeIntrinsic< T >::builtin, get_iter(), Message(), and MessageTypeIntrinsic< T >::pointer.

Referenced by get_iter(), getMessage(), getMessage(), PRegion< T >::getMessage(), vec< T, Length >::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(), Message::MsgItem::numBytes(), and PAssert.

Referenced by get(), PutSingleItem< T, true, false >::get(), PutSingleItem< T, true, true >::get(), and spap().

Here is the call graph for this function:

◆ item() [1/2]

◆ item() [2/2]

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

Definition at line 312 of file Message.h.

References MsgItemList, and numRemoved.

◆ put() [1/5]

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

Definition at line 419 of file Message.h.

References Message(), and 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 Message(), and 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 MessageTypeIntrinsic< T >::builtin, Message(), MessageTypeIntrinsic< T >::pointer, and put().

Here is the call graph for this function:

◆ put() [4/5]

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

Definition at line 406 of file Message.h.

References MessageTypeIntrinsic< T >::builtin, Message(), MessageTypeIntrinsic< T >::pointer, and put().

Referenced by BareField< T, Dim >::accumGuardCells(), BcastCuts(), DiscField< Dim >::distribute_offsets(), FieldLayout< Dim >::FieldLayout(), FieldLayout< Dim >::FieldLayout(), IpplParticleBase< PLayout >::ghostPutMessage(), IpplParticleBase< PLayout >::ghostPutMessage(), pap(), put(), put(), put(), put(), AntiSymTenzor< T, 1 >::putMessage(), AnyHolder< T, OP >::putMessage(), BoundsHolder< T, D >::putMessage(), BrickIterator< T, Dim >::putMessage(), CompressedBrickIterator< T, Dim >::putMessage(), Index::putMessage(), IpplParticleBase< PLayout >::putMessage(), PRegion< T >::putMessage(), putMessage(), putMessage(), putMessage(), vec< T, Length >::putMessage(), Vnode< Dim >::putMessage(), DiscParticle::read(), FieldLayout< Dim >::read(), DiscField< Dim >::read_meta(), DiscParticle::read_meta(), ParticlePos_t< double, 3 >::rebuild_layout(), Communicate::request_retransmission(), IpplParticleBase< PLayout >::resetID(), LossDataSink::saveASCII(), Communicate::send_ok_message(), ParallelCyclotronTracker::singleParticleDump(), spap(), ParticleCashedLayout< T, Dim, Mesh >::update(), ParticleInteractLayout< T, Dim, Mesh >::update(), ParticleUniformLayout< T, Dim >::update(), and DiscParticle::write().

Here is the call graph for this function:

◆ put() [5/5]

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

Definition at line 437 of file Message.h.

References MessageTypeIntrinsic< T >::builtin, end(), Message(), MessageTypeIntrinsic< T >::pointer, 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 ( )

Definition at line 166 of file MessageFunctions.cpp.

References Message::MsgItem::cancelDelete(), Message::MsgItem::data(), deleteMsgItem(), item(), Message::MsgItem::numBytes(), and Message::MsgItem::willNeedDelete().

Here is the call graph for this function:

◆ removed()

size_t Message::removed ( ) const
inline

Definition at line 296 of file Message.h.

References numRemoved.

Referenced by operator<<().

◆ setCopy()

◆ setDelete()

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

Definition at line 331 of file Message.h.

References c, DoDelete, and Message().

Referenced by DiscField< Dim >::distribute_offsets(), MsgBuffer::get(), PutSingleItem< T, false, false >::put(), PutSingleItem< T, false, false >::put(), BrickIterator< T, Dim >::putMessage(), DiscParticle::read(), DiscParticle::read(), and Communicate::unpack_message().

Here is the call graph for this function:

◆ size()

◆ useCommunicate()

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

Definition at line 358 of file Message.h.

References c, comm, and commdata.

Referenced by CommMPI::myreceive(), and 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 Message(), useCommunicate(), and ~Message().

◆ commdata

void* Message::commdata
private

Definition at line 539 of file Message.h.

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

◆ DoCopy

bool Message::DoCopy
private

Definition at line 531 of file Message.h.

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

◆ DoDelete

bool Message::DoDelete
private

Definition at line 534 of file Message.h.

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

◆ MsgItemList

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

Definition at line 525 of file Message.h.

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

◆ numRemoved

size_t Message::numRemoved
private

Definition at line 528 of file Message.h.

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


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