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.

Loading content...

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]

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.

Loading content...

Implementors

impl<Topology: StaticGraph> StaticBigraph for NodeBigraphWrapper<Topology>[src]

Loading content...