sead
Loading...
Searching...
No Matches
sead::StrTreeMap< KeyStrN, Value > Class Template Reference

#include <seadStrTreeMap.h>

Inherits sead::TreeMapImpl< SafeString >.

Inherited by sead::FixedStrTreeMap< KeyStrN, Value, N >.

Classes

class  ForEachConstContext
class  Node

Public Member Functions

 StrTreeMap ()
void setBuffer (s32 node_max, void *buf)
void allocBuffer (s32 node_max, Heap *heap, s32 alignment=4)
void freeBuffer ()
bool isBufferReady () const
bool isEmpty () const
bool isFull () const
s32 size () const
s32 maxSize () const
Value * find (const SafeString &key) const
bool contains (const SafeString &key) const
void insert (const SafeString &key, const Value &value)
void clear ()
void eraseNode (Node *node)
void eraseNodeForClear (TreeMapNode< SafeString > *n)
template<typename T>
void forEach (const T &fun) const
Public Member Functions inherited from sead::TreeMapImpl< SafeString >
 TreeMapImpl ()
void insert (Node *node)
void erase (const SafeString &key)
Nodefind (const SafeString &key) const
bool contains (const SafeString &key) const
void forEach (const T &fun) const

Protected Attributes

FreeList mFreeList
s32 mSize
s32 mNodeMax
Protected Attributes inherited from sead::TreeMapImpl< SafeString >
NodemRoot

Additional Inherited Members

Public Types inherited from sead::TreeMapImpl< SafeString >
typedef TreeMapNode< SafeStringNode
Static Public Member Functions inherited from sead::TreeMapImpl< SafeString >
static Nodemin (Node *h)
static NodeeraseMin (Node *h)
static NodemoveRedLeft (Node *h)
static NodemoveRedRight (Node *h)
static NodefixUp (Node *h)
static NoderotateLeft (Node *h)
static NoderotateRight (Node *h)
static void flipColors (Node *h)
static bool isRed (Node *h)

Constructor & Destructor Documentation

◆ StrTreeMap()

template<s32 KeyStrN, typename Value>
sead::StrTreeMap< KeyStrN, Value >::StrTreeMap ( )
inline

Member Function Documentation

◆ setBuffer()

template<s32 KeyStrN, typename Value>
void sead::StrTreeMap< KeyStrN, Value >::setBuffer ( s32 node_max,
void * buf )
inline

◆ allocBuffer()

template<s32 KeyStrN, typename Value>
void sead::StrTreeMap< KeyStrN, Value >::allocBuffer ( s32 node_max,
Heap * heap,
s32 alignment = 4 )
inline

◆ freeBuffer()

template<s32 KeyStrN, typename Value>
void sead::StrTreeMap< KeyStrN, Value >::freeBuffer ( )
inline

◆ isBufferReady()

template<s32 KeyStrN, typename Value>
bool sead::StrTreeMap< KeyStrN, Value >::isBufferReady ( ) const
inline

◆ isEmpty()

template<s32 KeyStrN, typename Value>
bool sead::StrTreeMap< KeyStrN, Value >::isEmpty ( ) const
inline

◆ isFull()

template<s32 KeyStrN, typename Value>
bool sead::StrTreeMap< KeyStrN, Value >::isFull ( ) const
inline

◆ size()

template<s32 KeyStrN, typename Value>
s32 sead::StrTreeMap< KeyStrN, Value >::size ( ) const
inline

◆ maxSize()

template<s32 KeyStrN, typename Value>
s32 sead::StrTreeMap< KeyStrN, Value >::maxSize ( ) const
inline

◆ find()

template<s32 KeyStrN, typename Value>
Value * sead::StrTreeMap< KeyStrN, Value >::find ( const SafeString & key) const
inline

◆ contains()

template<s32 KeyStrN, typename Value>
bool sead::StrTreeMap< KeyStrN, Value >::contains ( const SafeString & key) const
inline

◆ insert()

template<s32 KeyStrN, typename Value>
void sead::StrTreeMap< KeyStrN, Value >::insert ( const SafeString & key,
const Value & value )
inline

◆ clear()

template<s32 KeyStrN, typename Value>
void sead::StrTreeMap< KeyStrN, Value >::clear ( )
inline

◆ eraseNode()

template<s32 KeyStrN, typename Value>
void sead::StrTreeMap< KeyStrN, Value >::eraseNode ( Node * node)
inline

◆ eraseNodeForClear()

template<s32 KeyStrN, typename Value>
void sead::StrTreeMap< KeyStrN, Value >::eraseNodeForClear ( TreeMapNode< SafeString > * n)
inline

◆ forEach()

template<s32 KeyStrN, typename Value>
template<typename T>
void sead::StrTreeMap< KeyStrN, Value >::forEach ( const T & fun) const
inline

Member Data Documentation

◆ mFreeList

template<s32 KeyStrN, typename Value>
FreeList sead::StrTreeMap< KeyStrN, Value >::mFreeList
protected

◆ mSize

template<s32 KeyStrN, typename Value>
s32 sead::StrTreeMap< KeyStrN, Value >::mSize
protected

◆ mNodeMax

template<s32 KeyStrN, typename Value>
s32 sead::StrTreeMap< KeyStrN, Value >::mNodeMax
protected