\hypertarget{tree__node_8cpp_source}{}\doxysection{tree\+\_\+node.\+cpp} \mbox{\hyperlink{tree__node_8cpp}{Go to the documentation of this file.}} \begin{DoxyCode}{0} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00001}00001 \textcolor{comment}{/**}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00002}00002 \textcolor{comment}{ * @file tree\_node.cpp}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00003}00003 \textcolor{comment}{ * @brief}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00004}00004 \textcolor{comment}{ *}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00007}00007 \textcolor{comment}{ *}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00010}00010 \textcolor{comment}{ */}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00011}00011 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00012}00012 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{tree__node_8h}{tree\_node.h}}"{}}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00013}00013 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00014}\mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{00014}} \mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{TreeNode::TreeNode}}()} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00015}00015 : m\_type (\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{NodeType}}::\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad}{Root}})} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00016}00016 , m\_name (\textcolor{stringliteral}{"{}dbc"{}})} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00017}00017 , m\_children()} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00018}00018 , m\_frame()} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00019}00019 , m\_signal() \{} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00020}00020 \}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00021}00021 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00022}\mbox{\hyperlink{classTreeNode_a8e38dd591d8801d7ee3a7dbad90c67fc}{00022}} \mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{TreeNode::TreeNode}} (\textcolor{keyword}{const} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} \&frame)} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00023}00023 : m\_type (\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{NodeType}}::\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a}{Frame}})} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00024}00024 , m\_name (frame.name)} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00025}00025 , m\_children()} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00026}00026 , m\_frame (new \mbox{\hyperlink{structFrameInfo}{FrameInfo}} (frame))} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00027}00027 , m\_signal() \{} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00028}00028 \}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00029}00029 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00030}\mbox{\hyperlink{classTreeNode_ab9f00f5253d56461bb2d420fd639c5ae}{00030}} \mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{TreeNode::TreeNode}} (\textcolor{keyword}{const} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} \&signal)} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00031}00031 : m\_type (\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{NodeType}}::\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398}{Signal}})} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00032}00032 , m\_name (signal.name)} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00033}00033 , m\_children()} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00034}00034 , m\_frame()} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00035}00035 , m\_signal (new \mbox{\hyperlink{structSignalInfo}{SignalInfo}} (signal)) \{} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00036}00036 \}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00037}00037 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00038}\mbox{\hyperlink{classTreeNode_a6161f2ebb92184eab4215d121870e788}{00038}} \textcolor{keywordtype}{void} \mbox{\hyperlink{classTreeNode_a6161f2ebb92184eab4215d121870e788}{TreeNode::AddChild}} (std::unique\_ptr child) \{} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00039}00039 \textcolor{keywordflow}{if} (child)} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00040}00040 \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}.push\_back (std::move (child));} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00041}00041 \}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00042}00042 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00043}\mbox{\hyperlink{classTreeNode_abdd82460187dca8d3e5d66f5d5c529ea}{00043}} std::size\_t \mbox{\hyperlink{classTreeNode_abdd82460187dca8d3e5d66f5d5c529ea}{TreeNode::GetChildCount}}()\textcolor{keyword}{ const }\{} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00044}00044 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}.size();} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00045}00045 \}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00046}00046 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00047}\mbox{\hyperlink{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}{00047}} \textcolor{keyword}{const} \mbox{\hyperlink{classTreeNode}{TreeNode}} *\mbox{\hyperlink{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}{TreeNode::GetChild}} (std::size\_t index)\textcolor{keyword}{ const }\{} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00048}00048 \textcolor{keywordflow}{if} (index >= \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}.size())} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00049}00049 \textcolor{keywordflow}{return} \textcolor{keyword}{nullptr};} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00050}00050 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00051}00051 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}[index].get();} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00052}00052 \}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00053}00053 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00054}\mbox{\hyperlink{classTreeNode_a81047bd7d2a4cc96b9ef5e20d0d63b5f}{00054}} \mbox{\hyperlink{classTreeNode}{TreeNode}} *\mbox{\hyperlink{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}{TreeNode::GetChild}} (std::size\_t index) \{} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00055}00055 \textcolor{keywordflow}{if} (index >= \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}.size())} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00056}00056 \textcolor{keywordflow}{return} \textcolor{keyword}{nullptr};} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00057}00057 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00058}00058 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}[index].get();} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00059}00059 \}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00060}00060 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00061}\mbox{\hyperlink{classTreeNode_afa2f4b0aafa12d3d41ed00df8e0250c9}{00061}} \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{NodeType}} \mbox{\hyperlink{classTreeNode_afa2f4b0aafa12d3d41ed00df8e0250c9}{TreeNode::GetType}}()\textcolor{keyword}{ const }\{} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00062}00062 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_a04bccab9e60a6a78777cd7dfec52d224}{m\_type}};} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00063}00063 \}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00064}00064 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00065}\mbox{\hyperlink{classTreeNode_aaac5b8d9dc9e5ae1f367d1adbcf20e18}{00065}} \textcolor{keyword}{const} std::string \&\mbox{\hyperlink{classTreeNode_aaac5b8d9dc9e5ae1f367d1adbcf20e18}{TreeNode::GetName}}()\textcolor{keyword}{ const }\{} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00066}00066 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_ac0ddcb8370e6b51e2d3de6b8211a47f8}{m\_name}};} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00067}00067 \}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00068}00068 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00069}\mbox{\hyperlink{classTreeNode_afc503b40004764163605d6dbdb4ef811}{00069}} \textcolor{keyword}{const} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} *\mbox{\hyperlink{classTreeNode_afc503b40004764163605d6dbdb4ef811}{TreeNode::GetFrame}}()\textcolor{keyword}{ const }\{} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00070}00070 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_a77ee6aa80774d67ba442a66b45c798c2}{m\_frame}}.get();} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00071}00071 \}} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00072}00072 } \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00073}\mbox{\hyperlink{classTreeNode_a226518612d0d00b5988a2c44fc21d3f1}{00073}} \textcolor{keyword}{const} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} *\mbox{\hyperlink{classTreeNode_a226518612d0d00b5988a2c44fc21d3f1}{TreeNode::GetSignal}}()\textcolor{keyword}{ const }\{} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00074}00074 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_ae658355007bc9303f7bfae3bb3ec8386}{m\_signal}}.get();} \DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00075}00075 \}} \end{DoxyCode}