Expand description
DOT Graph Description Language writer, compatible with GraphViz
§Example:
let mut graph = Graph::named("TestGraph");
graph.graph_type = GraphType::Digraph;
// add a top-level graph attribute
graph.add_graph_attr("landscape", "true");
// add a basic node with no attributes
graph.add_node(Node::new("Node 1"));
// add an edge
graph.add_edge(Edge::new(&graph, "Node 1", "Node 2"));
let mut out = String::with_capacity(256);
graph.write_to(&mut out)?;
println!("{out}");
assert_eq!(out, "\
digraph TestGraph {\n\
\tlandscape=true\n\
\t\"Node 1\" \n\
\t\"Node 1\" -> \"Node 2\" \n\
}\n"
);