Lumiera
0.pre.03
»edit your freedom«
|
Pool of allocated buffer Blocks of a specific size. Helper for implementing a Diagnostic BufferProvider; actually does just heap allocations for the Blocks, but keeps a collection of allocated Blocks around. Individual entries can be retrieved and thus removed from the responsibility of BlockPool.
The idea is that each buffer starts its lifecycle within some pool and later gets "emitted" to an output sequence, where it remains for later investigation and diagnostics.
Definition at line 104 of file tracking-heap-block-provider.cpp.
Public Member Functions | |
Block & | createBlock () |
Block * | find (void *blockLocation) |
void | initialise (size_t blockSize) |
bool | isValid () const |
operator bool () const | |
uint | prepare_for (uint number_of_expected_buffers) |
size_t | size () const |
Block * | transferResponsibility (Block *allocatedBlock) |
Private Member Functions | |
bool | verify_all_children_idle () |
Static Private Member Functions | |
static bool | is_in_sane_state (Block const &block) |
Private Attributes | |
PoolHolder | blockList_ |
uint | maxAllocCount_ |
size_t | memBlockSize_ |