sead::MethodTreeNode class

Base classes

class IDisposer
template<typename T>
class TTreeNode<MethodTreeNode*>
class INamable

Public types

enum PauseFlag { cPause_None = 0, cPause_Self = 1, cPause_Child = 2, cPause_Both = 3 }
using PauseEventDelegate = IDelegate2<MethodTreeNode*, PauseFlag>
enum class HeapNullOption { AlwaysUseSpecifiedHeap = 0, UseSpecifiedOrContainHeap = 1, DoNotAppendDisposerIfNoHeapSpecified = 2, UseSpecifiedOrCurrentHeap = 3 }

Public static functions

static auto getListNodeOffset() -> u32

Constructors, destructors, conversion operators

MethodTreeNode(CriticalSection* cs) explicit
~MethodTreeNode() override

Public functions

template<typename Delegate>
void bind(const Delegate& delegate, const char* name)
void call()
void detachAll()
void pushBackChild(MethodTreeNode* node)
void pushFrontChild(MethodTreeNode* node)
void setPauseFlag(PauseFlag flag)
auto value() -> MethodTreeNode*&
auto value() const -> const MethodTreeNode*&
auto parent() const -> TTreeNode*
auto child() const -> TTreeNode*
auto next() const -> TTreeNode*
auto prev() const -> TTreeNode*
auto findRoot() -> TTreeNode*
auto findRoot() const -> const TTreeNode*
auto findRoot() const -> const TreeNode*
void insertAfterSelf(TTreeNode* node)
void insertAfterSelf(TreeNode* node)
void insertBeforeSelf(TTreeNode* node)
void insertBeforeSelf(TreeNode* node)
void pushBackChild(TTreeNode* node)
void pushBackChild(TreeNode* node)
void pushBackSibling(TTreeNode* node)
void pushBackSibling(TreeNode* node)
void pushFrontChild(TTreeNode* node)
void pushFrontChild(TreeNode* node)
void clearLinks()
auto countChildren() const -> s32
void detachSubTree()
auto getName() const -> const SafeString&
void setName(const SafeString& name)

Protected functions

auto getDisposerHeap_() const -> Heap*
void clearChildLinksRecursively_()

Protected variables

MethodTreeNode* mData
TreeNode* mParent
TreeNode* mChild
TreeNode* mNext
TreeNode* mPrev

Enum documentation

enum class sead::MethodTreeNode::HeapNullOption

Function documentation

static u32 sead::MethodTreeNode::getListNodeOffset()

MethodTreeNode*& sead::MethodTreeNode::value()

const MethodTreeNode*& sead::MethodTreeNode::value() const

TTreeNode* sead::MethodTreeNode::parent() const

TTreeNode* sead::MethodTreeNode::child() const

TTreeNode* sead::MethodTreeNode::next() const

TTreeNode* sead::MethodTreeNode::prev() const

TTreeNode* sead::MethodTreeNode::findRoot()

const TTreeNode* sead::MethodTreeNode::findRoot() const

const TreeNode* sead::MethodTreeNode::findRoot() const

void sead::MethodTreeNode::insertAfterSelf(TTreeNode* node)

void sead::MethodTreeNode::insertAfterSelf(TreeNode* node)

void sead::MethodTreeNode::insertBeforeSelf(TTreeNode* node)

void sead::MethodTreeNode::insertBeforeSelf(TreeNode* node)

void sead::MethodTreeNode::pushBackChild(TTreeNode* node)

void sead::MethodTreeNode::pushBackChild(TreeNode* node)

void sead::MethodTreeNode::pushBackSibling(TTreeNode* node)

void sead::MethodTreeNode::pushBackSibling(TreeNode* node)

void sead::MethodTreeNode::pushFrontChild(TTreeNode* node)

void sead::MethodTreeNode::pushFrontChild(TreeNode* node)

void sead::MethodTreeNode::clearLinks()

s32 sead::MethodTreeNode::countChildren() const

void sead::MethodTreeNode::detachSubTree()

const SafeString& sead::MethodTreeNode::getName() const

void sead::MethodTreeNode::setName(const SafeString& name)

Heap* sead::MethodTreeNode::getDisposerHeap_() const protected

void sead::MethodTreeNode::clearChildLinksRecursively_() protected

Variable documentation

MethodTreeNode* sead::MethodTreeNode::mData protected

TreeNode* sead::MethodTreeNode::mParent protected

TreeNode* sead::MethodTreeNode::mChild protected

TreeNode* sead::MethodTreeNode::mNext protected

TreeNode* sead::MethodTreeNode::mPrev protected