Trait graph::prelude::Edges

source ·
pub trait Edges {
    type NI: Idx;
    type EV;
    type EdgeIter<'a>: ParallelIterator<Item = (Self::NI, Self::NI, Self::EV)>
       where Self: 'a;

    // Required method
    fn edges(&self) -> Self::EdgeIter<'_>;

    // Provided methods
    fn max_node_id(&self) -> Self::NI { ... }
    fn degrees(
        &self,
        node_count: Self::NI,
        direction: Direction
    ) -> Vec<Atomic<Self::NI>> { ... }
}

Required Associated Types§

source

type NI: Idx

source

type EV

source

type EdgeIter<'a>: ParallelIterator<Item = (Self::NI, Self::NI, Self::EV)> where Self: 'a

Required Methods§

source

fn edges(&self) -> Self::EdgeIter<'_>

Provided Methods§

source

fn max_node_id(&self) -> Self::NI

source

fn degrees( &self, node_count: Self::NI, direction: Direction ) -> Vec<Atomic<Self::NI>>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<NI> Edges for Graph500<NI>where NI: Idx,

§

type NI = NI

§

type EV = ()

§

type EdgeIter<'a> = Copied<Iter<'a, (<Graph500<NI> as Edges>::NI, <Graph500<NI> as Edges>::NI, <Graph500<NI> as Edges>::EV)>> where Graph500<NI>: 'a

source§

impl<NI, EV> Edges for EdgeList<NI, EV>where NI: Idx, EV: Copy + Send + Sync,

§

type NI = NI

§

type EV = EV

§

type EdgeIter<'a> = Copied<Iter<'a, (<EdgeList<NI, EV> as Edges>::NI, <EdgeList<NI, EV> as Edges>::NI, <EdgeList<NI, EV> as Edges>::EV)>> where EdgeList<NI, EV>: 'a