Edges

Trait 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>>

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<NI: Idx> Edges for Graph500<NI>

Source§

type NI = NI

Source§

type EV = ()

Source§

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

Source§

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

Source§

type NI = NI

Source§

type EV = EV

Source§

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 Self: 'a