Macro dot_generator::edge [−][src]
macro_rules! edge {
($l : expr => $r : expr) => { ... };
($l : expr => $r : expr $(=> $nexts : expr) +) => { ... };
($l : expr => $r : expr, $attrs : expr) => { ... };
($l : expr => $r : expr ; $($attrs : expr), +) => { ... };
($l : expr => $r : expr $(=> $nexts : expr) + ; $($attrs : expr), +) => { ... };
($l : expr => $r : expr $(=> $nexts : expr) +, $attrs : expr) => { ... };
}Expand description
represents an edge in dot lang. #Example:
fn edge_test() {
use dot_generator::*;
use dot_structures::*;
assert_eq!(
edge!(node_id!("1") => node_id!("2")),
Edge { ty: EdgeTy::Pair(Vertex::N(node_id!("1")), Vertex::N(node_id!("2"))), attributes: vec![] }
);
assert_eq!(
edge!(node_id!("1") => node_id!("2") => subgraph!("a")),
Edge { ty: EdgeTy::Chain(vec![Vertex::N(node_id!("1")), Vertex::N(node_id!("2")), Vertex::S(subgraph!("a"))]), attributes: vec![] }
);
assert_eq!(
edge!(node_id!("1") => node_id!("2"), vec![attr!("a","b")]),
Edge { ty: EdgeTy::Pair(Vertex::N(node_id!("1")), Vertex::N(node_id!("2"))), attributes: vec![attr!("a","b")] }
);
assert_eq!(
edge!(node_id!("1") => node_id!("2"); attr!("a","b")),
Edge { ty: EdgeTy::Pair(Vertex::N(node_id!("1")), Vertex::N(node_id!("2"))), attributes: vec![attr!("a","b")] }
);
}