35 enum class PrevType { Control, Parser };
38 struct fullGraphOpts {
42 unsigned long node_i = 0;
43 unsigned cluster_i = 0;
47 struct edge_name_copier {
50 edge_name_copier(
const Graph &from, Graph &to) : from(from), to(to) {}
54 void operator()(Graph::edge_descriptor input, Graph::edge_descriptor output)
const {
55 auto label = boost::get(boost::edge_name, from, input);
57 boost::put(boost::edge_name, to, output, label);
66 Graph_visitor(std::filesystem::path graphsDir,
const bool graphs,
const bool fullGraph,
67 const bool jsonOut, std::filesystem::path filename)
68 : graphsDir(
std::move(graphsDir)),
72 filename(
std::move(filename)) {}
76 const char *
getType(
const VertexType &v_type);
92 void process(std::vector<Graph *> &controlGraphsArray, std::vector<Graph *> &parserGraphsArray);
104 void forLoopJson(std::vector<Graph *> &graphsArray, PrevType prev_type);
112 void forLoopFullGraph(std::vector<Graph *> &graphsArray, fullGraphOpts *opts,
117 std::filesystem::path graphsDir;
120 const bool fullGraph;
123 const std::filesystem::path filename;
Graph_visitor(std::filesystem::path graphsDir, const bool graphs, const bool fullGraph, const bool jsonOut, std::filesystem::path filename)
Definition graph_visitor.h:66