Managed frame heap type that wraps a unmanaged Heap instance. More...
Public Member Functions | |
FrameHeap (Heap *heapUnsafe, IHeapAllocationTracker tracker) | |
Creates a new instance of FrameHeap. More... | |
void * | Allocate (int size) |
Allocates a block of memory of the specified size. More... | |
void * | AllocateAndClear (int size) |
Allocates a block of memory of the specified size and clears it. More... | |
Ptr | AllocateAndClearPtr (int size) |
Allocates a Ptr for a block of memory of the specified size and clears it. More... | |
Ptr | AllocatePtr (int size) |
Allocates a Ptr for a block of memory of the specified size. More... | |
void | Free (Ptr ptr) |
Frees a Ptr for a block of memory. More... | |
void | Free (void *ptr) |
Frees a block of memory. More... | |
void * | Void (Ptr p) |
Converts a Ptr to a void pointer. More... | |
Ptr | Void (void *ptr) |
Converts a pointer to a void pointer. More... | |
TPtr * | Void< TPtr > (Ptr p) |
Converts a Ptr to a typed pointer. More... | |
Public Member Functions inherited from Quantum.Allocator.IFrameHeap | |
void * | Expand (void *buffer, int currentSize, int newSize) |
Expands a memory block in the given buffer to the specified new size. More... | |
T * | ExpandArray< T > (T *buffer, int currentSize, int newSize) |
Expands an array in the given buffer to the specified new size. More... | |
Properties | |
Heap * | HeapUnsafe [get] |
Access the unmanaged Heap instance. More... | |
IHeapAllocationTracker | Tracker [get] |
Access the allocation tracker. More... | |
Managed frame heap type that wraps a unmanaged Heap instance.
|
inline |
Creates a new instance of FrameHeap.
heapUnsafe | The unmanaged heap instance |
tracker | The tracker instance |
|
inline |
Allocates a block of memory of the specified size.
size | The size of the memory block to allocate. |
Implements Quantum.Allocator.IFrameHeap.
|
inline |
Allocates a Ptr for a block of memory of the specified size.
size | The size of the memory block to allocate. |
Implements Quantum.Allocator.IFrameHeap.
|
inline |
Allocates a block of memory of the specified size and clears it.
size | The size of the memory block to allocate. |
Implements Quantum.Allocator.IFrameHeap.
|
inline |
Allocates a Ptr for a block of memory of the specified size and clears it.
size | The size of the memory block to allocate. |
Implements Quantum.Allocator.IFrameHeap.
|
inline |
Frees a Ptr for a block of memory.
ptr | A Ptr for the memory block to free. |
Implements Quantum.Allocator.IFrameHeap.
|
inline |
Frees a block of memory.
ptr | A pointer to the memory block to free. |
Implements Quantum.Allocator.IFrameHeap.
|
inline |
Converts a pointer to a void pointer.
ptr | A pointer to convert. |
Implements Quantum.Allocator.IFrameHeap.
|
inline |
Converts a Ptr to a void pointer.
p | A Ptr to convert. |
Implements Quantum.Allocator.IFrameHeap.
|
inline |
Converts a Ptr to a typed pointer.
TPtr | The type of the pointer to convert to. |
p | A Ptr to convert. |
Implements Quantum.Allocator.IFrameHeap.
TPtr | : | unmanaged |
|
get |
Access the allocation tracker.