#pragma once #include "nodes/BaseNode.h" #include "mixins/HierarchicalLinkMixin.h" #include "mixins/FabricMixin.h" #include "Logger.h" /// \brief Класс сложного (составного) узла дерева. /// Может содержать несколько дочерних ComplexNode и один SimpleNode. class ComplexNode : public BaseNode, virtual public HierarchicalLinkMixin, public FabricMixin { public: ~ComplexNode() { Logger::get("ConDes").dbg(std::string("--- Complex destructor called for: ") + name_); } private: friend class FabricMixin; ComplexNode(std::string name) : BaseNode(std::move(name)) { Logger::get("ConDes").dbg(std::string("--- Complex constructor called for: ") + name_); } };