ESyS-Particle  2.3
AMPISGBufferRoot Class Referenceabstract

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

#include <mpisgbuf.h>

Inheritance diagram for AMPISGBufferRoot:

Public Member Functions

 AMPISGBufferRoot (MPI_Comm)
 
virtual ~AMPISGBufferRoot ()
 
virtual void clear ()=0
 
virtual void gather ()=0
 
virtual void scatter ()=0
 
virtual void append (int, int)=0
 
virtual void append (double, int)=0
 
virtual void append (const char *, int)=0
 
virtual void append (const Vec3 &, int)
 
virtual int pop_int (int)=0
 
virtual double pop_double (int)=0
 
virtual void pop_doubles (int, double *, int)=0
 
virtual Vec3 pop_vector (int)
 
const MPI_Status & status ()
 

Protected Attributes

MPI_Comm m_comm
 the MPI communicator used for the scatter/gather operations More...
 
int m_rank
 the rank in this communicator More...
 
int m_size
 size of the communicator More...
 
int m_int_increment
 
int m_dbl_increment
 the "packing size" of int/double More...
 
MPI_Status m_status
 

Detailed Description

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

Author
Steffen Abe $Revision$ $Date$

Constructor & Destructor Documentation

AMPISGBufferRoot::AMPISGBufferRoot ( MPI_Comm  comm)

Constructor for AMPISGBufferRoot

Parameters
commthe MPI communicator

References m_comm, m_dbl_increment, m_int_increment, m_rank, and m_size.

virtual AMPISGBufferRoot::~AMPISGBufferRoot ( )
inlinevirtual

Member Function Documentation

virtual void AMPISGBufferRoot::append ( int  ,
int   
)
pure virtual

Implemented in CMPISGBufferRoot, and CMPIVarSGBufferRoot.

Referenced by append().

Here is the caller graph for this function:

virtual void AMPISGBufferRoot::append ( double  ,
int   
)
pure virtual

Implemented in CMPISGBufferRoot, and CMPIVarSGBufferRoot.

virtual void AMPISGBufferRoot::append ( const char *  ,
int   
)
pure virtual

Implemented in CMPISGBufferRoot, and CMPIVarSGBufferRoot.

void AMPISGBufferRoot::append ( const Vec3 v,
int  nslice 
)
virtual

References append(), Vec3::X(), Vec3::Y(), and Vec3::Z().

Here is the call graph for this function:

virtual void AMPISGBufferRoot::clear ( )
pure virtual

Implemented in CMPISGBufferRoot, and CMPIVarSGBufferRoot.

virtual void AMPISGBufferRoot::gather ( )
pure virtual

Implemented in CMPISGBufferRoot, and CMPIVarSGBufferRoot.

virtual double AMPISGBufferRoot::pop_double ( int  )
pure virtual

Implemented in CMPISGBufferRoot, and CMPIVarSGBufferRoot.

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

Implemented in CMPISGBufferRoot, and CMPIVarSGBufferRoot.

Referenced by pop_vector().

Here is the caller graph for this function:

virtual int AMPISGBufferRoot::pop_int ( int  )
pure virtual

Implemented in CMPISGBufferRoot, and CMPIVarSGBufferRoot.

Vec3 AMPISGBufferRoot::pop_vector ( int  nslice)
virtual

References pop_doubles().

Here is the call graph for this function:

virtual void AMPISGBufferRoot::scatter ( )
pure virtual

Implemented in CMPISGBufferRoot, and CMPIVarSGBufferRoot.

const MPI_Status& AMPISGBufferRoot::status ( )
inline

References m_status.

Member Data Documentation

int AMPISGBufferRoot::m_dbl_increment
protected

the "packing size" of int/double

Referenced by AMPISGBufferRoot(), and CMPIVarSGBufferRoot::append().

int AMPISGBufferRoot::m_int_increment
protected
int AMPISGBufferRoot::m_rank
protected
MPI_Status AMPISGBufferRoot::m_status
protected

Referenced by status().


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