You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
679 B
C++

#pragma once
#include "mixins/LazyLinkMixin.h"
#include "ifaces/INode.h"
#include <iostream>
class BaseNode : public INode,
public LazyLinkMixin<OneToManyLink>,
public std::enable_shared_from_this<BaseNode> {
public:
//using LazyLinkMixin<OneToManyLink>::linkChild;
//using LazyLinkMixin<OneToManyLink>::unlinkParent;
//using LazyLinkMixin<OneToManyLink>::getLink;
BaseNode(std::string name) : name_(std::move(name)) {}
const std::string& name() const override { return name_; }
~BaseNode() {
std::cout << "--- Destructor called for: " << name_ << "\n";
}
protected:
NodePtr getShared() override {
return shared_from_this();
}
std::string name_;
};