Files
poc-links/include/nodes/ComplexNode.h
T
2025-08-05 19:55:30 +07:00

23 lines
784 B
C++

#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<INode>,
public FabricMixin<ComplexNode> {
public:
~ComplexNode() {
Logger::get("ConDes").dbg(std::string("--- Complex destructor called for: ") + name_);
}
private:
friend class FabricMixin<ComplexNode>;
ComplexNode(std::string name) : BaseNode(std::move(name)) {
Logger::get("ConDes").dbg(std::string("--- Complex constructor called for: ") + name_);
}
};