Trait bigraph::interface::static_bigraph::StaticBigraph [−][src]
pub trait StaticBigraph: StaticGraph { fn mirror_node(&self, node_id: Self::NodeIndex) -> Option<Self::NodeIndex>; fn is_self_mirror_node(&self, node_index: Self::NodeIndex) -> bool { ... } fn topological_mirror_edges(
&self,
edge_index: Self::EdgeIndex
) -> Vec<Self::EdgeIndex> { ... } fn verify_node_pairing(&self) -> bool { ... } fn verify_node_pairing_without_self_mirrors(&self) -> bool { ... } fn out_bidegree(&self, node_index: Self::NodeIndex) -> Option<usize> { ... } fn in_bidegree(&self, node_index: Self::NodeIndex) -> Option<usize> { ... } fn inversion_bidegree(&self, node_index: Self::NodeIndex) -> isize { ... } }
A node-centric bidirected graph. That is a graph in which each node has a unique mirror, and this relation is symmetric.
Required methods
fn mirror_node(&self, node_id: Self::NodeIndex) -> Option<Self::NodeIndex>[src]
Returns the unique mirror of the given node id, or None if the given node id has no mirror node.
Provided methods
fn is_self_mirror_node(&self, node_index: Self::NodeIndex) -> bool[src]
Returns true if the mirror node of this node is itself. Panics if the node has no mirror node.
fn topological_mirror_edges(
&self,
edge_index: Self::EdgeIndex
) -> Vec<Self::EdgeIndex>[src]
&self,
edge_index: Self::EdgeIndex
) -> Vec<Self::EdgeIndex>
Returns a vector of all edges that mirror the given edge, without considering if the edge data mirrors the given edges edge data.
fn verify_node_pairing(&self) -> bool[src]
Returns true if each node has exactly one mirror, and this relation is symmetric. This check allows nodes that are their own mirror.
fn verify_node_pairing_without_self_mirrors(&self) -> bool[src]
Returns true if each node has exactly one mirror, and this relation is symmetric and irreflexive (no node is its own mirror).
fn out_bidegree(&self, node_index: Self::NodeIndex) -> Option<usize>[src]
Computes the outdegree of the binode, accounting for inversion edges.
Panics if the given node has no mirror node.
Returns None if the node is a self-mirror, as the outdegree of self-mirrors is not well-defined.
fn in_bidegree(&self, node_index: Self::NodeIndex) -> Option<usize>[src]
Computes the indegree of the binode, accounting for inversion edges.
Panics if the given node has no mirror node.
Returns None if the node is a self-mirror, as the indegree of self-mirrors is not well-defined.
fn inversion_bidegree(&self, node_index: Self::NodeIndex) -> isize[src]
Computes the degree of inversion of this node. That is the number of outgoing edges to the mirror node minus the number of incoming edges from the mirror node.