[][src]Struct rs_graph::linkedlistgraph::LinkedListGraph

pub struct LinkedListGraph<ID = u32, N = (), E = (), B = ()> { /* fields omitted */ }

The linked list based graph data structure.

Methods

impl<ID, N, E, B> LinkedListGraph<ID, N, E, B> where
    ID: PrimInt + Unsigned
[src]

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]

type Node = Node<ID>

Type of a node.

type Edge = Edge<ID>

Type of an edge.

impl<'a, ID, N, E, B> GraphSize<'a> for LinkedListGraph<ID, N, E, B> where
    ID: 'a + PrimInt + Unsigned
[src]

type NodeIter = NodeIter<ID>

Type of an iterator over all nodes.

type EdgeIter = EdgeIter<ID>

Type of an iterator over all edges.

impl<'a, ID, N: 'a, E: 'a, B: 'a> Undirected<'a> for LinkedListGraph<ID, N, E, B> where
    ID: 'a + PrimInt + Unsigned
[src]

type NeighIter = NeighIter<'a, ID, E, B>

Type of an iterator over all incident edges.

fn neighbors(&'a self) -> Neighbors<'a, Self> where
    Self: Sized
[src]

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]

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 outgoing(&'a self) -> OutEdges<'a, Self> where
    Self: Sized
[src]

Return access to the outgoing arcs via an Adjacencies trait. Read more

fn incoming(&'a self) -> InEdges<'a, Self> where
    Self: Sized
[src]

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]

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]

impl<'a, ID, N: 'a, E: 'a, B: 'a> IndexNetwork<'a> for LinkedListGraph<ID, N, E, B> where
    ID: 'a + PrimInt + Unsigned
[src]

impl<ID, N, E, B> Builder for LinkedListGraph<ID, N, E, B> where
    ID: PrimInt + Unsigned,
    N: Default,
    E: Default,
    B: Default
[src]

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 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]

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]

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]

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]

impl<ID, N, E, B> Default for LinkedListGraph<ID, N, E, B> where
    ID: PrimInt + Unsigned
[src]

impl<ID, N, E, B> Serialize for LinkedListGraph<ID, N, E, B> where
    ID: Serialize,
    N: Serialize,
    E: Serialize,
    B: Serialize
[src]

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]

Auto Trait Implementations

impl<ID, N, E, B> Send for LinkedListGraph<ID, N, E, B> where
    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

impl<ID, N, E, B> Sync for LinkedListGraph<ID, N, E, B> where
    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

impl<ID, N, E, B> RefUnwindSafe for LinkedListGraph<ID, N, E, B> where
    B: RefUnwindSafe,
    E: RefUnwindSafe,
    ID: RefUnwindSafe,
    N: RefUnwindSafe

Blanket Implementations

impl<'a, G> Graph<'a> for G where
    G: GraphSize<'a> + Undirected<'a>, 
[src]

impl<'a, G> Digraph<'a> for G where
    G: GraphSize<'a> + Directed<'a>, 
[src]

impl<'a, G> Network<'a> for G where
    G: GraphSize<'a> + BiDirected<'a>, 
[src]

impl<'a, T> IndexDigraph<'a> for T where
    T: IndexGraph<'a> + Digraph<'a>, 
[src]

impl<'a, G> NumberedGraph<'a> for G where
    G: Graph<'a>,
    <G as GraphType<'a>>::Node: Indexable,
    <G as GraphType<'a>>::Edge: Indexable
[src]

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]

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]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]