sead
Loading...
Searching...
No Matches
sead::ExpHeap Class Reference

#include <seadExpHeap.h>

Inherits sead::Heap.

Public Member Functions

 ExpHeap (const SafeString &name, Heap *parent, void *start, u32 size, HeapDirection direction, bool enable_lock)
 ~ExpHeap () override
const void * getStartAddress () const override
const void * getEndAddress () const override
size_t getSize () const override
Public Member Functions inherited from sead::Heap
 Heap (const SafeString &name, Heap *parent, void *start, size_t size, HeapDirection direction, bool enable_lock)
 ~Heap () override
virtual void destroy ()=0
virtual size_t adjust ()=0
void * alloc (size_t size, s32 alignment)
virtual void * tryAlloc (size_t size, s32 alignment)=0
virtual void free (void *ptr)=0
virtual void * resizeFront (void *ptr, size_t new_size)=0
virtual void * resizeBack (void *ptr, size_t new_size)=0
virtual void freeAll ()=0
virtual size_t getFreeSize () const =0
virtual size_t getMaxAllocatableSize (s32 alignment=4) const =0
HeapgetParent () const
virtual bool isInclude (const void *ptr) const =0
HeapDirection getDirection () const
virtual bool isFreeable () const =0
virtual bool isResizable () const =0
virtual bool isAdjustable () const =0
void setEnableLock (bool enable_lock)
bool isEnableLock () const
bool lock ()
bool unlock ()
void setEnableWarning (bool)
bool isEnableWarning () const
void setAccessThread (Thread *)
ThreadgetAccessThread () const
virtual void dump () const
OffsetList< Heap >::constIterator childBegin () const
OffsetList< Heap >::constIterator childEnd () const
u32 childSize () const
OffsetList< IDisposer >::constIterator disposerBegin () const
OffsetList< IDisposer >::constIterator disposerEnd () const
u32 disposerSize () const
void pushBackChild_ (Heap *)
Public Member Functions inherited from sead::IDisposer
 IDisposer ()
virtual ~IDisposer ()
Public Member Functions inherited from sead::INamable
 INamable ()
 INamable (const SafeString &name)
void setName (const SafeString &name)
const SafeStringgetName () const

Static Public Member Functions

static ExpHeaptryCreate (u32 size, const SafeString &name, Heap *parent=nullptr, HeapDirection direction=cHeapDirection_Forward, bool enable_lock=false)

Additional Inherited Members

Public Types inherited from sead::Heap
enum  HeapDirection { cHeapDirection_Forward = 1 , cHeapDirection_Reverse = -1 }
Protected Member Functions inherited from sead::Heap
virtual void genInformation_ (hostio::Context *context)
HeapfindContainHeap_ (const void *ptr)
bool hasNoChild_ () const
void destruct_ ()
void dispose_ (const void *, const void *)
void appendDisposer_ (IDisposer *o)
void removeDisposer_ (IDisposer *o)
void eraseChild_ (Heap *)
void checkAccessThread_ () const
friend IDisposer::IDisposer ()
friend IDisposer::~IDisposer ()
Protected Attributes inherited from sead::Heap
void * mStart
size_t mSize
HeapmParent
HeapList mChildren
ListNode mListNode
DisposerList mDisposerList
HeapDirection mDirection
CriticalSection mCS
BitFlag32 mFlag

Constructor & Destructor Documentation

◆ ExpHeap()

sead::ExpHeap::ExpHeap ( const SafeString & name,
Heap * parent,
void * start,
u32 size,
HeapDirection direction,
bool enable_lock )

◆ ~ExpHeap()

sead::ExpHeap::~ExpHeap ( )
override

Member Function Documentation

◆ getStartAddress()

const void * sead::ExpHeap::getStartAddress ( ) const
overridevirtual

Implements sead::Heap.

◆ getEndAddress()

const void * sead::ExpHeap::getEndAddress ( ) const
overridevirtual

Implements sead::Heap.

◆ getSize()

size_t sead::ExpHeap::getSize ( ) const
overridevirtual

Implements sead::Heap.

◆ tryCreate()

ExpHeap * sead::ExpHeap::tryCreate ( u32 size,
const SafeString & name,
Heap * parent = nullptr,
HeapDirection direction = cHeapDirection_Forward,
bool enable_lock = false )
static