void release(T *element)
Release element in pool for being reused.
vector< T * > usedElements
T * allocate()
Allocate a new element from pool.
vector< T * > freeElements
void reset()
Reset this pool.
virtual T * instantiate()=0
Instantiate element.
#define FORBID_CLASS_COPY(CLASS)