#include <rutz/freelist.h>
Public Member Functions | |
free_list_base (std::size_t size_check) | |
Construct an (empty) free list. | |
void * | allocate (std::size_t bytes) |
Allocate space for a new object. | |
void | deallocate (void *space) |
Return an object to the free list. | |
void | release_free_nodes () |
Release all nodes currently on the free list (e.g. to conserve memory). | |
std::size_t | alloc_size () const |
Query the chunk size that this freelist is for. | |
std::size_t | num_allocations () const |
Query how many allocations have been made. | |
Classes | |
struct | node |
Free-node class for free-list memory pools. |
Definition at line 46 of file freelist.h.
GVX_DBG_REGISTER rutz::free_list_base::free_list_base | ( | std::size_t | size_check | ) |
Construct an (empty) free list.
All objects from this list must be of size size_check.
Definition at line 42 of file freelist.cc.
void * rutz::free_list_base::allocate | ( | std::size_t | bytes | ) |
Allocate space for a new object.
If there are chunks available in the free list, one of those is returned; otherwise new memory is allocated with malloc() or equivalent.
Definition at line 48 of file freelist.cc.