ludus::foundation::AllocationDomain¶
Ludus Wiki · API overview · Browse API
Class
GetAllocationStatistics in allocation_statistics.hpp.Note
Declared in modules/foundation/memory/include/ludus/foundation/memory/allocation_domain.hpp
#include <ludus/foundation/memory/allocation_domain.hpp>
class ludus::foundation::AllocationDomain final
Types¶
AllocateFunction¶
using ludus::foundation::AllocationDomain::AllocateFunction = void* (*)(void*, usize, usize) noexcept
Related types: usize
Declared in modules/foundation/memory/include/ludus/foundation/memory/allocation_domain.hpp
FreeFunction¶
using ludus::foundation::AllocationDomain::FreeFunction = void (*)(void*, void*, usize, usize) noexcept
Related types: usize
Declared in modules/foundation/memory/include/ludus/foundation/memory/allocation_domain.hpp
Methods¶
AllocationDomain¶
constexpr ludus::foundation::AllocationDomain::AllocationDomain(void *context, AllocateFunction allocate, FreeFunction free) noexcept
constinit so it is usable before dynamic initialization. | Parameter | Description |
|---|---|
context |
Borrowed backend state; callbacks decide whether nullptr is valid.
|
allocate |
Thread-safe callback that reports allocation failure with nullptr.
|
free |
Thread-safe callback that releases allocations from this backend.
|
Note
Related types: FreeFunction · AllocateFunction
Declared in modules/foundation/memory/include/ludus/foundation/memory/allocation_domain.hpp
AllocationDomain¶
ludus::foundation::AllocationDomain::AllocationDomain(const AllocationDomain &)=delete
Declared in modules/foundation/memory/include/ludus/foundation/memory/allocation_domain.hpp
operator=¶
AllocationDomain & ludus::foundation::AllocationDomain::operator=(const AllocationDomain &)=delete
Related types: AllocationDomain
Declared in modules/foundation/memory/include/ludus/foundation/memory/allocation_domain.hpp
AllocationDomain¶
ludus::foundation::AllocationDomain::AllocationDomain(AllocationDomain &&)=delete
Declared in modules/foundation/memory/include/ludus/foundation/memory/allocation_domain.hpp
operator=¶
AllocationDomain & ludus::foundation::AllocationDomain::operator=(AllocationDomain &&)=delete
Related types: AllocationDomain
Declared in modules/foundation/memory/include/ludus/foundation/memory/allocation_domain.hpp
TryAllocate¶
void * ludus::foundation::AllocationDomain::TryAllocate(usize bytes, usize alignment) const noexcept
| Parameter | Description |
|---|---|
bytes |
Requested storage size in bytes.
|
alignment |
Nonzero power-of-two storage alignment.
|
Returns
Note
Related types: usize
Declared in modules/foundation/memory/include/ludus/foundation/memory/allocation_domain.hpp
Free¶
void ludus::foundation::AllocationDomain::Free(void *pointer, usize bytes, usize alignment) const noexcept
| Parameter | Description |
|---|---|
pointer |
Storage previously allocated through this domain, or nullptr.
|
bytes |
Original requested size in bytes.
|
alignment |
Original allocation alignment.
|
Precondition
Related types: usize
Declared in modules/foundation/memory/include/ludus/foundation/memory/allocation_domain.hpp