Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
nw4hbm::snd::detail::FrameHeap Class Reference

#include <FrameHeap.h>

+ Collaboration diagram for nw4hbm::snd::detail::FrameHeap:

Classes

struct  Block
 
struct  Section
 

Public Types

typedef void(*) FreeCallback(void *buffer, u32 size, void *callbackArg)
 

Public Member Functions

 FrameHeap ()
 
 ~FrameHeap ()
 
bool Create (void *base, u32 size)
 
void Destroy ()
 
void Clear ()
 
void * Alloc (u32 size, FreeCallback callback, void *callbackArg)
 
int SaveState ()
 
void LoadState (int id)
 
int GetCurrentLevel () const
 
u32 GetFreeSize () const
 
bool IsValid () const
 

Private Types

typedef struct nw4hbm::snd::detail::FrameHeap::Block Block
 
typedef ut::LinkList< Block, offsetof(Block, mLink)> BlockList
 
typedef struct nw4hbm::snd::detail::FrameHeap::Section Section
 
typedef ut::LinkList< Section, offsetof(Section, mLink)> SectionList
 

Private Member Functions

bool NewSection ()
 
void ClearSection ()
 

Private Attributes

MEMHeapHandle mHandle
 
SectionList mSectionList
 

Static Private Attributes

static const int BLOCK_BUFFER_SIZE = OSRoundUp32B(sizeof(Block))
 
static const int HEAP_ALIGN = 32
 

Member Typedef Documentation

◆ Block

struct nw4hbm::snd::detail::FrameHeap::Block nw4hbm::snd::detail::FrameHeap::Block
private

◆ BlockList

◆ FreeCallback

void(*) nw4hbm::snd::detail::FrameHeap::FreeCallback(void *buffer, u32 size, void *callbackArg)

◆ Section

struct nw4hbm::snd::detail::FrameHeap::Section nw4hbm::snd::detail::FrameHeap::Section
private

◆ SectionList

Constructor & Destructor Documentation

◆ FrameHeap()

nw4hbm::snd::detail::FrameHeap::FrameHeap ( )

◆ ~FrameHeap()

nw4hbm::snd::detail::FrameHeap::~FrameHeap ( )

Member Function Documentation

◆ Alloc()

void * nw4hbm::snd::detail::FrameHeap::Alloc ( u32 size,
FreeCallback callback,
void * callbackArg )

◆ Clear()

void nw4hbm::snd::detail::FrameHeap::Clear ( )

◆ ClearSection()

void nw4hbm::snd::detail::FrameHeap::ClearSection ( )
private

◆ Create()

bool nw4hbm::snd::detail::FrameHeap::Create ( void * base,
u32 size )

◆ Destroy()

void nw4hbm::snd::detail::FrameHeap::Destroy ( )

◆ GetCurrentLevel()

int nw4hbm::snd::detail::FrameHeap::GetCurrentLevel ( ) const

◆ GetFreeSize()

u32 nw4hbm::snd::detail::FrameHeap::GetFreeSize ( ) const

◆ IsValid()

bool nw4hbm::snd::detail::FrameHeap::IsValid ( ) const
inline

◆ LoadState()

void nw4hbm::snd::detail::FrameHeap::LoadState ( int id)

◆ NewSection()

bool nw4hbm::snd::detail::FrameHeap::NewSection ( )
private

◆ SaveState()

int nw4hbm::snd::detail::FrameHeap::SaveState ( )

Member Data Documentation

◆ BLOCK_BUFFER_SIZE

const int nw4hbm::snd::detail::FrameHeap::BLOCK_BUFFER_SIZE = OSRoundUp32B(sizeof(Block))
staticprivate

◆ HEAP_ALIGN

const int nw4hbm::snd::detail::FrameHeap::HEAP_ALIGN = 32
staticprivate

◆ mHandle

MEMHeapHandle nw4hbm::snd::detail::FrameHeap::mHandle
private

◆ mSectionList

SectionList nw4hbm::snd::detail::FrameHeap::mSectionList
private

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