This commit is contained in:
Сергей Маринкевич
2025-07-23 13:17:26 +07:00
parent 0912566c5f
commit f994303cb5
5 changed files with 12 additions and 18 deletions
+4 -5
View File
@@ -11,7 +11,7 @@ class LazyLinkMixin : public virtual ILinkMixin {
public:
void linkChild(const NodePtr& childNode) override {
LinkPtr childLink = childNode->getLink();
childLink->setParent(getSelf());
childLink->setParent(getNode());
getLink()->addChild(childNode);
}
@@ -27,7 +27,7 @@ public:
LinkPtr parentLink = parent->getLink();
parentLink->removeChild(getSelf());
parentLink->removeChild(getNode());
getLink()->setParent(nullptr);
}
@@ -41,13 +41,12 @@ public:
}
protected:
virtual NodePtr getShared() = 0;
NodePtr getSelf() override { return getShared(); }
virtual NodePtr getNode() = 0;
private:
void lazyInit() {
if (!link_) {
link_ = std::make_shared<TLink>(getSelf());
link_ = std::make_shared<TLink>(getNode());
}
}