Allocate and free raw blocks on Base's heap. More...
Classes | |
| struct | Allocator |
std::shared_ptr allocator that uses Allocate / Free. More... | |
| struct | ObjectDeleter |
Destroy T and return its block to Free. More... | |
Functions | |
| void * | Allocate (std::size_t bytes) |
Allocate bytes on Base's heap. | |
| void | Free (void *pointer) noexcept |
| Release a block obtained from Allocate. | |
| template<class T , class... Args> | |
| Shared< T > | MakeShared (Args &&... args) |
Construct T on Base's heap and wrap it in Shared. | |
| template<class T , class... Args> | |
| Unique< T > | MakeUnique (Args &&... args) |
Construct T on Base's heap and wrap it in Unique. | |
Allocate and free raw blocks on Base's heap.
Declarations match the private heap.cxx definitions. The private header is not installed; public templates need these names here.
| void * StormByte::Heap::Allocate | ( | std::size_t | bytes | ) |
Allocate bytes on Base's heap.
| bytes | Block size in octets. Zero is forwarded to operator new. |
| std::bad_alloc | When the allocator cannot satisfy the request. |
|
noexcept |
Release a block obtained from Allocate.
| pointer | Block address, or a null pointer. |
| Shared< T > StormByte::Heap::MakeShared | ( | Args &&... | args | ) |