#include "dbc_tree_builder.h" std::unique_ptr DbcTreeBuilder::Build (const DbcDatabase &database) const { std::unique_ptr root (new TreeNode()); for (std::size_t frameIndex = 0U; frameIndex < database.frames.size(); ++frameIndex) { const FrameInfo &frame = database.frames[frameIndex]; std::unique_ptr frameNode (new TreeNode (frame)); for (std::size_t signalIndex = 0U; signalIndex < frame.signals.size(); ++signalIndex) { const SignalInfo &signal = frame.signals[signalIndex]; std::unique_ptr signalNode (new TreeNode (signal)); frameNode->AddChild (std::move (signalNode)); } root->AddChild (std::move (frameNode)); } return root; }