10 struct VertexWiseContinuousMemoryPool;
94 void replace(
typename Container::iterator p, T* newCopy );
Memory pool offering continuous global memory for a particle species.
Container::iterator scatterAndUpdateIterator(const typename Container::iterator &p)
Scatter the data if not scattered yet and return the updated iterator.
VertexWiseContinuousMemoryPool()
static bool requestCompleteScatter()
Recommend complete scatter.
static tarch::logging::Log _log
T * _gatheredDataPointer
Is nullptr as long as data is not gathered.
void scatter()
If the data are scattered already, nothing is to be done.
bool isGathered() const
Is the vertex data gathered.
void clearAndReset()
Clears the underlying list of pointers and resets _gatheredDataPointer to nullptr.
void replace(typename Container::iterator p, T *newCopy)
Replace particle.
void gather()
Gather the particle.
std::list< T * > Container