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

#include <ice/mem_allocator_snake.hxx>

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

Public Member Functions

 SnakeAllocator (ice::Allocator &backing_allocator, ice::SnakeAllocatorParams const &params={ }, std::source_location=std::source_location::current()) noexcept
 SnakeAllocator (ice::Allocator &backing_allocator, std::string_view name, ice::SnakeAllocatorParams const &params={ }, std::source_location=std::source_location::current()) noexcept
 ~SnakeAllocator () noexcept
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
void initialize (ice::SnakeAllocatorParams const &params) noexcept
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

◆ SnakeAllocator() [1/2]

ice::SnakeAllocator::SnakeAllocator ( ice::Allocator & backing_allocator,
ice::SnakeAllocatorParams const & params = { },
std::source_location = std::source_location::current() )
noexcept

◆ SnakeAllocator() [2/2]

ice::SnakeAllocator::SnakeAllocator ( ice::Allocator & backing_allocator,
std::string_view name,
ice::SnakeAllocatorParams const & params = { },
std::source_location = std::source_location::current() )
noexcept

◆ ~SnakeAllocator()

ice::SnakeAllocator::~SnakeAllocator ( )
noexcept

Member Function Documentation

◆ do_allocate()

auto ice::SnakeAllocator::do_allocate ( ice::AllocRequest request) -> ice::AllocResult
overrideprotectedvirtualnoexcept

◆ do_deallocate()

void ice::SnakeAllocator::do_deallocate ( void * pointer)
overrideprotectedvirtualnoexcept

◆ initialize()

void ice::SnakeAllocator::initialize ( ice::SnakeAllocatorParams const & params)
protectednoexcept

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