#pragma once #include "link.h" #include <set> class RouteWalker { public: using Solution = Link::Nexts; RouteWalker(); Solution findRouteTo(const Link::End & currentEnd, const Node::Ptr & dest); private: void findRouteTo(const Link::End & currentEnd, const Node::Ptr & dest, float length); std::set<const Link::End *> visited; Solution bestSolution, currentSolution; float solutionLength; };