Ardour
9.0-pre0-582-g084a23a80d
|
#include <pool.h>
Public Member Functions | |
Pool (std::string name, unsigned long item_size, unsigned long nitems, PoolDumpCallback cb=NULL) | |
virtual | ~Pool () |
virtual void * | alloc () |
virtual void | release (void *) |
std::string | name () const |
guint | available () const |
guint | used () const |
guint | total () const |
Protected Attributes | |
PBD::RingBuffer< void * > | free_list |
a list of pointers to free items within block More... | |
std::string | _name |
Private Attributes | |
void * | _block |
data storage area More... | |
PoolDumpCallback | _dump |
callback to print pool contents More... | |
unsigned long | max_usage |
A pool of data items that can be allocated, read from and written to without system memory allocation or locking.
PBD::Pool::Pool | ( | std::string | name, |
unsigned long | item_size, | ||
unsigned long | nitems, | ||
PoolDumpCallback | cb = NULL |
||
) |
|
virtual |
|
virtual |
Reimplemented in PBD::CrossThreadPool, PBD::MultiAllocSingleReleasePool, and PBD::SingleAllocMultiReleasePool.
|
virtual |
Reimplemented in PBD::MultiAllocSingleReleasePool, and PBD::SingleAllocMultiReleasePool.
|
private |
|
protected |