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
 
TreeNodeoperator= (const TreeNode &)=delete
 
 TreeNode (TreeNode &&)=default
 
TreeNodeoperator= (TreeNode &&)=default
 
void AddChild (std::unique_ptr< TreeNode > child)
 Add child node. More...
 
std::size_t GetChildCount () const
 Get child count. More...
 
const TreeNodeGetChild (std::size_t index) const
 Get child by index. More...
 
TreeNodeGetChild (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 FrameInfoGetFrame () const
 Get frame payload if node is frame. More...
 
const SignalInfoGetSignal () 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< FrameInfom_frame
 
std::unique_ptr< SignalInfom_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: