|
|
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.