Struct rs_graph::linkedlistgraph::LinkedListGraph
source · pub struct LinkedListGraph<ID = u32, N = (), E = ()> { /* private fields */ }
Expand description
The linked list based graph data structure.
Implementations§
source§impl<ID, N, E> LinkedListGraph<ID, N, E>where
ID: PrimInt + Unsigned,
impl<ID, N, E> LinkedListGraph<ID, N, E>where ID: PrimInt + Unsigned,
pub fn new() -> LinkedListGraph<ID, N, E>
Trait Implementations§
source§impl<ID, N, E> Buildable for LinkedListGraph<ID, N, E>where
ID: PrimInt + Unsigned + 'static,
N: Default,
E: Default,
impl<ID, N, E> Buildable for LinkedListGraph<ID, N, E>where ID: PrimInt + Unsigned + 'static, N: Default, E: Default,
source§impl<'de, ID, N, E> Deserialize<'de> for LinkedListGraph<ID, N, E>where
ID: Deserialize<'de>,
N: Deserialize<'de>,
E: Deserialize<'de>,
impl<'de, ID, N, E> Deserialize<'de> for LinkedListGraph<ID, N, E>where ID: Deserialize<'de>, N: Deserialize<'de>, E: Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<ID, N, E> Directed for LinkedListGraph<ID, N, E>where
ID: PrimInt + Unsigned + 'static,
impl<ID, N, E> Directed for LinkedListGraph<ID, N, E>where ID: PrimInt + Unsigned + 'static,
§type IncidentIt<'a> = NeighIt<ID>
where
N: 'a,
E: 'a
type IncidentIt<'a> = NeighIt<ID> where N: 'a, E: 'a
Type of an iterator over all incident edges.
§type DirectedEdge<'a> = <LinkedListGraph<ID, N, E> as GraphType>::Edge<'a>
where
N: 'a,
E: 'a
type DirectedEdge<'a> = <LinkedListGraph<ID, N, E> as GraphType>::Edge<'a> where N: 'a, E: 'a
Type of a directed edge.
source§fn out_iter(&self, u: Self::Node<'_>) -> Self::OutIt<'_>
fn out_iter(&self, u: Self::Node<'_>) -> Self::OutIt<'_>
Return a graph iterator over the edges leaving a node.
source§fn in_iter(&self, u: Self::Node<'_>) -> Self::InIt<'_>
fn in_iter(&self, u: Self::Node<'_>) -> Self::InIt<'_>
Return a graph iterator over the edges leaving a node.
source§fn incident_iter(&self, u: Self::Node<'_>) -> Self::IncidentIt<'_>
fn incident_iter(&self, u: Self::Node<'_>) -> Self::IncidentIt<'_>
Return an iterator over all directed edges incident with a node.
source§fn outedges(
&self,
u: Self::Node<'_>
) -> GraphIter<'_, Self, <Self as Directed>::OutIt<'_>> ⓘwhere
Self: Sized,
fn outedges( &self, u: Self::Node<'_> ) -> GraphIter<'_, Self, <Self as Directed>::OutIt<'_>> ⓘwhere Self: Sized,
Return an iterator over the edges leaving a node.
source§fn outgoing(&self) -> OutEdges<'_, Self>where
Self: Sized,
fn outgoing(&self) -> OutEdges<'_, Self>where Self: Sized,
Return access to the outgoing arcs via an
Adjacencies
trait. Read moresource§fn inedges(
&self,
u: Self::Node<'_>
) -> GraphIter<'_, Self, <Self as Directed>::InIt<'_>> ⓘwhere
Self: Sized,
fn inedges( &self, u: Self::Node<'_> ) -> GraphIter<'_, Self, <Self as Directed>::InIt<'_>> ⓘwhere Self: Sized,
Return an iterator over the edges leaving a node.
source§fn incoming(&self) -> InEdges<'_, Self>where
Self: Sized,
fn incoming(&self) -> InEdges<'_, Self>where Self: Sized,
Return access to the incoming arcs via an
Adjacencies
trait. Read moresource§fn incident_edges(
&self,
u: Self::Node<'_>
) -> GraphIter<'_, Self, <Self as Directed>::IncidentIt<'_>> ⓘwhere
Self: Sized,
fn incident_edges( &self, u: Self::Node<'_> ) -> GraphIter<'_, Self, <Self as Directed>::IncidentIt<'_>> ⓘwhere Self: Sized,
Return an iterator over all directed edges incident with a node.
source§impl<ID, N, E> EdgeAttributes<LinkedListGraph<ID, N, E>, E> for LinkedListGraph<ID, N, E>where
ID: PrimInt + Unsigned + 'static,
impl<ID, N, E> EdgeAttributes<LinkedListGraph<ID, N, E>, E> for LinkedListGraph<ID, N, E>where ID: PrimInt + Unsigned + 'static,
source§impl<ID, N, E> FiniteDigraph for LinkedListGraph<ID, N, E>where
ID: PrimInt + Unsigned + 'static,
impl<ID, N, E> FiniteDigraph for LinkedListGraph<ID, N, E>where ID: PrimInt + Unsigned + 'static,
source§impl<ID, N, E> FiniteGraph for LinkedListGraph<ID, N, E>where
ID: PrimInt + Unsigned + 'static,
impl<ID, N, E> FiniteGraph for LinkedListGraph<ID, N, E>where ID: PrimInt + Unsigned + 'static,
source§fn nodes_iter(&self) -> Self::NodeIt<'_>
fn nodes_iter(&self) -> Self::NodeIt<'_>
Return a graph iterator over all nodes.
source§fn edges_iter(&self) -> Self::EdgeIt<'_>
fn edges_iter(&self) -> Self::EdgeIt<'_>
Return a graph iterator over all edges. Read more
source§fn enodes(&self, e: Self::Edge<'_>) -> (Self::Node<'_>, Self::Node<'_>)
fn enodes(&self, e: Self::Edge<'_>) -> (Self::Node<'_>, Self::Node<'_>)
Return the nodes connected by an edge. Read more
source§fn nodes(&self) -> NodeIterator<'_, Self>where
Self: Sized,
fn nodes(&self) -> NodeIterator<'_, Self>where Self: Sized,
Return an iterator over all nodes.
source§impl<ID, N, E> GraphIterator<LinkedListGraph<ID, N, E>> for EdgeIt<ID>where
ID: PrimInt + Unsigned,
impl<ID, N, E> GraphIterator<LinkedListGraph<ID, N, E>> for EdgeIt<ID>where ID: PrimInt + Unsigned,
type Item = Edge<ID>
fn next(&mut self, _g: &LinkedListGraph<ID, N, E>) -> Option<Self::Item>
fn size_hint(&self, _g: &LinkedListGraph<ID, N, E>) -> (usize, Option<usize>)
fn count(self, _g: &LinkedListGraph<ID, N, E>) -> usize
fn iter(self, g: &G) -> GraphIter<'_, G, Self> ⓘwhere G: Sized,
source§impl<ID, N, E> GraphIterator<LinkedListGraph<ID, N, E>> for NeighIt<ID>where
ID: PrimInt + Unsigned,
impl<ID, N, E> GraphIterator<LinkedListGraph<ID, N, E>> for NeighIt<ID>where ID: PrimInt + Unsigned,
source§impl<ID, N, E> GraphIterator<LinkedListGraph<ID, N, E>> for NodeIt<ID>where
ID: PrimInt + Unsigned,
impl<ID, N, E> GraphIterator<LinkedListGraph<ID, N, E>> for NodeIt<ID>where ID: PrimInt + Unsigned,
type Item = Node<ID>
fn next(&mut self, _g: &LinkedListGraph<ID, N, E>) -> Option<Self::Item>
fn size_hint(&self, _g: &LinkedListGraph<ID, N, E>) -> (usize, Option<usize>)
fn count(self, _g: &LinkedListGraph<ID, N, E>) -> usize
fn iter(self, g: &G) -> GraphIter<'_, G, Self> ⓘwhere G: Sized,
source§impl<ID, N, E> GraphIterator<LinkedListGraph<ID, N, E>> for OutIt<ID>where
ID: PrimInt + Unsigned,
impl<ID, N, E> GraphIterator<LinkedListGraph<ID, N, E>> for OutIt<ID>where ID: PrimInt + Unsigned,
source§impl<ID, N, E> IndexGraph for LinkedListGraph<ID, N, E>where
ID: PrimInt + Unsigned + 'static,
impl<ID, N, E> IndexGraph for LinkedListGraph<ID, N, E>where ID: PrimInt + Unsigned + 'static,
source§impl<ID, N, E> NodeAttributes<LinkedListGraph<ID, N, E>, N> for LinkedListGraph<ID, N, E>where
ID: PrimInt + Unsigned + 'static,
impl<ID, N, E> NodeAttributes<LinkedListGraph<ID, N, E>, N> for LinkedListGraph<ID, N, E>where ID: PrimInt + Unsigned + 'static,
source§impl<ID, N, E> Serialize for LinkedListGraph<ID, N, E>where
ID: Serialize,
N: Serialize,
E: Serialize,
impl<ID, N, E> Serialize for LinkedListGraph<ID, N, E>where ID: Serialize, N: Serialize, E: Serialize,
source§impl<ID, N, E> Undirected for LinkedListGraph<ID, N, E>where
ID: PrimInt + Unsigned + 'static,
impl<ID, N, E> Undirected for LinkedListGraph<ID, N, E>where ID: PrimInt + Unsigned + 'static,
source§fn neigh_iter(&self, u: Self::Node<'_>) -> Self::NeighIt<'_>
fn neigh_iter(&self, u: Self::Node<'_>) -> Self::NeighIt<'_>
Return a graph iterator over the edges adjacent to some node.
Auto Trait Implementations§
impl<ID, N, E> RefUnwindSafe for LinkedListGraph<ID, N, E>where E: RefUnwindSafe, ID: RefUnwindSafe, N: RefUnwindSafe,
impl<ID, N, E> Send for LinkedListGraph<ID, N, E>where E: Send, ID: Send, N: Send,
impl<ID, N, E> Sync for LinkedListGraph<ID, N, E>where E: Sync, ID: Sync, N: Sync,
impl<ID, N, E> Unpin for LinkedListGraph<ID, N, E>where E: Unpin, ID: Unpin, N: Unpin,
impl<ID, N, E> UnwindSafe for LinkedListGraph<ID, N, E>where E: UnwindSafe, ID: UnwindSafe, N: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more