Ember
Loading...
Searching...
No Matches
EmberCore::ITreeStructure Class Referenceabstract

Abstract interface for tree structures that can be visualized. More...

#include <ITreeStructure.h>

Inheritance diagram for EmberCore::ITreeStructure:
Ember::Network::TCPTreeAdapter EmberCore::DirectTreeAdapter

Public Member Functions

virtual ~ITreeStructure ()=default
virtual ITreeNodeGetRootNode () const =0
virtual bool HasRootNode () const
virtual const StringGetName () const =0
virtual const StringGetDescription () const =0
virtual size_t GetNodeCount () const =0
virtual size_t GetMaxDepth () const =0
virtual ITreeNodeFindNodeById (size_t id) const =0
virtual ITreeNodeFindNodeByName (const String &name) const =0
virtual std::vector< ITreeNode * > FindNodesByType (ITreeNode::NodeType type) const =0
virtual void TraverseNodes (std::function< void(ITreeNode *)> visitor)=0
virtual void TraverseNodes (std::function< void(const ITreeNode *)> visitor) const =0
virtual bool IsValid () const =0
virtual bool HasCycles () const =0
virtual std::vector< ITreeNode * > GetAllNodes ()=0
virtual std::vector< const ITreeNode * > GetAllNodes () const =0
virtual String GetTreeStructure () const =0
virtual void PrintTree () const =0

Detailed Description

Abstract interface for tree structures that can be visualized.

This interface abstracts away the specific implementation details of behavior trees, allowing the visualization system to work with any tree implementation that provides these basic tree operations.

Definition at line 17 of file ITreeStructure.h.

Constructor & Destructor Documentation

◆ ~ITreeStructure()

virtual EmberCore::ITreeStructure::~ITreeStructure ( )
virtualdefault

Member Function Documentation

◆ FindNodeById()

virtual ITreeNode * EmberCore::ITreeStructure::FindNodeById ( size_t id) const
pure virtual

◆ FindNodeByName()

virtual ITreeNode * EmberCore::ITreeStructure::FindNodeByName ( const String & name) const
pure virtual

◆ FindNodesByType()

virtual std::vector< ITreeNode * > EmberCore::ITreeStructure::FindNodesByType ( ITreeNode::NodeType type) const
pure virtual

◆ GetAllNodes() [1/2]

virtual std::vector< const ITreeNode * > EmberCore::ITreeStructure::GetAllNodes ( ) const
pure virtual

◆ GetAllNodes() [2/2]

virtual std::vector< ITreeNode * > EmberCore::ITreeStructure::GetAllNodes ( )
pure virtual

◆ GetDescription()

virtual const String & EmberCore::ITreeStructure::GetDescription ( ) const
pure virtual

◆ GetMaxDepth()

virtual size_t EmberCore::ITreeStructure::GetMaxDepth ( ) const
pure virtual

◆ GetName()

virtual const String & EmberCore::ITreeStructure::GetName ( ) const
pure virtual

◆ GetNodeCount()

virtual size_t EmberCore::ITreeStructure::GetNodeCount ( ) const
pure virtual

◆ GetRootNode()

virtual ITreeNode * EmberCore::ITreeStructure::GetRootNode ( ) const
pure virtual

◆ GetTreeStructure()

virtual String EmberCore::ITreeStructure::GetTreeStructure ( ) const
pure virtual

◆ HasCycles()

virtual bool EmberCore::ITreeStructure::HasCycles ( ) const
pure virtual

◆ HasRootNode()

virtual bool EmberCore::ITreeStructure::HasRootNode ( ) const
inlinevirtual

Reimplemented in Ember::Network::TCPTreeAdapter.

Definition at line 23 of file ITreeStructure.h.

◆ IsValid()

virtual bool EmberCore::ITreeStructure::IsValid ( ) const
pure virtual

◆ PrintTree()

virtual void EmberCore::ITreeStructure::PrintTree ( ) const
pure virtual

◆ TraverseNodes() [1/2]

virtual void EmberCore::ITreeStructure::TraverseNodes ( std::function< void(const ITreeNode *)> visitor) const
pure virtual

◆ TraverseNodes() [2/2]

virtual void EmberCore::ITreeStructure::TraverseNodes ( std::function< void(ITreeNode *)> visitor)
pure virtual

The documentation for this class was generated from the following file: