Struct rs_graph::linkedlistgraph::LinkedListGraph [−][src]
pub struct LinkedListGraph<ID = u32> { /* fields omitted */ }
The linked list based graph data structure.
Methods
impl<ID> LinkedListGraph<ID> where
ID: PrimInt + Unsigned, [src]
impl<ID> LinkedListGraph<ID> where
ID: PrimInt + Unsigned, pub fn new() -> LinkedListGraph<ID>[src]
pub fn new() -> LinkedListGraph<ID>Trait Implementations
impl<'a, ID> Graph<'a> for LinkedListGraph<ID> where
ID: 'a + PrimInt + Unsigned, [src]
impl<'a, ID> Graph<'a> for LinkedListGraph<ID> where
ID: 'a + PrimInt + Unsigned, type Node = Node<ID>
Type of a node.
type Edge = Edge<ID>
Type of an edge.
type NodeIter = NodeIter<ID>
Type of an iterator over all nodes.
type EdgeIter = EdgeIter<ID>
Type of an iterator over all edges.
type NeighIter = NeighIter<'a, ID>
Type of an iterator over incident edges.
fn num_nodes(&self) -> usize[src]
fn num_nodes(&self) -> usizeReturn the number of nodes.
fn num_edges(&self) -> usize[src]
fn num_edges(&self) -> usizeReturn the number of edges.
fn enodes(&self, e: Self::Edge) -> (Self::Node, Self::Node)[src]
fn enodes(&self, e: Self::Edge) -> (Self::Node, Self::Node)Return the nodes connected by an edge. Read more
fn nodes(&'a self) -> Self::NodeIter[src]
fn nodes(&'a self) -> Self::NodeIterReturn an iterator over all nodes.
fn edges(&self) -> Self::EdgeIter[src]
fn edges(&self) -> Self::EdgeIterReturn an iterator over all edges. Read more
fn neighs(&'a self, u: Self::Node) -> Self::NeighIter[src]
fn neighs(&'a self, u: Self::Node) -> Self::NeighIterReturn an iterator over the edges adjacent to some node. Read more
impl<'a, ID> Digraph<'a> for LinkedListGraph<ID> where
ID: 'a + PrimInt + Unsigned, [src]
impl<'a, ID> Digraph<'a> for LinkedListGraph<ID> where
ID: 'a + PrimInt + Unsigned, type OutEdgeIter = OutEdgeIter<'a, ID>
Type of an iterator over the forward edges leaving a node.
type InEdgeIter = InEdgeIter<'a, ID>
Type of an iterator over the backward edges entering a node.
fn src(&self, e: Self::Edge) -> Self::Node[src]
fn src(&self, e: Self::Edge) -> Self::NodeReturn the source node of an edge.
fn snk(&self, e: Self::Edge) -> Self::Node[src]
fn snk(&self, e: Self::Edge) -> Self::NodeReturn the sink node of an edge.
fn outedges(&'a self, u: Self::Node) -> Self::OutEdgeIter[src]
fn outedges(&'a self, u: Self::Node) -> Self::OutEdgeIterReturn an iterator over the outgoing edges of a node. Read more
fn inedges(&'a self, u: Self::Node) -> Self::InEdgeIter[src]
fn inedges(&'a self, u: Self::Node) -> Self::InEdgeIterReturn an iterator over the incoming edges of a node. Read more
impl<'a, ID> Network<'a> for LinkedListGraph<ID> where
ID: 'a + PrimInt + Unsigned, [src]
impl<'a, ID> Network<'a> for LinkedListGraph<ID> where
ID: 'a + PrimInt + Unsigned, fn is_reverse(&self, e: Self::Edge, f: Self::Edge) -> bool[src]
fn is_reverse(&self, e: Self::Edge, f: Self::Edge) -> boolReturn true if e is the reverse edge of f.
fn reverse(&self, e: Self::Edge) -> Self::Edge[src]
fn reverse(&self, e: Self::Edge) -> Self::EdgeReturn the reverse edge of e.
fn is_forward(&self, e: Self::Edge) -> bool[src]
fn is_forward(&self, e: Self::Edge) -> boolReturn true if e is a forward edge.
fn forward(&'a self, e: Self::Edge) -> Self::Edge[src]
fn forward(&'a self, e: Self::Edge) -> Self::EdgeReturn the forward edge of e. Read more
fn is_backward(&self, e: Self::Edge) -> bool[src]
fn is_backward(&self, e: Self::Edge) -> boolReturn true if e is a backward edge.
fn backward(&'a self, e: Self::Edge) -> Self::Edge[src]
fn backward(&'a self, e: Self::Edge) -> Self::EdgeReturn the backward edge of e. Read more
fn bisrc(&'a self, e: Self::Edge) -> Self::Node[src]
fn bisrc(&'a self, e: Self::Edge) -> Self::NodeReturn the source of the directed edge e. Read more
fn bisnk(&'a self, e: Self::Edge) -> Self::Node[src]
fn bisnk(&'a self, e: Self::Edge) -> Self::NodeReturn the sink of the directed edge e. Read more
impl<'a, ID> IndexGraph<'a> for LinkedListGraph<ID> where
ID: 'a + PrimInt + Unsigned, [src]
impl<'a, ID> IndexGraph<'a> for LinkedListGraph<ID> where
ID: 'a + PrimInt + Unsigned, fn node_id(&self, u: Self::Node) -> usize[src]
fn node_id(&self, u: Self::Node) -> usizeReturn a unique id associated with a node.
fn id2node(&self, id: usize) -> Self::Node[src]
fn id2node(&self, id: usize) -> Self::NodeReturn the node associated with the given id. Read more
fn edge_id(&self, e: Self::Edge) -> usize[src]
fn edge_id(&self, e: Self::Edge) -> usizeReturn a unique id associated with an edge. Read more
fn id2edge(&self, id: usize) -> Self::Edge[src]
fn id2edge(&self, id: usize) -> Self::EdgeReturn the edge associated with the given id. Read more
impl<'a, ID> IndexNetwork<'a> for LinkedListGraph<ID> where
ID: 'a + PrimInt + Unsigned, [src]
impl<'a, ID> IndexNetwork<'a> for LinkedListGraph<ID> where
ID: 'a + PrimInt + Unsigned, fn id2biedge(&self, id: usize) -> Self::Edge[src]
fn id2biedge(&self, id: usize) -> Self::EdgeReturn the edge associated with the given id. Read more
fn biedge_id(&self, a: Self::Edge) -> usize[src]
fn biedge_id(&self, a: Self::Edge) -> usizeReturn a unique id associated with a directed edge. Read more
impl<ID> Builder for LinkedListGraph<ID> where
ID: PrimInt + Unsigned, [src]
impl<ID> Builder for LinkedListGraph<ID> where
ID: PrimInt + Unsigned, type Graph = Self
The graph type produced by this builder.
type Node = Node<ID>
The type of a nodes.
type Edge = Edge<ID>
The type of an edge.
fn with_capacities(nnodes: usize, nedges: usize) -> Self[src]
fn with_capacities(nnodes: usize, nedges: usize) -> SelfCreate a new, empty builder. Read more
fn reserve(&mut self, nnodes: usize, nedges: usize)[src]
fn reserve(&mut self, nnodes: usize, nedges: usize)Reserve memory for a certain number of nodes and edges.
fn add_node(&mut self) -> Self::Node[src]
fn add_node(&mut self) -> Self::NodeAdd a new node.
fn add_edge(&mut self, u: Self::Node, v: Self::Node) -> Self::Edge[src]
fn add_edge(&mut self, u: Self::Node, v: Self::Node) -> Self::EdgeAdd a new edge.
fn node2id(&self, u: Self::Node) -> usize[src]
fn node2id(&self, u: Self::Node) -> usizeReturn a unique id of a node.
fn edge2id(&self, e: Self::Edge) -> usize[src]
fn edge2id(&self, e: Self::Edge) -> usizeReturn a unique id of an edge.
fn to_graph(self) -> Self[src]
fn to_graph(self) -> SelfTurn the builder into a graph.
fn new() -> Self[src]
fn new() -> SelfCreate a new, empty builder.
fn add_nodes(&mut self, n: usize) -> Vec<Self::Node>[src]
fn add_nodes(&mut self, n: usize) -> Vec<Self::Node>Add n new nodes.
impl<ID> Buildable for LinkedListGraph<ID> where
ID: PrimInt + Unsigned, [src]
impl<ID> Buildable for LinkedListGraph<ID> where
ID: PrimInt + Unsigned, type Builder = Self
impl<ID> Default for LinkedListGraph<ID> where
ID: PrimInt + Unsigned, [src]
impl<ID> Default for LinkedListGraph<ID> where
ID: PrimInt + Unsigned, Auto Trait Implementations
impl<ID> Send for LinkedListGraph<ID> where
ID: Send,
impl<ID> Send for LinkedListGraph<ID> where
ID: Send, impl<ID> Sync for LinkedListGraph<ID> where
ID: Sync,
impl<ID> Sync for LinkedListGraph<ID> where
ID: Sync,