pub struct VecGraph<ID = u32> { /* private fields */ }
Expand description
A vector based graph data structure.
Implementations§
Trait Implementations§
Source§impl<'de, ID> Deserialize<'de> for VecGraph<ID>where
ID: Deserialize<'de>,
impl<'de, ID> Deserialize<'de> for VecGraph<ID>where
ID: 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> Directed for VecGraph<ID>
impl<ID> Directed for VecGraph<ID>
Source§type IncidentIt<'a> = NeighIt<'a, ID>
type IncidentIt<'a> = NeighIt<'a, ID>
Type of an iterator over all incident edges.
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> FiniteDigraph for VecGraph<ID>
impl<ID> FiniteDigraph for VecGraph<ID>
Source§impl<ID> FiniteGraph for VecGraph<ID>
impl<ID> FiniteGraph for VecGraph<ID>
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<'a, ID> GraphIterator<VecGraph<ID>> for EdgeIt<ID>
impl<'a, ID> GraphIterator<VecGraph<ID>> for EdgeIt<ID>
Source§impl<'a, ID> GraphIterator<VecGraph<ID>> for NeighIt<'a, ID>
impl<'a, ID> GraphIterator<VecGraph<ID>> for NeighIt<'a, ID>
Source§impl<'a, ID> GraphIterator<VecGraph<ID>> for NodeIt<ID>
impl<'a, ID> GraphIterator<VecGraph<ID>> for NodeIt<ID>
Source§impl<ID> IndexGraph for VecGraph<ID>
impl<ID> IndexGraph for VecGraph<ID>
Source§impl<ID> Undirected for VecGraph<ID>
impl<ID> Undirected for VecGraph<ID>
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> Freeze for VecGraph<ID>
impl<ID> RefUnwindSafe for VecGraph<ID>where
ID: RefUnwindSafe,
impl<ID> Send for VecGraph<ID>where
ID: Send,
impl<ID> Sync for VecGraph<ID>where
ID: Sync,
impl<ID> Unpin for VecGraph<ID>where
ID: Unpin,
impl<ID> UnwindSafe for VecGraph<ID>where
ID: 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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more