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

#include <seadFrameHeap.h>

Inherits sead::Heap.

Classes

class  State

Public Member Functions

 FrameHeap (const SafeString &name, Heap *parent, void *start, u32 size, HeapDirection direction, bool enable_lock)
 ~FrameHeap () override
void destroy () override
size_t adjust () override
void * tryAlloc (size_t size, s32 alignment) override
void free (void *ptr) override
void * resizeFront (void *, size_t) override
void * resizeBack (void *, size_t) override
void freeAll () override
const void * getStartAddress () const override
const void * getEndAddress () const override
size_t getSize () const override
size_t getFreeSize () const override
size_t getMaxAllocatableSize (s32 alignment=4) const override
bool isInclude (const void *) const override
bool isFreeable () const override
bool isResizable () const override
bool isAdjustable () 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
void * alloc (size_t size, s32 alignment)
HeapgetParent () const
HeapDirection getDirection () const
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 FrameHeaptryCreate (u32 size, const SafeString &name, Heap *parent=nullptr, HeapDirection direction=cHeapDirection_Forward, bool enable_lock=false)

Protected Member Functions

void initialize_ ()
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

State state
Protected Attributes inherited from sead::Heap
void * mStart
size_t mSize
HeapmParent
HeapList mChildren
ListNode mListNode
DisposerList mDisposerList
HeapDirection mDirection
CriticalSection mCS
BitFlag32 mFlag

Additional Inherited Members

Public Types inherited from sead::Heap
enum  HeapDirection { cHeapDirection_Forward = 1 , cHeapDirection_Reverse = -1 }

Constructor & Destructor Documentation

◆ FrameHeap()

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

◆ ~FrameHeap()

sead::FrameHeap::~FrameHeap ( )
override

Member Function Documentation

◆ destroy()

void sead::FrameHeap::destroy ( )
overridevirtual

Implements sead::Heap.

◆ adjust()

size_t sead::FrameHeap::adjust ( )
overridevirtual

Implements sead::Heap.

◆ tryAlloc()

void * sead::FrameHeap::tryAlloc ( size_t size,
s32 alignment )
overridevirtual

Implements sead::Heap.

◆ free()

void sead::FrameHeap::free ( void * ptr)
overridevirtual

Implements sead::Heap.

◆ resizeFront()

void * sead::FrameHeap::resizeFront ( void * ,
size_t  )
overridevirtual

Implements sead::Heap.

◆ resizeBack()

void * sead::FrameHeap::resizeBack ( void * ,
size_t  )
overridevirtual

Implements sead::Heap.

◆ freeAll()

void sead::FrameHeap::freeAll ( )
overridevirtual

Implements sead::Heap.

◆ getStartAddress()

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

Implements sead::Heap.

◆ getEndAddress()

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

Implements sead::Heap.

◆ getSize()

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

Implements sead::Heap.

◆ getFreeSize()

size_t sead::FrameHeap::getFreeSize ( ) const
overridevirtual

Implements sead::Heap.

◆ getMaxAllocatableSize()

size_t sead::FrameHeap::getMaxAllocatableSize ( s32 alignment = 4) const
overridevirtual

Implements sead::Heap.

◆ isInclude()

bool sead::FrameHeap::isInclude ( const void * ) const
overridevirtual

Implements sead::Heap.

◆ isFreeable()

bool sead::FrameHeap::isFreeable ( ) const
overridevirtual

Implements sead::Heap.

◆ isResizable()

bool sead::FrameHeap::isResizable ( ) const
overridevirtual

Implements sead::Heap.

◆ isAdjustable()

bool sead::FrameHeap::isAdjustable ( ) const
overridevirtual

Implements sead::Heap.

◆ tryCreate()

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

◆ initialize_()

void sead::FrameHeap::initialize_ ( )
protected

Member Data Documentation

◆ state

State sead::FrameHeap::state
protected