Trait Adjacencies

Source
pub trait Adjacencies: GraphBase {
    type AIndex: AdjacencyIndex<VIndex = Self::VIndex>;
    type AIter<'g>: Iterator<Item = Self::AIndex>
       where Self: 'g;

    // Required method
    fn adjacencies(&self, vid: Self::VIndex) -> Self::AIter<'_>;
}

Required Associated Types§

Source

type AIndex: AdjacencyIndex<VIndex = Self::VIndex>

Source

type AIter<'g>: Iterator<Item = Self::AIndex> where Self: 'g

Required Methods§

Source

fn adjacencies(&self, vid: Self::VIndex) -> Self::AIter<'_>

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 Adjacencies for GridGraph<Adj4>

Source§

type AIndex = VIndexWithValue<(usize, usize), GridDirection>

Source§

type AIter<'g> = Map<GridAdjacency<'g, Adj4>, fn(((usize, usize), GridDirection)) -> VIndexWithValue<(usize, usize), GridDirection>>

Source§

impl Adjacencies for GridGraph<Adj8>

Source§

type AIndex = VIndexWithValue<(usize, usize), GridDirection>

Source§

type AIter<'g> = Map<GridAdjacency<'g, Adj8>, fn(((usize, usize), GridDirection)) -> VIndexWithValue<(usize, usize), GridDirection>>

Source§

impl<D> Adjacencies for SparseGraph<D>

Source§

type AIndex = Adjacency

Source§

type AIter<'g> = Cloned<Iter<'g, Adjacency>> where D: 'g

Source§

impl<Fa, I, T> Adjacencies for UsizeGraph<Fa>
where I: Iterator<Item = (usize, T)>, Fa: Fn(usize) -> I, T: Clone,

Source§

type AIndex = VIndexWithValue<usize, T>

Source§

type AIter<'g> = Map<I, fn((usize, T)) -> VIndexWithValue<usize, T>> where Fa: 'g

Source§

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

Source§

type AIndex = VIndexWithValue<V, T>

Source§

type AIter<'g> = Map<Ia, fn((V, T)) -> VIndexWithValue<V, T>> where V: 'g, Fv: 'g, Fa: 'g