[−][src]Struct rs_graph::linkedlistgraph::LinkedListGraph
The linked list based graph data structure.
Methods
impl<ID, N, E, B> LinkedListGraph<ID, N, E, B> where
ID: PrimInt + Unsigned,
[src]
ID: PrimInt + Unsigned,
pub fn new() -> LinkedListGraph<ID, N, E, B>
[src]
Trait Implementations
impl<'a, ID, N, E, B> GraphType<'a> for LinkedListGraph<ID, N, E, B> where
ID: 'a + PrimInt + Unsigned,
[src]
ID: 'a + PrimInt + Unsigned,
impl<'a, ID, N, E, B> GraphSize<'a> for LinkedListGraph<ID, N, E, B> where
ID: 'a + PrimInt + Unsigned,
[src]
ID: 'a + PrimInt + Unsigned,
type NodeIter = NodeIter<ID>
Type of an iterator over all nodes.
type EdgeIter = EdgeIter<ID>
Type of an iterator over all edges.
fn num_nodes(&self) -> usize
[src]
fn num_edges(&self) -> usize
[src]
fn nodes(&'a self) -> Self::NodeIter
[src]
fn edges(&self) -> Self::EdgeIter
[src]
impl<'a, ID, N: 'a, E: 'a, B: 'a> Undirected<'a> for LinkedListGraph<ID, N, E, B> where
ID: 'a + PrimInt + Unsigned,
[src]
ID: 'a + PrimInt + Unsigned,
type NeighIter = NeighIter<'a, ID, E, B>
Type of an iterator over all incident edges.
fn enodes(&self, e: Self::Edge) -> (Self::Node, Self::Node)
[src]
fn neighs(&'a self, u: Self::Node) -> Self::NeighIter
[src]
fn neighbors(&'a self) -> Neighbors<'a, Self> where
Self: Sized,
[src]
Self: Sized,
Return access to the neighbors via an Adjacencies
trait. Read more
impl<'a, ID, N: 'a, E: 'a, B: 'a> Directed<'a> for LinkedListGraph<ID, N, E, B> where
ID: 'a + PrimInt + Unsigned,
[src]
ID: 'a + PrimInt + Unsigned,
type OutEdgeIter = OutEdgeIter<'a, ID, E, B>
Type of an iterator over the forward edges leaving a node.
type InEdgeIter = InEdgeIter<'a, ID, E, B>
Type of an iterator over the backward edges entering a node.
fn src(&self, e: Self::Edge) -> Self::Node
[src]
fn snk(&self, e: Self::Edge) -> Self::Node
[src]
fn outedges(&'a self, u: Self::Node) -> Self::OutEdgeIter
[src]
fn inedges(&'a self, u: Self::Node) -> Self::InEdgeIter
[src]
fn outgoing(&'a self) -> OutEdges<'a, Self> where
Self: Sized,
[src]
Self: Sized,
Return access to the outgoing arcs via an Adjacencies
trait. Read more
fn incoming(&'a self) -> InEdges<'a, Self> where
Self: Sized,
[src]
Self: Sized,
Return access to the incoming arcs via an Adjacencies
trait. Read more
impl<'a, ID, N: 'a, E: 'a, B: 'a> BiDirected<'a> for LinkedListGraph<ID, N, E, B> where
ID: 'a + PrimInt + Unsigned,
[src]
ID: 'a + PrimInt + Unsigned,
fn is_reverse(&self, e: Self::Edge, f: Self::Edge) -> bool
[src]
fn reverse(&self, e: Self::Edge) -> Self::Edge
[src]
fn is_forward(&self, e: Self::Edge) -> bool
[src]
fn forward(&'a self, e: Self::Edge) -> Self::Edge
[src]
Return the forward edge of e. Read more
fn is_backward(&self, e: Self::Edge) -> bool
[src]
Return true if e is a backward edge.
fn backward(&'a self, e: Self::Edge) -> Self::Edge
[src]
Return the backward edge of e. Read more
fn bisrc(&'a self, e: Self::Edge) -> Self::Node
[src]
Return the source of the directed edge e. Read more
fn bisnk(&'a self, e: Self::Edge) -> Self::Node
[src]
Return the sink of the directed edge e. Read more
impl<'a, ID, N: 'a, E: 'a, B: 'a> IndexGraph<'a> for LinkedListGraph<ID, N, E, B> where
ID: 'a + PrimInt + Unsigned,
[src]
ID: 'a + PrimInt + Unsigned,
fn node_id(&self, u: Self::Node) -> usize
[src]
fn id2node(&self, id: usize) -> Self::Node
[src]
fn edge_id(&self, e: Self::Edge) -> usize
[src]
fn id2edge(&self, id: usize) -> Self::Edge
[src]
impl<'a, ID, N: 'a, E: 'a, B: 'a> IndexNetwork<'a> for LinkedListGraph<ID, N, E, B> where
ID: 'a + PrimInt + Unsigned,
[src]
ID: 'a + PrimInt + Unsigned,
impl<ID, N, E, B> Builder for LinkedListGraph<ID, N, E, B> where
ID: PrimInt + Unsigned,
N: Default,
E: Default,
B: Default,
[src]
ID: PrimInt + Unsigned,
N: Default,
E: Default,
B: Default,
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 reserve(&mut self, nnodes: usize, nedges: usize)
[src]
fn add_node(&mut self) -> Self::Node
[src]
fn add_edge(&mut self, u: Self::Node, v: Self::Node) -> Self::Edge
[src]
fn node2id(&self, u: Self::Node) -> usize
[src]
fn edge2id(&self, e: Self::Edge) -> usize
[src]
fn to_graph(self) -> Self
[src]
fn new() -> Self
[src]
Create a new, empty builder.
fn add_nodes(&mut self, n: usize) -> Vec<Self::Node>
[src]
Add n
new nodes.
impl<ID, N, E, B> Buildable for LinkedListGraph<ID, N, E, B> where
ID: PrimInt + Unsigned,
N: Default,
E: Default,
B: Default,
[src]
ID: PrimInt + Unsigned,
N: Default,
E: Default,
B: Default,
type Builder = Self
impl<'a, ID, N: 'a, E: 'a, B: 'a> NodeAttributes<'a, LinkedListGraph<ID, N, E, B>, N> for LinkedListGraph<ID, N, E, B> where
ID: 'a + PrimInt + Unsigned,
[src]
ID: 'a + PrimInt + Unsigned,
impl<'a, ID, N: 'a, E: 'a, B: 'a> EdgeAttributes<'a, LinkedListGraph<ID, N, E, B>, E> for LinkedListGraph<ID, N, E, B> where
ID: 'a + PrimInt + Unsigned,
[src]
ID: 'a + PrimInt + Unsigned,
impl<'a, ID, N: 'a, E: 'a, B: 'a> BiEdgeAttributes<'a, LinkedListGraph<ID, N, E, B>, B> for LinkedListGraph<ID, N, E, B> where
ID: 'a + PrimInt + Unsigned,
[src]
ID: 'a + PrimInt + Unsigned,
impl<ID, N, E, B> Default for LinkedListGraph<ID, N, E, B> where
ID: PrimInt + Unsigned,
[src]
ID: PrimInt + Unsigned,
impl<ID, N, E, B> Serialize for LinkedListGraph<ID, N, E, B> where
ID: Serialize,
N: Serialize,
E: Serialize,
B: Serialize,
[src]
ID: Serialize,
N: Serialize,
E: Serialize,
B: Serialize,
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<'de, ID, N, E, B> Deserialize<'de> for LinkedListGraph<ID, N, E, B> where
ID: Deserialize<'de>,
N: Deserialize<'de>,
E: Deserialize<'de>,
B: Deserialize<'de>,
[src]
ID: Deserialize<'de>,
N: Deserialize<'de>,
E: Deserialize<'de>,
B: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
impl<ID, N, E, B> Send for LinkedListGraph<ID, N, E, B> where
B: Send,
E: Send,
ID: Send,
N: Send,
B: Send,
E: Send,
ID: Send,
N: Send,
impl<ID, N, E, B> Unpin for LinkedListGraph<ID, N, E, B> where
B: Unpin,
E: Unpin,
ID: Unpin,
N: Unpin,
B: Unpin,
E: Unpin,
ID: Unpin,
N: Unpin,
impl<ID, N, E, B> Sync for LinkedListGraph<ID, N, E, B> where
B: Sync,
E: Sync,
ID: Sync,
N: Sync,
B: Sync,
E: Sync,
ID: Sync,
N: Sync,
impl<ID, N, E, B> UnwindSafe for LinkedListGraph<ID, N, E, B> where
B: UnwindSafe,
E: UnwindSafe,
ID: UnwindSafe,
N: UnwindSafe,
B: UnwindSafe,
E: UnwindSafe,
ID: UnwindSafe,
N: UnwindSafe,
impl<ID, N, E, B> RefUnwindSafe for LinkedListGraph<ID, N, E, B> where
B: RefUnwindSafe,
E: RefUnwindSafe,
ID: RefUnwindSafe,
N: RefUnwindSafe,
B: RefUnwindSafe,
E: RefUnwindSafe,
ID: RefUnwindSafe,
N: RefUnwindSafe,
Blanket Implementations
impl<'a, G> Graph<'a> for G where
G: GraphSize<'a> + Undirected<'a>,
[src]
G: GraphSize<'a> + Undirected<'a>,
impl<'a, G> Digraph<'a> for G where
G: GraphSize<'a> + Directed<'a>,
[src]
G: GraphSize<'a> + Directed<'a>,
impl<'a, G> Network<'a> for G where
G: GraphSize<'a> + BiDirected<'a>,
[src]
G: GraphSize<'a> + BiDirected<'a>,
impl<'a, T> IndexDigraph<'a> for T where
T: IndexGraph<'a> + Digraph<'a>,
[src]
T: IndexGraph<'a> + Digraph<'a>,
impl<'a, G> NumberedGraph<'a> for G where
G: Graph<'a>,
<G as GraphType<'a>>::Node: Indexable,
<G as GraphType<'a>>::Edge: Indexable,
[src]
G: Graph<'a>,
<G as GraphType<'a>>::Node: Indexable,
<G as GraphType<'a>>::Edge: Indexable,
impl<'a, G> NumberedDigraph<'a> for G where
G: Digraph<'a> + NumberedGraph<'a>,
<G as GraphType<'a>>::Node: Indexable,
<G as GraphType<'a>>::Edge: Indexable,
[src]
G: Digraph<'a> + NumberedGraph<'a>,
<G as GraphType<'a>>::Node: Indexable,
<G as GraphType<'a>>::Edge: Indexable,
impl<'a, G> NumberedNetwork<'a> for G where
G: Network<'a> + NumberedDigraph<'a>,
<G as GraphType<'a>>::Node: Indexable,
<G as GraphType<'a>>::Edge: Indexable,
<G as GraphType<'a>>::Edge: BiIndexable,
[src]
G: Network<'a> + NumberedDigraph<'a>,
<G as GraphType<'a>>::Node: Indexable,
<G as GraphType<'a>>::Edge: Indexable,
<G as GraphType<'a>>::Edge: BiIndexable,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,