Get object pool statistics about free and used resources.
Acquire a new object resource from pool.
This operation has O(1) complexity.
Arguments forwarded to object: - constructor (when resource is acquired for the first time) - initializer (when resource is reused)
Handle to object resource.
Preempts an object resource which initially wasn't managed by this DLLObjectPool.
After preemption, object will be put into used resources list.
This operation has O(1) complexity.
Object resource.
Handle to object resource that was preempted.
Release all object resources.
This method has O(n) complexity, because it needs to iterate over all used resources
to free them (i.e. call their destructors).
Release handle to object resource.
This operation has O(1) complexity.
Handle to object resource.
Release object resource
This method has O(n) complexity, because we need to find according handle
for that object resource before performing release.
Object resource.
Obtain value of the handle to object resource.
Handle to object resource.
Object resource from the handle.
Class which manages a pool of object resources.
Internal implementation is based on 2 Doubly Linked Lists, one for free resources, and another for used ones.