|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|
prealloc_inc defines the number of objects that is availabe within ObjectPools memory; default: 100 More...
#include <ObjectPool.h>

Classes | |
| struct | rebind |
Public Types | |
| typedef T | value_type |
| typedef T * | pointer |
| typedef const T * | const_pointer |
| typedef T & | reference |
| typedef const T & | const_reference |
| typedef std::aligned_storage< sizeof(T), alignof(T)>::type | storage |
Public Member Functions | |
| ObjectPool (size_t blockElementCount=5000) | |
| ObjectPool (const ObjectPool &alloc) | |
| template<class U > | |
| ObjectPool (const ObjectPool< U > &alloc) | |
| ~ObjectPool () | |
| T * | address (T &x) const |
| const T * | address (const T &x) const |
| T * | allocate (size_t n=1, const T *=0) |
| void | deallocate (T *p, size_t n=1) |
| size_t | max_size () const |
| template<class U , class... Args> | |
| void | construct (U *p, Args &&...args) |
| template<class U > | |
| void | destroy (U *p) |
Public Attributes | |
| const size_t | blocksize_ |
Private Attributes | |
| std::set< void * > | areas_ |
| std::vector< void * > | empty_ |
| storage | stackstore [prealloc_inc] |
| bool | stackstore_used |
prealloc_inc defines the number of objects that is availabe within ObjectPools memory; default: 100
implements the interface of std::allocator. uses blocks of memory to speed up creation/deletion of object. possibly large memory consumption
Definition at line 59 of file ObjectPool.h.
| typedef const T* etiss::ObjectPool< T, prealloc_inc >::const_pointer |
Definition at line 71 of file ObjectPool.h.
| typedef const T& etiss::ObjectPool< T, prealloc_inc >::const_reference |
Definition at line 73 of file ObjectPool.h.
| typedef T* etiss::ObjectPool< T, prealloc_inc >::pointer |
Definition at line 70 of file ObjectPool.h.
| typedef T& etiss::ObjectPool< T, prealloc_inc >::reference |
Definition at line 72 of file ObjectPool.h.
| typedef std::aligned_storage<sizeof(T),alignof(T)>::type etiss::ObjectPool< T, prealloc_inc >::storage |
Definition at line 75 of file ObjectPool.h.
| typedef T etiss::ObjectPool< T, prealloc_inc >::value_type |
Definition at line 69 of file ObjectPool.h.
|
inline |
Definition at line 88 of file ObjectPool.h.
|
inline |
Definition at line 89 of file ObjectPool.h.
|
inline |
Definition at line 91 of file ObjectPool.h.
|
inline |
Definition at line 94 of file ObjectPool.h.
References etiss::ObjectPool< T, prealloc_inc >::areas_, and etiss::ObjectPool< T, prealloc_inc >::stackstore.
|
inline |
Definition at line 104 of file ObjectPool.h.
|
inline |
Definition at line 103 of file ObjectPool.h.
|
inline |
Definition at line 105 of file ObjectPool.h.
References etiss::ObjectPool< T, prealloc_inc >::areas_, etiss::ObjectPool< T, prealloc_inc >::blocksize_, etiss::ObjectPool< T, prealloc_inc >::empty_, ETISS_OBJECTPOOL_DBG_OBJLIMIT, etiss::ObjectPool< T, prealloc_inc >::stackstore, etiss::ObjectPool< T, prealloc_inc >::stackstore_used, and unlikely.
|
inline |
Definition at line 166 of file ObjectPool.h.
|
inline |
Definition at line 149 of file ObjectPool.h.
References etiss::ObjectPool< T, prealloc_inc >::empty_, and unlikely.
Referenced by etiss::decRef().

|
inline |
Definition at line 172 of file ObjectPool.h.
Referenced by etiss::decRef().

|
inline |
Definition at line 164 of file ObjectPool.h.
|
private |
Definition at line 65 of file ObjectPool.h.
Referenced by etiss::ObjectPool< T, prealloc_inc >::allocate(), and etiss::ObjectPool< T, prealloc_inc >::~ObjectPool().
| const size_t etiss::ObjectPool< T, prealloc_inc >::blocksize_ |
Definition at line 62 of file ObjectPool.h.
Referenced by etiss::ObjectPool< T, prealloc_inc >::allocate().
|
private |
Definition at line 66 of file ObjectPool.h.
Referenced by etiss::ObjectPool< T, prealloc_inc >::allocate(), and etiss::ObjectPool< T, prealloc_inc >::deallocate().
|
private |
Definition at line 78 of file ObjectPool.h.
Referenced by etiss::ObjectPool< T, prealloc_inc >::allocate(), and etiss::ObjectPool< T, prealloc_inc >::~ObjectPool().
|
private |
Definition at line 79 of file ObjectPool.h.
Referenced by etiss::ObjectPool< T, prealloc_inc >::allocate().