25 lines
557 B
C++

#pragma once
#include <memory>
namespace Generic {
template <typename T, typename NodeType>
class UndirectedNode
{
public:
UndirectedNode(T value, std::shared_ptr<NodeType> next = nullptr);
~UndirectedNode();
protected:
T mValue;
std::shared_ptr<NodeType> mNext;
};
template <typename T, typename NodeType>
UndirectedNode<T, NodeType>::UndirectedNode(T value, std::shared_ptr<NodeType> next) {
this->mValue = value;
this->mNext = next;
}
template <typename T, typename NodeType>
UndirectedNode<T, NodeType>::~UndirectedNode() {}
}