[][src]Trait rustc_ap_rustc_graphviz::Labeller

pub trait Labeller<'a> {
    type Node;
    type Edge;
    pub fn graph_id(&'a self) -> Id<'a>;
pub fn node_id(&'a self, n: &Self::Node) -> Id<'a>; pub fn node_shape(&'a self, _node: &Self::Node) -> Option<LabelText<'a>> { ... }
pub fn node_label(&'a self, n: &Self::Node) -> LabelText<'a> { ... }
pub fn edge_label(&'a self, _e: &Self::Edge) -> LabelText<'a> { ... }
pub fn node_style(&'a self, _n: &Self::Node) -> Style { ... }
pub fn edge_style(&'a self, _e: &Self::Edge) -> Style { ... } }

Each instance of a type that implements Label<C> maps to a unique identifier with respect to C, which is used to identify it in the generated .dot file. They can also provide more elaborate (and non-unique) label text that is used in the graphviz rendered output. The graph instance is responsible for providing the DOT compatible identifiers for the nodes and (optionally) rendered labels for the nodes and edges, as well as an identifier for the graph itself.

Associated Types

Loading content...

Required methods

pub fn graph_id(&'a self) -> Id<'a>[src]

Must return a DOT compatible identifier naming the graph.

pub fn node_id(&'a self, n: &Self::Node) -> Id<'a>[src]

Maps n to a unique identifier with respect to self. The implementor is responsible for ensuring that the returned name is a valid DOT identifier.

Loading content...

Provided methods

pub fn node_shape(&'a self, _node: &Self::Node) -> Option<LabelText<'a>>[src]

Maps n to one of the graphviz shape names. If None is returned, no shape attribute is specified.

pub fn node_label(&'a self, n: &Self::Node) -> LabelText<'a>[src]

Maps n to a label that will be used in the rendered output. The label need not be unique, and may be the empty string; the default is just the output from node_id.

pub fn edge_label(&'a self, _e: &Self::Edge) -> LabelText<'a>[src]

Maps e to a label that will be used in the rendered output. The label need not be unique, and may be the empty string; the default is in fact the empty string.

pub fn node_style(&'a self, _n: &Self::Node) -> Style[src]

Maps n to a style that will be used in the rendered output.

pub fn edge_style(&'a self, _e: &Self::Edge) -> Style[src]

Maps e to a style that will be used in the rendered output.

Loading content...

Implementors

Loading content...