X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FGraph.cpp;h=97427bcf1a662566b720ca1a89612099523eb072;hb=8ea66efe16ad109a5c107716185fb82bbebca8c8;hp=09db31e5f24e4d62c784e515076bf1c13ab0a632;hpb=c71040e6106563a99bba12bae1a1a0c019a7351a;p=lyx.git diff --git a/src/Graph.cpp b/src/Graph.cpp index 09db31e5f2..97427bcf1a 100644 --- a/src/Graph.cpp +++ b/src/Graph.cpp @@ -46,10 +46,10 @@ bool Graph::bfs_init(int s, bool clear_visited, queue & Q) } -vector const +Graph::EdgePath const Graph::getReachableTo(int target, bool clear_visited) { - vector result; + EdgePath result; queue Q; if (!bfs_init(target, clear_visited, Q)) return result; @@ -81,11 +81,11 @@ vector const } -vector const +Graph::EdgePath const Graph::getReachable(int from, bool only_viewable, - bool clear_visited) + bool clear_visited, set excludes) { - vector result; + EdgePath result; queue Q; if (!bfs_init(from, clear_visited, Q)) return result; @@ -111,7 +111,8 @@ vector const int const cv = (*cit)->to; if (!vertices_[cv].visited) { vertices_[cv].visited = true; - Q.push(cv); + if (excludes.find(cv) == excludes.end()) + Q.push(cv); } } }