IBAMR  IBAMR version 0.19.
Public Member Functions | Private Member Functions | List of all members
IBTK::Streamable Class Referenceabstract

Class Streamable is an abstract interface for objects that can be packed into SAMRAI::tbox::AbstractStream data streams. More...

#include <ibtk/Streamable.h>

Inheritance diagram for IBTK::Streamable:
Inheritance graph
[legend]

Public Member Functions

 Streamable ()=default
 Default empty constructor. More...
 
virtual ~Streamable ()=default
 Virtual destructor. More...
 
virtual int getStreamableClassID () const =0
 Return the unique class identifier used to specify the StreamableFactory object used by the StreamableManager to extract Streamable objects from data streams. More...
 
virtual size_t getDataStreamSize () const =0
 Return an upper bound on the amount of space required to pack the object to a buffer. More...
 
virtual void packStream (SAMRAI::tbox::AbstractStream &stream)=0
 Pack data into the output stream. More...
 
virtual void registerPeriodicShift (const SAMRAI::hier::IntVector< NDIM > &offset, const Vector &displacement)
 Indicate that the Streamable object has been shifted across a periodic boundary. More...
 

Private Member Functions

 Streamable (const Streamable &from)=delete
 Copy constructor. More...
 
Streamableoperator= (const Streamable &that)=delete
 Assignment operator. More...
 

Detailed Description

Note
Each concrete Streamable class must have a corresponding concrete StreamableFactory class. Classes that implement the Streamable interface are able to pack themselves into a stream; the corresponding StreamableFactory class is used to unpack that data and construct the corresponding Streamable object.
Class StreamableManager should be used for all communications and storage operations.
See also
StreamableFactory
StreamableManager

Constructor & Destructor Documentation

◆ Streamable() [1/2]

IBTK::Streamable::Streamable ( )
default

◆ ~Streamable()

virtual IBTK::Streamable::~Streamable ( )
virtualdefault

◆ Streamable() [2/2]

IBTK::Streamable::Streamable ( const Streamable from)
privatedelete
Note
This constructor is not implemented and should not be used.
Parameters
fromThe value to copy to this object.

Member Function Documentation

◆ getStreamableClassID()

virtual int IBTK::Streamable::getStreamableClassID ( ) const
pure virtual

◆ getDataStreamSize()

virtual size_t IBTK::Streamable::getDataStreamSize ( ) const
pure virtual

◆ packStream()

virtual void IBTK::Streamable::packStream ( SAMRAI::tbox::AbstractStream stream)
pure virtual

◆ registerPeriodicShift()

virtual void IBTK::Streamable::registerPeriodicShift ( const SAMRAI::hier::IntVector< NDIM > &  offset,
const Vector displacement 
)
virtual
Note
A default empty implementation is provided.

◆ operator=()

Streamable& IBTK::Streamable::operator= ( const Streamable that)
privatedelete
Note
This operator is not implemented and should not be used.
Parameters
thatThe value to assign to this object.
Returns
A reference to this object.

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