8 #ifndef _ADTF_UCOM_ANT_OBJECT_POOL_INTERFACE_INCLUDES_HEADER_
9 #define _ADTF_UCOM_ANT_OBJECT_POOL_INTERFACE_INCLUDES_HEADER_
A common result class usable as return value throughout.
Base class for every interface type within the uCOM.
The IObjectPool interface provides methods for managing pools of objects.
virtual tResult ReleaseObject(const iobject_ptr< IObject > &i_pRelease)=0
A pooled Object will manage its Destroy Method with the UnrefObject Method.
virtual size_t GetUseCount() const =0
Get amount of objects currently in use.
virtual tResult ResizeCache(size_t i_nSize)=0
Resize the cache.
virtual size_t GetCacheSize() const =0
Get entire size of the cache which is also the amount of preallocated objects.
~IObjectPool()=default
Protected destructor --> Use implemented Destroy() instead of delete!
ADTF_IID(IObjectPool, "object_pool.ant.ucom.adtf.iid")
Marks the IObjectPool to be castable with the ucom_cast<>
Base object pointer to realize binary compatible reference counting in interface methods.
ant::IObjectPool IObjectPool
Alias always bringing the latest version of ant::IObjectPool into scope.
Namespace for entire ADTF SDK.