29 #ifndef BIT_MEMORY_UTILITIES_FREELIST_HPP 30 #define BIT_MEMORY_UTILITIES_FREELIST_HPP 32 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 34 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 36 #include "pointer_utilities.hpp" 37 #include "uninitialized_storage.hpp" 95 bool empty()
const noexcept;
100 std::size_t
size()
const noexcept;
132 void store(
void* p ) noexcept;
154 #include "detail/freelist.inl" void clear()
Empties the freelist cache.
bool empty() const noexcept
Returns whether or not this memory_block_cache is empty.
void * request() noexcept
Requests raw memory from the freelist, if any exists.
void store(void *p) noexcept
Stores raw memory into this freelist.
void steal(freelist &other) noexcept
Steals raw meory from an existing freelist.
A simple freelist that uses intrusive pointers inside raw memory.
constexpr freelist() noexcept
Default constructs an empty freelist.
std::size_t size() const noexcept
Returns the number of entries in this freelist.
void swap(freelist &other) noexcept
Swaps this with another block cache.