template <typename T>
class DefaultObjectPoolPolicy
Defined at line 25 of file ../../src/ui/lib/escher/util/object_pool.h
Default policy for constructing and destroying ObjectPool objects. Each
object is constructed and destroyed one-by-one.
When replacing this policy with a different one, clients are free to do
whatever they want as long as:
- all 4 of these methods exist, since ObjectPool calls them.
- a constructor is called before an allocated object is returned
- a destructor is called before the pool is cleared/destroyed.
- there is no double construction/destruction
Public Methods
template <typename... Args>
void InitializePoolObject (T * ptr, Args &&... args)
Default construction policy is to use placement-new.
Defined at line 29 of file ../../src/ui/lib/escher/util/object_pool.h
void DestroyPoolObject (T * ptr)
Default destruction policy is to invoke the destructor in-place.
Defined at line 34 of file ../../src/ui/lib/escher/util/object_pool.h
void InitializePoolObjectBlock (T * objects, size_t block_index, size_t num_objects)
Default block initialization policy is to do nothing; each object is
constructed one-by-one via InitializePoolObject().
Defined at line 38 of file ../../src/ui/lib/escher/util/object_pool.h
void DestroyPoolObjectBlock (T * objects, size_t block_index, size_t num_objects)
Default block destruction policy is to do nothing; each object is destroyed
one-by-one via DestroyPoolObject().
Defined at line 42 of file ../../src/ui/lib/escher/util/object_pool.h