DBC framework
Public Member Functions | Private Attributes | List of all members
TreeNode Class Reference

Tree node for later use in model/view or other hierarchy consumers. More...

#include <tree_node.h>

Public Member Functions

 TreeNode ()
 Create root node. More...
 
 TreeNode (const FrameInfo &frame)
 Create frame node. More...
 
 TreeNode (const SignalInfo &signal)
 Create signal node. More...
 
 ~TreeNode ()=default
 
 TreeNode (const TreeNode &)=delete
 
TreeNode & operator= (const TreeNode &)=delete
 
 TreeNode (TreeNode &&)=default
 
TreeNode & operator= (TreeNode &&)=default
 
void AddChild (std::unique_ptr< TreeNode > child)
 Add child node. More...
 
std::size_t GetChildCount () const
 Get child count. More...
 
const TreeNode * GetChild (std::size_t index) const
 Get child by index. More...
 
TreeNode * GetChild (std::size_t index)
 Get mutable child by index. More...
 
NodeType GetType () const
 Get node type. More...
 
const std::string & GetName () const
 Get display name. More...
 
const FrameInfo * GetFrame () const
 Get frame payload if node is frame. More...
 
const SignalInfo * GetSignal () const
 Get signal payload if node is signal. More...
 

Private Attributes

NodeType m_type
 
std::string m_name
 
std::vector< std::unique_ptr< TreeNode > > m_children
 
std::unique_ptr< FrameInfo > m_frame
 
std::unique_ptr< SignalInfo > m_signal
 

Detailed Description

Tree node for later use in model/view or other hierarchy consumers.

Definition at line 35 of file tree_node.h.

Constructor & Destructor Documentation

◆ TreeNode() [1/5]

TreeNode::TreeNode ( )

Create root node.

Definition at line 14 of file tree_node.cpp.

References Root.

◆ TreeNode() [2/5]

TreeNode::TreeNode ( const FrameInfo &  frame)
explicit

Create frame node.

Parameters
frameFrame payload.

Definition at line 22 of file tree_node.cpp.

References Frame.

◆ TreeNode() [3/5]

TreeNode::TreeNode ( const SignalInfo &  signal)
explicit

Create signal node.

Parameters
signalSignal payload.

Definition at line 30 of file tree_node.cpp.

References Signal.

◆ ~TreeNode()

TreeNode::~TreeNode ( )
default

◆ TreeNode() [4/5]

TreeNode::TreeNode ( const TreeNode &  )
delete

◆ TreeNode() [5/5]

TreeNode::TreeNode ( TreeNode &&  )
default

Member Function Documentation

◆ AddChild()

void TreeNode::AddChild ( std::unique_ptr< TreeNode >  child)

Add child node.

Parameters
childChild node to add.

Definition at line 38 of file tree_node.cpp.

References m_children.

◆ GetChild() [1/2]

TreeNode * TreeNode::GetChild ( std::size_t  index)

Get mutable child by index.

Parameters
indexChild index.
Returns
Child pointer or nullptr if index is invalid.

Definition at line 54 of file tree_node.cpp.

References m_children.

◆ GetChild() [2/2]

const TreeNode * TreeNode::GetChild ( std::size_t  index) const

Get child by index.

Parameters
indexChild index.
Returns
Child pointer or nullptr if index is invalid.

Definition at line 47 of file tree_node.cpp.

References m_children.

Referenced by PrintTree().

◆ GetChildCount()

std::size_t TreeNode::GetChildCount ( ) const

Get child count.

Returns
Number of children.

Definition at line 43 of file tree_node.cpp.

References m_children.

Referenced by PrintTree().

◆ GetFrame()

const FrameInfo * TreeNode::GetFrame ( ) const

Get frame payload if node is frame.

Returns
Pointer to frame info or nullptr.

Definition at line 69 of file tree_node.cpp.

References m_frame.

Referenced by PrintTree().

◆ GetName()

const std::string & TreeNode::GetName ( ) const

Get display name.

Returns
Node name.

Definition at line 65 of file tree_node.cpp.

References m_name.

Referenced by PrintTree().

◆ GetSignal()

const SignalInfo * TreeNode::GetSignal ( ) const

Get signal payload if node is signal.

Returns
Pointer to signal info or nullptr.

Definition at line 73 of file tree_node.cpp.

References m_signal.

Referenced by PrintTree().

◆ GetType()

NodeType TreeNode::GetType ( ) const

Get node type.

Returns
Node type.

Definition at line 61 of file tree_node.cpp.

References m_type.

Referenced by PrintTree().

◆ operator=() [1/2]

TreeNode & TreeNode::operator= ( const TreeNode &  )
delete

◆ operator=() [2/2]

TreeNode & TreeNode::operator= ( TreeNode &&  )
default

Member Data Documentation

◆ m_children

std::vector<std::unique_ptr<TreeNode> > TreeNode::m_children
private

Definition at line 115 of file tree_node.h.

Referenced by AddChild(), GetChild(), and GetChildCount().

◆ m_frame

std::unique_ptr<FrameInfo> TreeNode::m_frame
private

Definition at line 116 of file tree_node.h.

Referenced by GetFrame().

◆ m_name

std::string TreeNode::m_name
private

Definition at line 114 of file tree_node.h.

Referenced by GetName().

◆ m_signal

std::unique_ptr<SignalInfo> TreeNode::m_signal
private

Definition at line 117 of file tree_node.h.

Referenced by GetSignal().

◆ m_type

NodeType TreeNode::m_type
private

Definition at line 113 of file tree_node.h.

Referenced by GetType().


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