#include <patchbuffer.h>
Inherits PatchAccepter< GRID_TYPE1 >, and PatchProvider< GRID_TYPE2 >.
Public Types | |
typedef GRID_TYPE1::CellType | CellType |
typedef SerializationBuffer < CellType >::BufferType | BufferType |
Public Member Functions | |
PatchBuffer (const Region< DIM > ®ion=Region< DIM >()) | |
virtual void | put (const GRID_TYPE1 &grid, const Region< DIM > &, const std::size_t nanoStep) |
virtual void | get (GRID_TYPE2 *destinationGrid, const Region< DIM > &patchableRegion, const std::size_t nanoStep, const bool remove=true) |
Static Public Attributes | |
static const int | DIM = GRID_TYPE1::DIM |
Private Attributes | |
Region< DIM > | region |
std::deque< BufferType > | storedRegions |
Friends | |
class | PatchBufferTest |
typedef SerializationBuffer<CellType>::BufferType LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::BufferType |
typedef GRID_TYPE1::CellType LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::CellType |
Reimplemented from LibGeoDecomp::PatchProvider< GRID_TYPE2 >.
LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::PatchBuffer | ( | const Region< DIM > & | region = Region<DIM>() |
) | [inline, explicit] |
virtual void LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::get | ( | GRID_TYPE2 * | destinationGrid, | |
const Region< DIM > & | patchableRegion, | |||
const std::size_t | nanoStep, | |||
const bool | remove = true | |||
) | [inline, virtual] |
Implements LibGeoDecomp::PatchProvider< GRID_TYPE2 >.
References LibGeoDecomp::PatchProvider< GRID_TYPE2 >::checkNanoStepGet(), LibGeoDecomp::erase_min(), LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::region, LibGeoDecomp::PatchProvider< GRID_TYPE2 >::storedNanoSteps, LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::storedRegions, and LibGeoDecomp::GridVecConv::vectorToGrid().
virtual void LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::put | ( | const GRID_TYPE1 & | grid, | |
const Region< DIM > & | , | |||
const std::size_t | nanoStep | |||
) | [inline, virtual] |
References LibGeoDecomp::PatchAccepter< GRID_TYPE1 >::checkNanoStepPut(), LibGeoDecomp::erase_min(), LibGeoDecomp::GridVecConv::gridToVector(), LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::region, LibGeoDecomp::PatchAccepter< GRID_TYPE1 >::requestedNanoSteps, LibGeoDecomp::PatchProvider< GRID_TYPE2 >::storedNanoSteps, and LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::storedRegions.
friend class PatchBufferTest [friend] |
const int LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::DIM = GRID_TYPE1::DIM [static] |
Reimplemented from LibGeoDecomp::PatchProvider< GRID_TYPE2 >.
Region<DIM> LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::region [private] |
std::deque<BufferType> LibGeoDecomp::PatchBuffer< GRID_TYPE1, GRID_TYPE2 >::storedRegions [private] |