52 template<typename T> requires (std::is_pointer_v<T> == false)
68 constexpr
void reset() noexcept;
90 :
AllocRequest{ memory_info.size, memory_info.alignment }
94 template<
typename T>
requires (std::is_pointer_v<T> ==
false)
#define ICE_ASSERT_CORE(expression)
Definition assert_core.hxx:43
Root namespace for all APIs part of the IceShard engine project.
Definition array.hxx:12
auto memset(ice::Memory memory, ice::u8 value) noexcept -> ice::Memory
auto alloc(ice::usize size) noexcept -> ice::AllocResult
std::uint64_t u64
Definition types.hxx:27
void release(void *pointer) noexcept
auto ptr_add(void *pointer, ice::usize offset) noexcept -> void *
Definition mem_arithmetic.hxx:34
constexpr auto count(T const (&)[Size]) noexcept -> ice::u32
Utility function to access number of elements of a typed C array.
Definition base.hxx:52
void release_aligned(void *pointer) noexcept
auto alloc_aligned(ice::usize size, ice::ualign alignment) noexcept -> ice::AllocResult
constexpr ice::meminfo meminfo_of
Definition mem_info.hxx:18
ualign
Definition mem_size_types.hxx:39
@ b_default
Definition mem_size_types.hxx:55
std::uint8_t u8
Definition types.hxx:24
auto memcpy(void *dest, void const *source, ice::usize size) noexcept -> void *
Definition mem_align.hxx:13
ice::ualign alignment
Definition mem_align.hxx:16
T value
Definition mem_align.hxx:14
constexpr AllocRequest() noexcept=default
ice::usize size
Number of bytes to allocate.
Definition mem.hxx:37
ice::ualign alignment
Alignment requested for this allocation.
Definition mem.hxx:41
The result of an allocation from an ice::Allocator object.
Definition mem.hxx:16
void * memory
A pointer holding the address of the allocated memory block.
Definition mem.hxx:18
ice::usize size
The final size of the allocated block.
Definition mem.hxx:22
ice::ualign alignment
The actual alignment of this allocation.
Definition mem.hxx:26
constexpr void finalize(ice::AllocResult result) const noexcept
Definition mem.hxx:127
constexpr auto include(T *&ptrref, ice::u64 count) noexcept
Definition mem.hxx:110
ice::u64 _chunk_count
Definition mem.hxx:59
ice::usize _chunk_offsets[14]
Definition mem.hxx:60
void ** _chunk_pointers[15]
Definition mem.hxx:61
constexpr ChunkedAllocRequest() noexcept=default
constexpr void reset() noexcept
Definition mem.hxx:139
ice::meminfo _request_meminfo
Definition mem.hxx:58
Definition mem_data.hxx:17
Definition mem_memory.hxx:13
Definition mem_size_types.hxx:59
Represents a unsigned size value on the given platform.
Definition mem_size_types.hxx:26