|
constexpr | freelist () noexcept |
| Default constructs an empty freelist.
|
|
| freelist (freelist &&other) noexcept=default |
| Move-assigns a freelist from an existing freelist.
|
|
| freelist (const freelist &other)=delete |
|
freelist & | operator= (freelist &&other)=delete |
|
freelist & | operator= (const freelist &other)=delete |
|
void | swap (freelist &other) noexcept |
| Swaps this with another block cache. More...
|
|
bool | empty () const noexcept |
| Returns whether or not this memory_block_cache is empty. More...
|
|
std::size_t | size () const noexcept |
| Returns the number of entries in this freelist. More...
|
|
void | clear () |
| Empties the freelist cache.
|
|
void * | request () noexcept |
| Requests raw memory from the freelist, if any exists. More...
|
|
void | steal (freelist &other) noexcept |
| Steals raw meory from an existing freelist.
|
|
void | store (void *p) noexcept |
| Stores raw memory into this freelist. More...
|
|
A simple freelist that uses intrusive pointers inside raw memory.
This is dissimilar from the memory_block_cache in that it does not store each block sie in the freelist; it only knows of the pointers. The semantics, ownership, and valdity of the pointers must all be managed from outside
Definition at line 53 of file freelist.hpp.