ESyS-Particle  2.3.4
AMPISGBufferLeaf Class Referenceabstract

Abstract base class for scatter/gather buffer, leaf component. More...

#include <mpisgbuf.h>

Inheritance diagram for AMPISGBufferLeaf:
Collaboration diagram for AMPISGBufferLeaf:

Public Member Functions

 AMPISGBufferLeaf (MPI_Comm, int)
 
virtual ~AMPISGBufferLeaf ()
 
virtual void clear ()=0
 
virtual void send ()=0
 
virtual void receive ()=0
 
virtual void append (int)=0
 
virtual void append (double)=0
 
virtual int pop_int ()=0
 
virtual double pop_double ()=0
 
virtual void pop_doubles (double *, int)=0
 
virtual std::string pop_string ()=0
 
const MPI_Status & status ()
 
- Public Member Functions inherited from AMPIBuffer
 AMPIBuffer (MPI_Comm comm)
 
virtual ~AMPIBuffer ()
 
virtual void append (const char *)=0
 
virtual void append (const Vec3 &)
 
virtual Vec3 pop_vector ()
 
const MPI_Status & status ()
 

Protected Attributes

int m_root
 rank of the root process More...
 
int m_int_increment
 
int m_dbl_increment
 the "packing size" of int/double More...
 
- Protected Attributes inherited from AMPIBuffer
MPI_Comm m_comm
 the MPI Communicator used for the send/recv operations More...
 
MPI_Status m_status
 

Detailed Description

Abstract base class for scatter/gather buffer, leaf component.

Author
Steffen Abe $Revision$ $Date$

Constructor & Destructor Documentation

◆ AMPISGBufferLeaf()

AMPISGBufferLeaf::AMPISGBufferLeaf ( MPI_Comm  comm,
int  root 
)

Constuctor for AMPISGBufferLeaf

Parameters
commthe MPI communicator
rootrank of the root process

References AMPIBuffer::m_comm, m_dbl_increment, m_int_increment, and m_root.

◆ ~AMPISGBufferLeaf()

virtual AMPISGBufferLeaf::~AMPISGBufferLeaf ( )
inlinevirtual

Member Function Documentation

◆ append() [1/2]

virtual void AMPISGBufferLeaf::append ( double  )
pure virtual

Implements AMPIBuffer.

Implemented in CMPIVarSGBufferLeaf, and CMPISGBufferLeaf.

◆ append() [2/2]

virtual void AMPISGBufferLeaf::append ( int  )
pure virtual

Implements AMPIBuffer.

Implemented in CMPIVarSGBufferLeaf, and CMPISGBufferLeaf.

◆ clear()

virtual void AMPISGBufferLeaf::clear ( )
pure virtual

Implements AMPIBuffer.

Implemented in CMPIVarSGBufferLeaf, and CMPISGBufferLeaf.

◆ pop_double()

virtual double AMPISGBufferLeaf::pop_double ( )
pure virtual

Implements AMPIBuffer.

Implemented in CMPIVarSGBufferLeaf, and CMPISGBufferLeaf.

◆ pop_doubles()

virtual void AMPISGBufferLeaf::pop_doubles ( double *  ,
int   
)
pure virtual

Implements AMPIBuffer.

Implemented in CMPIVarSGBufferLeaf, and CMPISGBufferLeaf.

◆ pop_int()

virtual int AMPISGBufferLeaf::pop_int ( )
pure virtual

Implements AMPIBuffer.

Implemented in CMPIVarSGBufferLeaf, and CMPISGBufferLeaf.

◆ pop_string()

virtual std::string AMPISGBufferLeaf::pop_string ( )
pure virtual

Implements AMPIBuffer.

Implemented in CMPIVarSGBufferLeaf, and CMPISGBufferLeaf.

◆ receive()

virtual void AMPISGBufferLeaf::receive ( )
pure virtual

Implemented in CMPIVarSGBufferLeaf, and CMPISGBufferLeaf.

◆ send()

virtual void AMPISGBufferLeaf::send ( )
pure virtual

Implemented in CMPIVarSGBufferLeaf, and CMPISGBufferLeaf.

◆ status()

const MPI_Status& AMPISGBufferLeaf::status ( )
inline

References AMPIBuffer::m_status.

Member Data Documentation

◆ m_dbl_increment

int AMPISGBufferLeaf::m_dbl_increment
protected

the "packing size" of int/double

Referenced by AMPISGBufferLeaf(), and CMPIVarSGBufferLeaf::append().

◆ m_int_increment

int AMPISGBufferLeaf::m_int_increment
protected

◆ m_root

int AMPISGBufferLeaf::m_root
protected

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