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

#include <ice/mem_allocator.hxx>

Inheritance diagram for ice::AllocatorDebugInfo:
ice::AllocatorBase< true >

Public Member Functions

 AllocatorDebugInfo (std::source_location src_loc, std::string_view name) noexcept
 AllocatorDebugInfo (std::source_location const &src_loc, std::string_view name, ice::AllocatorDebugInfo &parent) noexcept
virtual ~AllocatorDebugInfo () noexcept
auto location () const noexcept -> std::source_location
auto name () const noexcept -> std::string_view
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
void track_child (ice::AllocatorDebugInfo *child_allocator) noexcept
void remove_child (ice::AllocatorDebugInfo *child_allocator) noexcept
auto parent_allocator () const noexcept -> ice::AllocatorDebugInfo const *
auto child_allocator () const noexcept -> ice::AllocatorDebugInfo const *
auto next_sibling () const noexcept -> ice::AllocatorDebugInfo const *

Protected Member Functions

void dbg_count_add () noexcept
void dbg_count_sub () noexcept

Protected Attributes

std::source_location const _source_location
std::string_view const _name
ice::AllocatorDebugInfo *const _parent
ice::AllocatorDebugInfo_children
ice::AllocatorDebugInfo_next_sibling
ice::AllocatorDebugInfo_prev_sibling
std::atomic< ice::u32_alloc_count
std::atomic< ice::u32_alloc_total_count
Internal * _internal

Constructor & Destructor Documentation

◆ AllocatorDebugInfo() [1/2]

ice::AllocatorDebugInfo::AllocatorDebugInfo ( std::source_location src_loc,
std::string_view name )
noexcept

◆ AllocatorDebugInfo() [2/2]

ice::AllocatorDebugInfo::AllocatorDebugInfo ( std::source_location const & src_loc,
std::string_view name,
ice::AllocatorDebugInfo & parent )
noexcept

◆ ~AllocatorDebugInfo()

virtual ice::AllocatorDebugInfo::~AllocatorDebugInfo ( )
virtualnoexcept

Member Function Documentation

◆ allocation_count()

auto ice::AllocatorDebugInfo::allocation_count ( ) const -> ice::u32
inlinenoexcept

◆ allocation_size_inuse()

auto ice::AllocatorDebugInfo::allocation_size_inuse ( ) const -> ice::usize
noexcept

◆ allocation_size_watermark()

auto ice::AllocatorDebugInfo::allocation_size_watermark ( ) const -> ice::usize
noexcept

◆ allocation_total_count()

auto ice::AllocatorDebugInfo::allocation_total_count ( ) const -> ice::u32
inlinenoexcept

◆ child_allocator()

auto ice::AllocatorDebugInfo::child_allocator ( ) const -> ice::AllocatorDebugInfo const *
noexcept

◆ dbg_count_add()

void ice::AllocatorDebugInfo::dbg_count_add ( )
protectednoexcept

◆ dbg_count_sub()

void ice::AllocatorDebugInfo::dbg_count_sub ( )
protectednoexcept

◆ location()

auto ice::AllocatorDebugInfo::location ( ) const -> std::source_location
inlinenoexcept

◆ name()

auto ice::AllocatorDebugInfo::name ( ) const -> std::string_view
inlinenoexcept

◆ next_sibling()

auto ice::AllocatorDebugInfo::next_sibling ( ) const -> ice::AllocatorDebugInfo const *
noexcept

◆ parent_allocator()

auto ice::AllocatorDebugInfo::parent_allocator ( ) const -> ice::AllocatorDebugInfo const *
noexcept

◆ remove_child()

void ice::AllocatorDebugInfo::remove_child ( ice::AllocatorDebugInfo * child_allocator)
noexcept

◆ track_child()

void ice::AllocatorDebugInfo::track_child ( ice::AllocatorDebugInfo * child_allocator)
noexcept

Member Data Documentation

◆ _alloc_count

std::atomic<ice::u32> ice::AllocatorDebugInfo::_alloc_count
protected

◆ _alloc_total_count

std::atomic<ice::u32> ice::AllocatorDebugInfo::_alloc_total_count
protected

◆ _children

ice::AllocatorDebugInfo* ice::AllocatorDebugInfo::_children
protected

◆ _internal

Internal* ice::AllocatorDebugInfo::_internal
protected

◆ _name

std::string_view const ice::AllocatorDebugInfo::_name
protected

◆ _next_sibling

ice::AllocatorDebugInfo* ice::AllocatorDebugInfo::_next_sibling
protected

◆ _parent

ice::AllocatorDebugInfo* const ice::AllocatorDebugInfo::_parent
protected

◆ _prev_sibling

ice::AllocatorDebugInfo* ice::AllocatorDebugInfo::_prev_sibling
protected

◆ _source_location

std::source_location const ice::AllocatorDebugInfo::_source_location
protected

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