sead
Loading...
Searching...
No Matches
sead::TreeMapImpl< Key > Class Template Reference

#include <seadTreeMapImpl.h>

Public Types

typedef TreeMapNode< Key > Node

Public Member Functions

 TreeMapImpl ()
void insert (Node *node)
Nodeinsert (Node *h, Node *node)
void erase (const Key &key)
Nodeerase (Node *h, const Key &key)
Nodefind (const Key &key) const
Nodefind (Node *node, const Key &key) const
bool contains (const Key &key) const
template<typename T>
void forEach (const T &fun) const

Static Public Member Functions

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)
template<typename T>
static void forEach (Node *node, const T &fun)

Protected Attributes

NodemRoot

Member Typedef Documentation

◆ Node

template<typename Key>
typedef TreeMapNode<Key> sead::TreeMapImpl< Key >::Node

Constructor & Destructor Documentation

◆ TreeMapImpl()

template<typename Key>
sead::TreeMapImpl< Key >::TreeMapImpl ( )
inline

Member Function Documentation

◆ insert() [1/2]

template<typename Key>
void sead::TreeMapImpl< Key >::insert ( Node * node)
inline

◆ insert() [2/2]

template<typename Key>
TreeMapNode< Key > * sead::TreeMapImpl< Key >::insert ( Node * h,
Node * node )

◆ erase() [1/2]

template<typename Key>
void sead::TreeMapImpl< Key >::erase ( const Key & key)
inline

◆ erase() [2/2]

template<typename Key>
TreeMapNode< Key > * sead::TreeMapImpl< Key >::erase ( Node * h,
const Key & key )

◆ find() [1/2]

template<typename Key>
Node * sead::TreeMapImpl< Key >::find ( const Key & key) const
inline

◆ find() [2/2]

template<typename Key>
TreeMapNode< Key > * sead::TreeMapImpl< Key >::find ( Node * node,
const Key & key ) const

◆ contains()

template<typename Key>
bool sead::TreeMapImpl< Key >::contains ( const Key & key) const
inline

◆ min()

template<typename Key>
TreeMapNode< Key > * sead::TreeMapImpl< Key >::min ( Node * h)
inlinestatic

◆ eraseMin()

template<typename Key>
TreeMapNode< Key > * sead::TreeMapImpl< Key >::eraseMin ( Node * h)
inlinestatic

◆ moveRedLeft()

template<typename Key>
TreeMapNode< Key > * sead::TreeMapImpl< Key >::moveRedLeft ( Node * h)
inlinestatic

◆ moveRedRight()

template<typename Key>
TreeMapNode< Key > * sead::TreeMapImpl< Key >::moveRedRight ( Node * h)
inlinestatic

◆ fixUp()

template<typename Key>
TreeMapNode< Key > * sead::TreeMapImpl< Key >::fixUp ( Node * h)
inlinestatic

◆ rotateLeft()

template<typename Key>
TreeMapNode< Key > * sead::TreeMapImpl< Key >::rotateLeft ( Node * h)
inlinestatic

◆ rotateRight()

template<typename Key>
TreeMapNode< Key > * sead::TreeMapImpl< Key >::rotateRight ( Node * h)
inlinestatic

◆ flipColors()

template<typename Key>
void sead::TreeMapImpl< Key >::flipColors ( Node * h)
inlinestatic

◆ isRed()

template<typename Key>
bool sead::TreeMapImpl< Key >::isRed ( Node * h)
inlinestatic

◆ forEach() [1/2]

template<typename Key>
template<typename T>
void sead::TreeMapImpl< Key >::forEach ( const T & fun) const
inline

◆ forEach() [2/2]

template<typename Key>
template<typename T>
void sead::TreeMapImpl< Key >::forEach ( Node * node,
const T & fun )
inlinestatic

Member Data Documentation

◆ mRoot

template<typename Key>
Node* sead::TreeMapImpl< Key >::mRoot
protected