ESyS-Particle  2.3.4
TML_PackedMultiMessageSlab Class Reference

Handle class to access multimessages via a packed message interface. More...

#include <multi_message_slab.h>

Inheritance diagram for TML_PackedMultiMessageSlab:
Collaboration diagram for TML_PackedMultiMessageSlab:

Public Member Functions

 TML_PackedMultiMessageSlab (TML_PackedMultiMessage *, int)
 
virtual void begin_pack ()
 
virtual void begin_unpack ()
 
virtual void append (int)
 
virtual void append (double)
 
virtual void append (const string &)
 
virtual void append (const Vec3 &)
 
virtual void append (bool)
 
virtual int pop_int ()
 
virtual double pop_double ()
 
virtual void pop_doubles (double *, int)
 
virtual string pop_string ()
 
virtual Vec3 pop_vec3 ()
 
virtual bool pop_bool ()
 
- Public Member Functions inherited from TML_PackedMessageInterface
template<typename T >
void pack (const T &)
 
template<typename T >
void unpack (T &)
 
template<>
void pack (const CAdhesiveFriction &I)
 
template<>
void unpack (CAdhesiveFriction &I)
 
template<>
void pack (const BCorner2DInteraction &I)
 
template<>
void unpack (BCorner2DInteraction &I)
 
template<>
void pack (const BEdge2DInteraction &I)
 
template<>
void unpack (BEdge2DInteraction &I)
 
template<>
void pack (const CBondedInteraction &I)
 
template<>
void unpack (CBondedInteraction &I)
 
template<>
void pack (const BTriangleInteraction &I)
 
template<>
void unpack (BTriangleInteraction &I)
 
template<>
void pack (const CCappedBondedInteraction &I)
 
template<>
void unpack (CCappedBondedInteraction &I)
 
template<>
void pack (const CFractalFriction &I)
 
template<>
void unpack (CFractalFriction &I)
 
template<>
void pack (const CFrictionInteraction &I)
 
template<>
void unpack (CFrictionInteraction &I)
 
template<>
void pack (const CHertzianViscoElasticFrictionInteraction &I)
 
template<>
void unpack (CHertzianViscoElasticFrictionInteraction &I)
 
template<>
void pack (const CHertzMindlinInteraction &I)
 
template<>
void unpack (CHertzMindlinInteraction &I)
 
template<>
void pack (const CHertzMindlinViscoInteraction &I)
 
template<>
void unpack (CHertzMindlinViscoInteraction &I)
 
template<>
void pack (const MeshNodeData &d)
 
template<>
void unpack (MeshNodeData &d)
 
template<>
void pack (const MeshTriData &d)
 
template<>
void unpack (MeshTriData &d)
 
template<>
void pack (const MeshNodeData2D &d)
 
template<>
void unpack (MeshNodeData2D &d)
 
template<>
void pack (const MeshEdgeData2D &d)
 
template<>
void unpack (MeshEdgeData2D &d)
 
template<>
void pack (const CParticle &p)
 
template<>
void unpack (CParticle &p)
 
template<>
void pack (const CRotBondedInteraction &I)
 
template<>
void unpack (CRotBondedInteraction &I)
 
template<>
void pack (const CRotFrictionInteraction &I)
 
template<>
void unpack (CRotFrictionInteraction &I)
 
template<>
void pack (const CRotParticle &p)
 
template<>
void unpack (CRotParticle &p)
 
template<>
void pack (const CRotParticleVi &p)
 
template<>
void unpack (CRotParticleVi &p)
 
template<>
void pack (const CRotThermBondedInteraction &I)
 
template<>
void unpack (CRotThermBondedInteraction &I)
 
template<>
void pack (const CRotThermFrictionInteraction &I)
 
template<>
void unpack (CRotThermFrictionInteraction &I)
 
template<>
void pack (const CRotThermParticle &p)
 
template<>
void unpack (CRotThermParticle &p)
 
template<>
void pack (const CShortBondedInteraction &I)
 
template<>
void unpack (CShortBondedInteraction &I)
 
template<>
void pack (const CVWFriction &I)
 
template<>
void unpack (CVWFriction &I)
 
template<>
void pack (const CBasicParticle &p)
 
template<>
void unpack (CBasicParticle &p)
 
template<>
void pack (const int &i)
 
template<>
void unpack (int &i)
 
template<>
void pack (const double &d)
 
template<>
void unpack (double &d)
 
template<>
void pack (const Vec3 &v)
 
template<>
void unpack (Vec3 &v)
 
template<typename T1 , typename T2 >
void unpack (pair< T1, T2 > &p)
 
template<>
void pack (const pair< int, double > &p)
 
template<>
void unpack (pair< int, double > &p)
 

Private Attributes

TML_PackedMultiMessagem_msg
 
int m_idx
 

Detailed Description

Handle class to access multimessages via a packed message interface.

Constructor & Destructor Documentation

◆ TML_PackedMultiMessageSlab()

TML_PackedMultiMessageSlab::TML_PackedMultiMessageSlab ( TML_PackedMultiMessage msg,
int  idx 
)

construct TML_PackedMultiMessageSlab

Parameters
msgthe multimessage to which the slab belongs
idxthe index

References m_idx, and m_msg.

Member Function Documentation

◆ append() [1/5]

void TML_PackedMultiMessageSlab::append ( bool  b)
virtual

pack a booleam value into the slab

Parameters
bthe boolean value

Implements TML_PackedMessageInterface.

References TML_PackedMultiMessage::append(), m_idx, and m_msg.

Here is the call graph for this function:

◆ append() [2/5]

void TML_PackedMultiMessageSlab::append ( const string &  s)
virtual

pack a STL string into the slab

Parameters
sthe string

Implements TML_PackedMessageInterface.

References TML_PackedMultiMessage::append(), m_idx, and m_msg.

Here is the call graph for this function:

◆ append() [3/5]

void TML_PackedMultiMessageSlab::append ( const Vec3 v)
virtual

Append a Vec3 to the message buffer. Calls append(double) per element

Implements TML_PackedMessageInterface.

References TML_PackedMultiMessage::append(), m_idx, and m_msg.

Here is the call graph for this function:

◆ append() [4/5]

void TML_PackedMultiMessageSlab::append ( double  d)
virtual

pack a double into the slab

Parameters
dthe double

Implements TML_PackedMessageInterface.

References TML_PackedMultiMessage::append(), m_idx, and m_msg.

Here is the call graph for this function:

◆ append() [5/5]

void TML_PackedMultiMessageSlab::append ( int  i)
virtual

pack integer into the slab

Parameters
ithe interger

Implements TML_PackedMessageInterface.

References TML_PackedMultiMessage::append(), m_idx, and m_msg.

Here is the call graph for this function:

◆ begin_pack()

void TML_PackedMultiMessageSlab::begin_pack ( )
virtual

reset the packing pointer

Implements TML_PackedMessageInterface.

References TML_PackedMultiMessage::begin_pack(), m_idx, and m_msg.

Here is the call graph for this function:

◆ begin_unpack()

void TML_PackedMultiMessageSlab::begin_unpack ( )
virtual

reset the unpacking pointer

Implements TML_PackedMessageInterface.

References TML_PackedMultiMessage::begin_unpack(), m_idx, and m_msg.

Here is the call graph for this function:

◆ pop_bool()

bool TML_PackedMultiMessageSlab::pop_bool ( )
virtual

pop a boolean value from the slab

Implements TML_PackedMessageInterface.

References m_idx, m_msg, and TML_PackedMultiMessage::pop_bool().

Here is the call graph for this function:

◆ pop_double()

double TML_PackedMultiMessageSlab::pop_double ( )
virtual

pop a double from the slab

Implements TML_PackedMessageInterface.

References m_idx, m_msg, and TML_PackedMultiMessage::pop_double().

Here is the call graph for this function:

◆ pop_doubles()

void TML_PackedMultiMessageSlab::pop_doubles ( double *  ,
int   
)
virtual

pop an array of doubles from the slab

Warning
not implemented

Implements TML_PackedMessageInterface.

◆ pop_int()

int TML_PackedMultiMessageSlab::pop_int ( )
virtual

pop an int from the slab

Implements TML_PackedMessageInterface.

References m_idx, m_msg, and TML_PackedMultiMessage::pop_int().

Here is the call graph for this function:

◆ pop_string()

string TML_PackedMultiMessageSlab::pop_string ( )
virtual

pop a STL string from the slab

Warning
not implemented

Implements TML_PackedMessageInterface.

◆ pop_vec3()

Vec3 TML_PackedMultiMessageSlab::pop_vec3 ( )
virtual

Pop a Vec3 of the buffer. Calls pop_double per element

Implements TML_PackedMessageInterface.

References m_idx, m_msg, and TML_PackedMultiMessage::pop_double().

Here is the call graph for this function:

Member Data Documentation

◆ m_idx

int TML_PackedMultiMessageSlab::m_idx
private

◆ m_msg


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