ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
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 97 of file ObjectPool.h.
typedef const T* etiss::ObjectPool< T, prealloc_inc >::const_pointer |
Definition at line 109 of file ObjectPool.h.
typedef const T& etiss::ObjectPool< T, prealloc_inc >::const_reference |
Definition at line 111 of file ObjectPool.h.
typedef T* etiss::ObjectPool< T, prealloc_inc >::pointer |
Definition at line 108 of file ObjectPool.h.
typedef T& etiss::ObjectPool< T, prealloc_inc >::reference |
Definition at line 110 of file ObjectPool.h.
typedef std::aligned_storage<sizeof(T), alignof(T)>::type etiss::ObjectPool< T, prealloc_inc >::storage |
Definition at line 113 of file ObjectPool.h.
typedef T etiss::ObjectPool< T, prealloc_inc >::value_type |
Definition at line 107 of file ObjectPool.h.
|
inline |
Definition at line 126 of file ObjectPool.h.
|
inline |
Definition at line 127 of file ObjectPool.h.
|
inline |
Definition at line 129 of file ObjectPool.h.
|
inline |
Definition at line 132 of file ObjectPool.h.
References etiss::ObjectPool< T, prealloc_inc >::areas_, and etiss::ObjectPool< T, prealloc_inc >::stackstore.
|
inline |
Definition at line 142 of file ObjectPool.h.
References etiss::fault::x.
|
inline |
Definition at line 141 of file ObjectPool.h.
References etiss::fault::x.
|
inline |
Definition at line 143 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 204 of file ObjectPool.h.
References get_metrics::args.
|
inline |
Definition at line 187 of file ObjectPool.h.
References etiss::ObjectPool< T, prealloc_inc >::empty_, and unlikely.
Referenced by etiss::decRef().
|
inline |
Definition at line 210 of file ObjectPool.h.
Referenced by etiss::decRef().
|
inline |
Definition at line 202 of file ObjectPool.h.
|
private |
Definition at line 103 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 100 of file ObjectPool.h.
Referenced by etiss::ObjectPool< T, prealloc_inc >::allocate().
|
private |
Definition at line 104 of file ObjectPool.h.
Referenced by etiss::ObjectPool< T, prealloc_inc >::allocate(), and etiss::ObjectPool< T, prealloc_inc >::deallocate().
|
private |
Definition at line 116 of file ObjectPool.h.
Referenced by etiss::ObjectPool< T, prealloc_inc >::allocate(), and etiss::ObjectPool< T, prealloc_inc >::~ObjectPool().
|
private |
Definition at line 117 of file ObjectPool.h.
Referenced by etiss::ObjectPool< T, prealloc_inc >::allocate().