|
B2BITS FIX Antenna HFT
1.0.17
|
Include dependency graph for object_pool.h:
This graph shows which files directly or indirectly include this file:Classes | |
| struct | ObjPoolBiListElem< ElemT > |
| struct | ObjPoolElem< ElemT > |
Typedefs | |
| typedef unsigned | obj_idx_t |
Enumerations | |
| enum | ObjPoolGrowStrategy { NoGrowth, GrowByAllocNewElements, GrowByAllocNewPool } |
Functions | |
| template<class ElemT > | |
| struct | __attribute__ ((aligned(64))) object_pool |
| ElemT * | get_object (obj_idx_t *obj_idx=NULL) |
| ElemT * | get_object_nolock (obj_idx_t *obj_idx) |
| ElemT * | get_object_NOLOCK (obj_idx_t *obj_idx) |
| ElemT * | get_object_slave () |
| ElemT * | get_object_slave_NOLOCK () |
| ElemT * | getObjectByIdx (obj_idx_t idx) |
| int | idxOf (ElemT *elem) |
| void | init (int staticPoolObjcount, enum ObjPoolGrowStrategy growStrategy) |
| bool | isSlave () |
| object_pool (object_pool< ElemT > *master) | |
| void | reset () |
| void | return_object (ElemT *elem) |
| void | return_object_NOLOCK (ElemT *elem) |
| bool | return_object_slave (ElemT *elem) |
| bool | return_object_slave_NOLOCK (ElemT *elem) |
| ~object_pool () | |
Variables | |
| object_pool< ElemT > *volatile | curr_ |
| ElemT * | elems_ |
| enum ObjPoolGrowStrategy | growStrategy_ |
| object_pool< ElemT > * | master_ |
| bilist< object_pool< ElemT > > | poolChain_ |
| unsigned | staticPoolSize_ |
| typedef unsigned obj_idx_t |
| enum ObjPoolGrowStrategy |
| struct __attribute__ | ( | (aligned(64)) | ) |
References curr_, elems_, master_, and object_pool().
| ElemT* get_object | ( | obj_idx_t * | obj_idx = NULL | ) |
| ElemT* get_object_nolock | ( | obj_idx_t * | obj_idx | ) |
| ElemT* get_object_NOLOCK | ( | obj_idx_t * | obj_idx | ) |
References atom_addrwide_read, atom_addrwide_write, curr_, elems_, GrowByAllocNewElements, GrowByAllocNewPool, growStrategy_, likely(), NoGrowth, poolChain_, and staticPoolSize_.
| ElemT* get_object_slave | ( | ) |
References atom_addrwide_read, atomic_addrwide_bool_compare_swap, cpu_relax, elems_, and likely().
| ElemT* get_object_slave_NOLOCK | ( | ) |
References atom_addrwide_read, atom_addrwide_write, and elems_.
| ElemT* getObjectByIdx | ( | obj_idx_t | idx | ) |
References elems_, GrowByAllocNewElements, growStrategy_, and staticPoolSize_.
| int idxOf | ( | ElemT * | elem | ) |
References elems_, and staticPoolSize_.
| void init | ( | int | staticPoolObjcount, |
| enum ObjPoolGrowStrategy | growStrategy | ||
| ) |
References elems_, growStrategy_, poolChain_, reset(), and staticPoolSize_.
Referenced by __attribute__(), fifo_create(), and message_queue_create().
|
inline |
References master_.
Referenced by return_object(), and return_object_NOLOCK().
|
explicit |
Referenced by __attribute__().
| void reset | ( | ) |
References atom_addrwide_write, elems_, and staticPoolSize_.
Referenced by __attribute__(), Engine::IndexFileT< FileT >::Data::Data(), and init().
| void return_object | ( | ElemT * | elem | ) |
| void return_object_NOLOCK | ( | ElemT * | elem | ) |
| bool return_object_slave | ( | ElemT * | elem | ) |
References atom_addrwide_read, atom_addrwide_write, atomic_addrwide_bool_compare_swap, BARRIER, cpu_relax, elems_, likely(), master_, and staticPoolSize_.
Referenced by return_object().
| bool return_object_slave_NOLOCK | ( | ElemT * | elem | ) |
References atom_addrwide_read, atom_addrwide_write, elems_, master_, and staticPoolSize_.
Referenced by return_object_NOLOCK().
| ~object_pool | ( | ) |
References elems_, and poolChain_.
| object_pool< ElemT >* volatile curr_ |
Referenced by __attribute__(), get_object(), get_object_nolock(), and get_object_NOLOCK().
| ElemT* elems_ |
| enum ObjPoolGrowStrategy growStrategy_ |
Referenced by get_object(), get_object_nolock(), get_object_NOLOCK(), getObjectByIdx(), init(), return_object(), and return_object_NOLOCK().
| object_pool< ElemT >* master_ |
Referenced by __attribute__(), isSlave(), return_object_slave(), and return_object_slave_NOLOCK().
| bilist< object_pool< ElemT > > poolChain_ |
Referenced by get_object(), get_object_nolock(), get_object_NOLOCK(), init(), and ~object_pool().
| unsigned staticPoolSize_ |
1.8.5