A class implementing object pooling for particles and contacts.
Definition dem_object_pool.hpp:19
ContactPW * GetContactPW()
Get a free ContactPW object from the pool, creating a new one if necessary.
Definition dem_object_pool.cpp:25
ContactPP * Clone(ContactPP const *cnt)
Clone a ContactPP object.
Definition dem_object_pool.cpp:30
void RecycleContactPP(ContactPP **cnt)
Recycle a ContactPP object and store it in the pool for later re-use.
Definition dem_object_pool.cpp:43
void RecycleContactPW(ContactPW **cnt)
Recycle a ContactPW object and store it in the pool for later re-use.
Definition dem_object_pool.cpp:48
DEMObjectPool & operator=(const DEMObjectPool &)=delete
Copy assignment operator deleted.
Particle * GetParticle()
Get a free Particle object from the pool, creating a new one if necessary.
Definition dem_object_pool.cpp:7
DEMObjectPool(const DEMObjectPool &)=delete
Copy constructor deleted.
~DEMObjectPool()
Destructor for the DEMObjectPool class.
Definition dem_object_pool.cpp:83
ContactPP * GetContactPP()
Get a free ContactPP object from the pool, creating a new one if necessary.
Definition dem_object_pool.cpp:20
void RecycleParticle(Particle **p)
Recycle a Particle object and store it in the pool for later re-use.
Definition dem_object_pool.cpp:38
static DEMObjectPool & GetInstance()
Get the singleton instance of the DEMObjectPool.
Definition dem_object_pool.hpp:36
Definition particle.hpp:26
Definition bond_entry.hpp:7
std::vector< T > VecXT
Definition utils_macros.hpp:31