20#ifndef VOTCA_TOOLS_GRAPHALGORITHM_H
21#define VOTCA_TOOLS_GRAPHALGORITHM_H
167void exploreGraph(Graph& graph, GraphVisitor& graph_visitor);
180template <
typename GV>
190 std::string str_id =
"";
191 std::vector<Index> graph_node_ids;
192 for (
const Index& vertex : vertices) {
197 graph_node_ids.clear();
198 graph_node_ids.push_back(vertex);
199 }
else if (comp_int == 0) {
200 graph_node_ids.push_back(vertex);
205 if (str_id.compare(
"") == 0) {
206 graph_node_ids = vertices;
210 std::string chosenId =
"";
211 Graph graph_chosen = graph;
213 for (
const Index& vertex : graph_node_ids) {
215 graph_visitor.setStartingVertex(vertex);
216 Graph graph_temp = graph;
218 std::string temp_struct_id = graph_temp.
getId();
219 if (chosenId.compare(temp_struct_id) < 0) {
220 chosenId = temp_struct_id;
221 graph_chosen = graph_temp;
225 graph = graph_chosen;
base class for all analysis tools