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