IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
Public 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 </home/runner/work/IBAMR/IBAMR/ibtk/include/ibtk/Streamable.h>

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

Public Member Functions

 Streamable ()=default
 Default empty constructor.
 
virtual ~Streamable ()=default
 Virtual destructor.
 
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.
 
virtual size_t getDataStreamSize () const =0
 Return an upper bound on the amount of space required to pack the object to a buffer.
 
virtual void packStream (SAMRAI::tbox::AbstractStream &stream)=0
 Pack data into the output stream.
 
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...
 

Detailed Description

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

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

Member Function Documentation

◆ registerPeriodicShift()

void IBTK::Streamable::registerPeriodicShift ( const SAMRAI::hier::IntVector< NDIM > &  offset,
const Vector &  displacement 
)
virtual

Indicate that the Streamable object has been shifted across a periodic boundary.

Note
A default empty implementation is provided.

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