11 #ifndef PARTICLE_BASE_H
12 #define PARTICLE_BASE_H
109 template <
class T,
unsigned Dim>
116 template <
class PLayout>
124 template<
class PLayout>
238 attrib_container_t::size_type
269 void destroy(
size_t,
size_t,
bool =
false);
DataSourceObject * make_DataSourceObject(const char *, DataConnect *, int, Field< T, Dim, M, C > &)
std::ostream & operator<<(std::ostream &, const IpplParticleBase< PLayout > &)
std::string::iterator iterator
virtual DataSourceObject * createDataSourceObject(const char *nm, DataConnect *dc, int tm)
size_t getMessageAndCreate(Message &)
ParticleBConds< Position_t, PLayout::Dimension > & getBConds()
void setTotalNum(size_t n)
size_t getSingleMessage(Message &)
size_t ghostGetMessage(Message &, int)
void performDestroy(bool updateLocalNum=false)
size_t readMsgBuffer(MsgBuffer *)
const PLayout & getLayout() const
size_t ghostPutMessage(Message &, size_t, size_t)
void initialize(PLayout *)
size_t getTotalNum() const
void ghostDestroy(size_t, size_t)
std::vector< ParticleAttribBase * > attrib_container_t
size_t getMessage(Message &)
void addAttribute(ParticleAttribBase &pa)
ParticleAttribBase & getAttribute(attrib_container_t::size_type N)
PLayout::Position_t Position_t
PLayout::ParticlePos_t ParticlePos_t
size_t putMessage(Message &, size_t, size_t)
attrib_container_t::iterator attrib_iterator
size_t getGhostNum() const
std::vector< std::pair< size_t, size_t > > DestroyList
size_t getDestroyNum() const
size_t writeMsgBuffer(MsgBuffer *&, const std::vector< size_t > &)
bool singleInitNode() const
ParticleAttribBase::SortList_t SortList_t
void setBConds(const ParticleBConds< Position_t, PLayout::Dimension > &bc)
size_t writeMsgBufferWithOffsets(MsgBuffer *&, const std::vector< size_t > &, const std::vector< O > &)
void setUpdateFlag(UpdateFlags f, bool val)
PLayout::pair_iterator pair_iterator
PLayout::UpdateFlags UpdateFlags
attrib_container_t::size_type numAttributes() const
bool getUpdateFlag(UpdateFlags f) const
void printDebug(Inform &)
size_t getLocalNum() const
PLayout::ParticleIndex_t ParticleIndex_t
void globalCreate(size_t np)
size_t readGhostMsgBuffer(MsgBuffer *, int)
attrib_container_t AttribList
IpplParticleBase(PLayout *layout)
size_t ghostGetSingleMessage(Message &, int)
void createWithID(unsigned id)
void destroy(size_t, size_t, bool=false)
void setLocalNum(size_t n)
std::vector< SortListIndex_t > SortList_t
void setUpdateFlag(UpdateFlags f, bool val)
void setBConds(const ParticleBConds< T, Dim > &bc)
ParticleBConds< T, Dim > & getBConds()
bool getUpdateFlag(UpdateFlags f) const