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