IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
ice::ProxyAllocator Struct Referencefinal

#include <ice/mem_allocator_proxy.hxx>

Inheritance diagram for ice::ProxyAllocator:
ice::AllocatorBase< ice::build::is_debug||ice::build::is_develop >

Public Member Functions

 ProxyAllocator (ice::Allocator &backing_allocator, std::source_location=std::source_location::current()) noexcept
 ProxyAllocator (ice::Allocator &backing_allocator, std::string_view name, std::source_location=std::source_location::current()) noexcept
auto backing_allocator () noexcept -> ice::Allocator &
Public Member Functions inherited from ice::AllocatorBase< ice::build::is_debug||ice::build::is_develop >
 AllocatorBase (std::source_location const &) noexcept
 AllocatorBase (std::source_location const &, std::string_view) noexcept
 AllocatorBase (std::source_location const &, AllocatorBase &) noexcept
 AllocatorBase (std::source_location const &, AllocatorBase &, std::string_view) noexcept
auto allocate (ice::AllocRequest request) noexcept -> ice::AllocResult
auto allocate (ice::ChunkedAllocRequest const &request) noexcept -> ice::AllocResult
auto allocate (ice::u64 count=1) noexcept -> T *
void deallocate (void *pointer) noexcept
void deallocate (ice::Memory result) noexcept
auto create (Args &&... args) noexcept -> T *
void destroy (T *object) noexcept
auto allocation_count () const noexcept -> ice::u32
auto allocation_total_count () const noexcept -> ice::u32
auto allocation_size_inuse () const noexcept -> ice::usize
auto allocation_size_watermark () const noexcept -> ice::usize
virtual auto allocation_size (void *ptr) const noexcept -> ice::usize
auto debug_info () const noexcept -> ice::AllocatorDebugInfo const &
 Gives access to debug information for an allocator.

Protected Member Functions

auto do_allocate (ice::AllocRequest request) noexcept -> ice::AllocResult override
void do_deallocate (void *pointer) noexcept override
Protected Member Functions inherited from ice::AllocatorBase< ice::build::is_debug||ice::build::is_develop >
virtual ~AllocatorBase () noexcept=default

Additional Inherited Members

Static Public Attributes inherited from ice::AllocatorBase< ice::build::is_debug||ice::build::is_develop >
static constexpr ice::usize SizeNotTracked
static constexpr ice::u32 CountNotTracked
static constexpr bool HasDebugInformation

Constructor & Destructor Documentation

◆ ProxyAllocator() [1/2]

ice::ProxyAllocator::ProxyAllocator ( ice::Allocator & backing_allocator,
std::source_location src_loc = std::source_location::current() )
inlinenoexcept

◆ ProxyAllocator() [2/2]

ice::ProxyAllocator::ProxyAllocator ( ice::Allocator & backing_allocator,
std::string_view name,
std::source_location src_loc = std::source_location::current() )
inlinenoexcept

Member Function Documentation

◆ backing_allocator()

auto ice::ProxyAllocator::backing_allocator ( ) -> ice::Allocator &
inlinenoexcept

◆ do_allocate()

auto ice::ProxyAllocator::do_allocate ( ice::AllocRequest request) -> ice::AllocResult
inlineoverrideprotectedvirtualnoexcept

◆ do_deallocate()

void ice::ProxyAllocator::do_deallocate ( void * pointer)
inlineoverrideprotectedvirtualnoexcept

The documentation for this struct was generated from the following file: