8#ifndef _ADTF_UCOM_ANT_OBJECT_POOL_INTERFACE_INCLUDES_HEADER_
9#define _ADTF_UCOM_ANT_OBJECT_POOL_INTERFACE_INCLUDES_HEADER_
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
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 --> Only the final implementation can be destroyed!
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.
Namespace for all functionality provided since v3.0.
Namespace for the ADTF uCOM3 SDK.
ant::IObjectPool IObjectPool
Alias always bringing the latest version of IObjectPool into scope.
Namespace for entire ADTF SDK.