Trait AdjacencyView

Source
pub trait AdjacencyView<'a, M, T>: GraphBase
where M: ?Sized,
{ type AViewIter<'g>: Iterator<Item = VIndexWithValue<Self::VIndex, T>> where M: 'a, Self: 'g; // Required method fn aviews<'g>( &'g self, map: &'a M, vid: Self::VIndex, ) -> Self::AViewIter<'g>; }

Required Associated Types§

Source

type AViewIter<'g>: Iterator<Item = VIndexWithValue<Self::VIndex, T>> where M: 'a, Self: 'g

Required Methods§

Source

fn aviews<'g>(&'g self, map: &'a M, vid: Self::VIndex) -> Self::AViewIter<'g>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, D, M, T> AdjacencyView<'a, M, T> for SparseGraph<D>
where Self: AdjacenciesWithEindex + EdgeView<M, T>, T: Clone, M: 'a,

Source§

type AViewIter<'g> = AdjacencyViewIterFromEindex<'g, 'a, SparseGraph<D>, M, T> where D: 'g

Source§

impl<'a, Fa, M, I, T, U> AdjacencyView<'a, M, U> for UsizeGraph<Fa>
where I: Iterator<Item = (usize, T)>, Fa: Fn(usize) -> I, T: Clone, M: 'a + Fn(T) -> U,

Source§

type AViewIter<'g> = AdjacencyViewIterFromValue<'g, 'a, UsizeGraph<Fa>, M, T, U> where Fa: 'g

Source§

impl<'a, M, T> AdjacencyView<'a, M, T> for GridGraph<Adj4>
where M: 'a + Fn(GridDirection) -> T,

Source§

type AViewIter<'g> = AdjacencyViewIterFromValue<'g, 'a, GridGraph<Adj4>, M, GridDirection, T>

Source§

impl<'a, M, T> AdjacencyView<'a, M, T> for GridGraph<Adj8>
where M: 'a + Fn(GridDirection) -> T,

Source§

type AViewIter<'g> = AdjacencyViewIterFromValue<'g, 'a, GridGraph<Adj8>, M, GridDirection, T>

Source§

impl<'a, V, Fv, Fa, M, Ia, T, U> AdjacencyView<'a, M, U> for ClosureGraph<V, Fv, Fa>
where V: Eq + Copy, Ia: Iterator<Item = (V, T)>, Fa: Fn(V) -> Ia, T: Clone, M: 'a + Fn(T) -> U,

Source§

type AViewIter<'g> = AdjacencyViewIterFromValue<'g, 'a, ClosureGraph<V, Fv, Fa>, M, T, U> where Fa: 'g, Fv: 'g, V: 'g