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