1#ifndef SEAD_TREENODE_H_
2#define SEAD_TREENODE_H_
4#include <basis/seadTypes.h>
37static_assert(
sizeof(
TreeNode) == 0x10,
"sead::TreeNode size mismatch");
103static_assert(
sizeof(
TTreeNode<
int*>) == 0x14,
"sead::TTreeNode<T> size mismatch");
Definition seadTreeNode.h:81
Definition seadTreeNode.h:78
Definition seadTreeNode.h:75
Definition seadTreeNode.h:72
Definition seadTreeNode.h:42
nextConstIterator nextConstEnd() const
depthFirstIterator depthFirstBegin() const
void pushBackChild(TTreeNode< T > *o)
Definition seadTreeNode.h:63
nextIterator childBegin() const
depthFirstIterator depthFirstEnd() const
TTreeNode< T > * parent() const
Definition seadTreeNode.h:56
depthFirstConstIterator depthFirstConstBegin() const
const TTreeNode< T > * findRoot() const
Definition seadTreeNode.h:61
T & val()
Definition seadTreeNode.h:67
depthFirstConstIterator depthFirstWithoutRootConstBegin() const
depthFirstIterator depthFirstWithoutRootBegin() const
void pushFrontChild(TTreeNode< T > *o)
Definition seadTreeNode.h:64
const T & val() const
Definition seadTreeNode.h:68
void pushBackSibling(TTreeNode< T > *o)
Definition seadTreeNode.h:62
TTreeNode< T > * child() const
Definition seadTreeNode.h:57
TTreeNode()
Definition seadTreeNode.h:44
nextIterator nextBegin() const
TTreeNode< T > * findRoot()
Definition seadTreeNode.h:60
nextConstIterator childConstEnd() const
nextConstIterator nextConstBegin() const
nextConstIterator childConstBegin() const
TTreeNode(T data)
Definition seadTreeNode.h:50
TTreeNode< T > * prev() const
Definition seadTreeNode.h:59
T mData
Definition seadTreeNode.h:100
void insertAfterSelf(TTreeNode< T > *o)
Definition seadTreeNode.h:66
depthFirstConstIterator depthFirstConstEnd() const
nextIterator childEnd() const
void insertBeforeSelf(TTreeNode< T > *o)
Definition seadTreeNode.h:65
TTreeNode< T > * next() const
Definition seadTreeNode.h:58
nextIterator nextEnd() const
Definition seadTreeNode.h:9
const TreeNode * findRoot() const
Definition seadTreeNode.cpp:144
void clearChildLinksRecursively_()
Definition seadTreeNode.cpp:167
TreeNode * findRoot()
Definition seadTreeNode.cpp:130
TreeNode * mParent
Definition seadTreeNode.h:31
bool isRoot() const
Definition seadTreeNode.h:21
void detachSubTree()
Definition seadTreeNode.cpp:102
void insertAfterSelf(TreeNode *n)
Definition seadTreeNode.cpp:79
TreeNode()
Definition seadTreeNode.cpp:6
void pushFrontChild(TreeNode *n)
Definition seadTreeNode.cpp:43
void pushBackChild(TreeNode *n)
Definition seadTreeNode.cpp:16
TreeNode * mChild
Definition seadTreeNode.h:32
s32 countChildren() const
Definition seadTreeNode.cpp:158
void insertBeforeSelf(TreeNode *n)
Definition seadTreeNode.cpp:61
void pushBackSibling(TreeNode *n)
Definition seadTreeNode.cpp:30
bool isLeaf() const
Definition seadTreeNode.h:22
TreeNode * mNext
Definition seadTreeNode.h:33
void detachAll()
Definition seadTreeNode.cpp:95
void clearLinks()
Definition seadTreeNode.cpp:11
TreeNode * mPrev
Definition seadTreeNode.h:34
Definition seadAssert.h:44