An object pool consists of a containing array using a (pseudo-)free list to provide reusable objects of a given type
The type of objects contained within the pool
Arguments provided when initializing a pool object
The amount of objects currently available in the pool
Get the next available object from the pool
Arguments to initialize the pooled object
The pooled object
An object pool consists of a containing array using a (pseudo-)free list to provide reusable objects of a given type