- bool bfs_init(int, bool clear_visited = true);
-
- ///
- struct OutEdge {
- OutEdge(int v, int e): vertex(v), edge(e) {}
- int vertex;
- int edge;
+ bool bfs_init(int, bool clear_visited, std::queue<int> & Q);
+ /// these represent the arrows connecting the nodes of the graph.
+ /// this is the basic representation of the graph: as a bunch of
+ /// arrows.
+ struct Arrow {
+ ///
+ Arrow(int f, int t, int i):
+ from(f), to(t), id(i) {}
+ /// the vertex at the tail of the arrow
+ int from;
+ /// the vertex at the head
+ int to;
+ /// an id for this arrow, e.g., for use in describing paths
+ /// through the graph
+ int id;