MySQL 8.0.40
Source Code Documentation
|
Heap wrapper that destroys the heap instance when it goes out of scope. More...
#include <mem0mem.h>
Classes | |
struct | mem_heap_free_functor |
A functor with no state to be used for mem_heap destruction. More... | |
Public Types | |
using | Type = mem_heap_t |
Public Member Functions | |
Scoped_heap () | |
Default constructor. More... | |
Scoped_heap (size_t n, ut::Location location) noexcept | |
Constructs heap with a free space of specified size. More... | |
~Scoped_heap ()=default | |
Destructor. More... | |
void | create (size_t n, ut::Location location) noexcept |
Create the heap, it must not already be created. More... | |
Type * | get () noexcept |
void | reset (Type *p) |
Set the pointer to p. More... | |
void | clear () noexcept |
Empty the heap. More... | |
void * | alloc (size_t n_bytes) noexcept |
Allocate memory in the heap. More... | |
Private Types | |
using | Ptr = std::unique_ptr< Type, mem_heap_free_functor > |
Private Member Functions | |
Scoped_heap (Scoped_heap &&)=delete | |
Scoped_heap (const Scoped_heap &)=delete | |
Scoped_heap & | operator= (Scoped_heap &&)=delete |
Scoped_heap & | operator= (const Scoped_heap &)=delete |
Private Attributes | |
Ptr | m_ptr {} |
Heap to use. More... | |
Heap wrapper that destroys the heap instance when it goes out of scope.
|
private |
using Scoped_heap::Type = mem_heap_t |
|
inline |
Default constructor.
|
inlinenoexcept |
Constructs heap with a free space of specified size.
[in] | n | Initial size of the heap to allocate. |
[in] | location | Location from where called. |
|
default |
Destructor.
|
privatedelete |
|
privatedelete |
|
inlinenoexcept |
Allocate memory in the heap.
[in] | n_bytes | Number of bytes to allocate. |
|
inlinenoexcept |
Empty the heap.
|
inlinenoexcept |
Create the heap, it must not already be created.
[in] | n | Initial size of the heap to allocate. |
[in] | location | Location from where called. |
|
inlinenoexcept |
|
privatedelete |
|
privatedelete |
|
inline |
Set the pointer to p.
[in] | p | New pointer value. |
|
private |
Heap to use.