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.
poc-links/include/links/NotImplementedLink.h

25 lines
736 B
C++

#pragma once
#include <vector>
#include "ifaces/ILink.h"
#include "Logger.h"
template <class TElem>
class NotImplementedLink : public ILink<TElem> {
using ElemPtr = std::shared_ptr<TElem>>;
public:
NotImplementedLink(ElemPtr node) {}
ElemPtr getNode() const override { return nullptr; }
ElemPtr getParent() const override { return nullptr; }
void setParent(const ElemPtr& parent) override { }
const std::vector<ElemPtr>& getChildren() const override { return empty_; }
void addChild(const ElemPtr& child) override { }
void removeChild(const ElemPtr& child) override { }
~NotImplementedLink() override {
Logger::get("Link").dbg("--- Destructor called for: NotImplementedLink");
}
private:
std::vector<ElemPtr> empty_;
};