template<typename Key, typename Node>
sead::IntrusiveTreeMap class

Base classes

template<typename Key>
class TreeMapImpl<Key>

Public types

using MapImpl = TreeMapImpl<Key>
using Node = TreeMapNode<Key>

Public functions

auto find(const Key& key) const -> Node*
template<typename Callable>
void forEach(const Callable& delegate) const
auto startIterating() const -> Node*
auto nextNode(Node* node) const -> Node*
void insert(Node* node)
void erase(const Key& key)
void clear()

Protected static functions

template<typename Callable>
static void forEach(Node* start, const Callable& callable)
static auto startIterating(Node* node) -> Node*
static auto rotateLeft(Node* node) -> Node*
static auto rotateRight(Node* node) -> Node*
static auto moveRedLeft(Node* node) -> Node*
static auto moveRedRight(Node* node) -> Node*
static auto findMin(Node* node) -> Node*
static auto eraseMin(Node* node) -> Node*
static auto fixUp(Node* node) -> Node*
static auto isRed(const Node* node) -> bool
static void flipColors(Node* node)

Protected functions

auto insert(Node* root, Node* node) -> Node*
auto erase(Node* root, const Key& key) -> Node*
auto find(Node* root, const Key& key) const -> Node*

Protected variables

Node* mRoot