// -*- C++ -*- /** * \file graph.h * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * * \author Dekel Tsur * * Full author contact details are available in file CREDITS. */ #ifndef GRAPH_H #define GRAPH_H #include "LString.h" #include #include class Graph { public: Graph() : numedges_(0) {}; /// typedef std::vector EdgePath; /// std::vector const getReachableTo(int, bool clear_visited); /// std::vector const getReachable(int, bool only_viewable, bool clear_visited); /// bool isReachable(int, int); /// EdgePath const getPath(int, int); /// void addEdge(int s, int t); /// void init(int size); private: /// int bfs_init(int, bool clear_visited = true); /// struct Vertex { std::vector in_vertices; std::vector out_vertices; std::vector out_edges; }; /// static std::vector vertices_; /// std::vector visited_; /// std::queue Q_; int numedges_; }; #endif //GRAPH_H