ScopedMemoryAllocation¶
class ScopedMemoryAllocation
Allocates a block of memory with the given size in the given pool.
That allocation will be restricted to the current scope, and will be freed automatically when the scope ends.
Functions¶
Name | Description |
---|---|
ScopedMemoryAllocation | Default constructor. |
ScopedMemoryAllocation | Creates a new new scoped memory allocation. |
ScopedMemoryAllocation | Creates a new new scoped aligned memory allocation. |
~ScopedMemoryAllocation | Releases the allocated memory. |
PointerOf | Gets the allocated memory address. |
As | Converts the allocated memory address to a different type. |
Address | Gets the allocated memory address. |
Function Details¶
Address¶
[[nodiscard]] inline AmVoidPtr Address() const
Gets the allocated memory address.
- Return
- The allocated memory address.
As¶
template<typename T, typename std::enable_if_t<std::is_pointer_v<T>, bool> = false> [[nodiscard]] inline T As() const
Converts the allocated memory address to a different type.
- Return
- The allocated memory address converted to the specified type.
PointerOf¶
template<typename T> [[nodiscard]] inline T* PointerOf() const
Gets the allocated memory address.
- Return
- The allocated memory address.
ScopedMemoryAllocation¶
ScopedMemoryAllocation() = default
Default constructor.
ScopedMemoryAllocation(MemoryPoolKind pool, AmSize size, const char* file, AmUInt32 line)
Creates a new new scoped memory allocation.
- Parameter
pool
- The memory pool to allocate from.
- Parameter
size
- The size of the block to allocate.
- Parameter
file
- The file in which the allocation was made.
- Parameter
line
- The line in which the allocation was made.
ScopedMemoryAllocation(MemoryPoolKind pool, AmSize size, AmUInt32 alignment, const char* file, AmUInt32 line)
Creates a new new scoped aligned memory allocation.
- Parameter
pool
- The memory pool to allocate from.
- Parameter
size
- The size of the block to allocate.
- Parameter
alignment
- The alignment of the block to allocate.
- Parameter
file
- The file in which the allocation was made.
- Parameter
line
- The line in which the allocation was made.
~ScopedMemoryAllocation¶
~ScopedMemoryAllocation()
Releases the allocated memory.