Represents a pool that manages a set of reusable objects.
Creates an instance of ObjectPool.
A function used to create a new object when the pool is empty.
A function used to destroy objects when clearing the pool.
Acquires an object from the pool or creates a new one if the pool is empty.
An object from the pool or a new one if the pool is empty.
Destroys all objects in the pool and empties it.
Releases an object back into the pool for reuse.
The object to be released into the pool.
Represents a pool that manages a set of reusable objects.