template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 263 of file resource_pool.hpp.
◆ TBucketVectortemplate<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
Definition at line 342 of file resource_pool.hpp.
◆ TClassFactory [1/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 80 of file resource_pool.hpp.
◆ TClassFactory [2/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 268 of file resource_pool.hpp.
◆ TLock [1/3]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 77 of file resource_pool.hpp.
◆ TLock [2/3]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 265 of file resource_pool.hpp.
◆ TLock [3/3]template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
Definition at line 339 of file resource_pool.hpp.
◆ TMethodtemplate<class TObjType , class TMethodClass >
Definition at line 354 of file obj_pool.hpp.
◆ TObjectsListtemplate<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
Definition at line 68 of file obj_pool.hpp.
◆ TObjectTypetemplate<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
Synonym to be able to use outside of the pool.
Definition at line 70 of file obj_pool.hpp.
◆ TObjTypetemplate<class TObjPool >
◆ TParenttemplate<class BV , class Lock = CNoLock>
Definition at line 51 of file bitset_pool.hpp.
◆ TPoolList [1/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 82 of file resource_pool.hpp.
◆ TPoolList [2/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 270 of file resource_pool.hpp.
◆ TReadLockGuard [1/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 78 of file resource_pool.hpp.
◆ TReadLockGuard [2/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 266 of file resource_pool.hpp.
◆ TResourcePooltemplate<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
Definition at line 341 of file resource_pool.hpp.
◆ TValue [1/3]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 76 of file resource_pool.hpp.
◆ TValue [2/3]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 264 of file resource_pool.hpp.
◆ TValue [3/3]template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
Definition at line 338 of file resource_pool.hpp.
◆ TValuePtr [1/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 81 of file resource_pool.hpp.
◆ TValuePtr [2/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 269 of file resource_pool.hpp.
◆ TWriteLockGuard [1/3]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 79 of file resource_pool.hpp.
◆ TWriteLockGuard [2/3]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 267 of file resource_pool.hpp.
◆ TWriteLockGuard [3/3]template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
Definition at line 340 of file resource_pool.hpp.
◆ Acquire()template<class TObjPool >
◆ CBucketPool() [1/2]template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
◆ CBucketPool() [2/2]template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
CBucketPool< Value, Lock, RPool >::CBucketPool ( size_t bucket_ini =0
, size_t resource_pool_capacity_limit = 0
) inline ◆ CBVResourcePool()
template<class BV , class Lock = CNoLock>
Definition at line 54 of file bitset_pool.hpp.
◆ Clear()template<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
void CObjPool< TObjType, TObjFactory >::Clear ( void ) inline ◆ CObjFactory_NewMethod()template<class TObjType , class TMethodClass >
Definition at line 360 of file obj_pool.hpp.
◆ CObjFactory_NewParam()template<class TObjType , class TParamType >
Definition at line 329 of file obj_pool.hpp.
◆ CObjPool() [1/3]template<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
◆ CObjPool() [2/3]template<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
CObjPool< TObjType, TObjFactory >::CObjPool ( const TObjFactory & factory, size_t max_storage_size =size_t(-1)
) inline
Create object pool.
Definition at line 88 of file obj_pool.hpp.
◆ CObjPool() [3/3]template<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
CObjPool< TObjType, TObjFactory >::CObjPool ( size_t max_storage_size =size_t(-1)
) inline
Create object pool.
Definition at line 77 of file obj_pool.hpp.
◆ CObjPoolGuard() [1/3]template<class TObjPool >
◆ CObjPoolGuard() [2/3]template<class TObjPool >
Create guard and automatically acquire object from the pool.
Definition at line 204 of file obj_pool.hpp.
◆ CObjPoolGuard() [3/3]template<class TObjPool >
Create guard to automatically return given object to the pool.
Definition at line 217 of file obj_pool.hpp.
◆ Create() ◆ CreateObject() [1/3] ◆ CreateObject() [2/3]template<class TObjType , class TParamType >
◆ CreateObject() [3/3]template<class TObjType , class TMethodClass >
◆ CResourcePool() [1/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ CResourcePool() [2/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 272 of file resource_pool.hpp.
◆ CResourcePool_Base() [1/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ CResourcePool_Base() [2/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Construction.
Definition at line 91 of file resource_pool.hpp.
◆ CResourcePoolGuard() [1/2] ◆ CResourcePoolGuard() [2/2] ◆ Delete() ◆ DeleteObject() [1/3] ◆ DeleteObject() [2/3]template<class TObjType , class TParamType >
Definition at line 338 of file obj_pool.hpp.
◆ DeleteObject() [3/3]template<class TObjType , class TMethodClass >
Definition at line 371 of file obj_pool.hpp.
◆ Forget()template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Makes the pool to forget the object.
Method scans the free objects list, finds the object and removes it from the structure. It is important that the object is not deleted and it is responsibility of the caller to destroy it.
Definition at line 185 of file resource_pool.hpp.
Referenced by CQueryParserEnv::ForgetPoolNode(), and CQueryParserEnv::ForgetPoolNodes().
◆ ForgetAll()template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ FreeAll()template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ FreeAllPools()template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
void CBucketPool< Value, Lock, RPool >::FreeAllPools ( ) inline ◆ Get() [1/4]template<class BV , class Lock = CNoLock>
◆ Get() [2/4]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ Get() [3/4] ◆ Get() [4/4]template<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
TObjType* CObjPool< TObjType, TObjFactory >::Get ( void ) inline ◆ GetBucketVector()template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
◆ GetCapacityLimit()template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ GetFreeList() [1/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ GetFreeList() [2/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Get internal list of free objects.
No MT sync here !
Definition at line 237 of file resource_pool.hpp.
◆ GetIfAvailable()template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ GetMaxStorageSize()template<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
size_t CObjPool< TObjType, TObjFactory >::GetMaxStorageSize ( void ) const inlineGet maximum number of unused objects that can be stored in the pool.
0 means unlimited storage.
Definition at line 154 of file obj_pool.hpp.
◆ GetObject()template<class TObjPool >
◆ GetResourcePool()template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
Get resource pool for the specified backet.
Backet grows automatically upon request
Definition at line 400 of file resource_pool.hpp.
References CBucketPool< Value, Lock, RPool >::m_Bucket, CBucketPool< Value, Lock, RPool >::m_Lock, and CBucketPool< Value, Lock, RPool >::m_ResourcePoolUpperLimit.
Referenced by CBV_PoolBlockAlloc< BA, Lock >::allocate(), CBV_PoolBlockAlloc< BA, Lock >::deallocate(), and CBV_PoolBlockAlloc< BA, Lock >::GetPool().
◆ GetSize()template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Get current pool size (number of objects in the pool)
Definition at line 111 of file resource_pool.hpp.
◆ operator TObjType *()template<class TObjPool >
◆ operator*()template<class TObjPool >
◆ operator->()template<class TObjPool >
◆ operator=() [1/6]template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
◆ operator=() [2/6]template<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
◆ operator=() [3/6]template<class TObjPool >
◆ operator=() [4/6]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ operator=() [5/6]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ operator=() [6/6] ◆ Put()template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ Release() [1/2] ◆ Release() [2/2]template<class TObjPool >
Release protected object without returning it to the pool.
After calling to this method it is caller responsibility to return object to the pool.
Definition at line 272 of file obj_pool.hpp.
References CObjPoolGuard< TObjPool >::m_Object, and NULL.
◆ Return() [1/4] ◆ Return() [2/4]template<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
void CObjPool< TObjType, TObjFactory >::Return ( TObjType * obj ) inline ◆ Return() [3/4]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ Return() [4/4]template<class TObjPool >
◆ SetCapacityLimit()template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
void CResourcePool_Base< Value, Lock, CF >::SetCapacityLimit ( size_t capacity_upper_limit ) inlineSet upper limit for pool capacity (everything above this is deleted)
Definition at line 105 of file resource_pool.hpp.
◆ SetMaxStorageSize()template<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
void CObjPool< TObjType, TObjFactory >::SetMaxStorageSize ( size_t max_storage_size ) inlineSet maximum number of unused objects that can be stored in the pool.
0 means unlimited storage.
Definition at line 161 of file obj_pool.hpp.
◆ x_FreeAll_NoLock()template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
void CBucketPool< Value, Lock, RPool >::x_FreeAll_NoLock ( ) inlineprivate ◆ ~CBucketPool()template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
◆ ~CObjPool()template<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
Destroy object pool and all objects it owns.
Definition at line 95 of file obj_pool.hpp.
◆ ~CObjPoolGuard()template<class TObjPool >
◆ ~CResourcePool_Base()template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 96 of file resource_pool.hpp.
◆ ~CResourcePoolGuard() ◆ m_Buckettemplate<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
Definition at line 430 of file resource_pool.hpp.
Referenced by CBucketPool< Value, Lock, RPool >::CBucketPool(), CBucketPool< Value, Lock, RPool >::FreeAllPools(), CBucketPool< Value, Lock, RPool >::GetBucketVector(), CBucketPool< Value, Lock, RPool >::GetResourcePool(), and CBucketPool< Value, Lock, RPool >::x_FreeAll_NoLock().
◆ m_CFtemplate<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ m_Factorytemplate<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
TObjFactory CObjPool< TObjType, TObjFactory >::m_Factory private ◆ m_FreeObjects [1/2]template<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
◆ m_FreeObjects [2/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 247 of file resource_pool.hpp.
Referenced by CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::Forget(), CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::ForgetAll(), CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::FreeAll(), CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::Get(), CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::GetFreeList(), CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::GetIfAvailable(), CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::GetSize(), and CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::Put().
◆ m_Lock [1/2]template<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
Definition at line 248 of file resource_pool.hpp.
Referenced by CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::Forget(), CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::ForgetAll(), CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::FreeAll(), CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::Get(), CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::GetIfAvailable(), CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::GetSize(), and CResourcePool_Base< CTreeNode, CNoLock, CResoursePool_NewClassFactory< CTreeNode > >::Put().
◆ m_Lock [2/2]template<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
◆ m_MaxStoragetemplate<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
size_t CObjPool< TObjType, TObjFactory >::m_MaxStorage private ◆ m_Methodtemplate<class TObjType , class TMethodClass >
◆ m_MethodObjtemplate<class TObjType , class TMethodClass >
◆ m_Objecttemplate<class TObjPool >
◆ m_ObjLocktemplate<class TObjType , class TObjFactory = CObjFactory_New<TObjType>>
◆ m_Paramtemplate<class TObjType , class TParamType >
◆ m_Pool [1/2]template<class TObjPool >
◆ m_Pool [2/2] ◆ m_ResourcePoolUpperLimittemplate<class Value , class Lock = CNoLock, class RPool = CResourcePool<Value, Lock>>
size_t CBucketPool< Value, Lock, RPool >::m_ResourcePoolUpperLimit protected ◆ m_Strattemplate<class BV , class Lock = CNoLock>
◆ m_UpperLimittemplate<class Value , class Lock = CNoLock, class CF = CResoursePool_NewClassFactory<Value>>
◆ m_ValueRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4