GraphViewTrait

Trait GraphViewTrait 

Source
pub trait GraphViewTrait<N, E>
where N: NodeTrait, E: EdgeTrait,
{
Show 14 methods // Required methods fn is_empty(&self) -> bool; fn get_node(&self, key: u32) -> &N; fn get_edge(&self, source: u32, target: u32) -> &E; fn has_node(&self, key: u32) -> bool; fn has_edge(&self, source: u32, target: u32) -> bool; fn get_nodes<'a>(&'a self) -> impl Iterator<Item = &'a N> where N: 'a; fn get_edges<'a>(&'a self) -> impl Iterator<Item = &'a E> where E: 'a; fn get_predecessors<'a>( &'a self, node_key: u32, ) -> impl Iterator<Item = &'a N> where N: 'a; fn get_successors<'a>( &'a self, node_key: u32, ) -> impl Iterator<Item = &'a N> where N: 'a; fn get_node_keys(&self) -> impl Iterator<Item = u32>; fn get_predecessors_keys(&self, node_key: u32) -> impl Iterator<Item = u32>; fn get_successors_keys(&self, node_key: u32) -> impl Iterator<Item = u32>; fn filter(&self, node_keys: &[u32]) -> impl GraphViewTrait<N, E>; fn has_sequential_keys(&self) -> bool;
}

Required Methods§

Source

fn is_empty(&self) -> bool

Source

fn get_node(&self, key: u32) -> &N

Source

fn get_edge(&self, source: u32, target: u32) -> &E

Source

fn has_node(&self, key: u32) -> bool

Source

fn has_edge(&self, source: u32, target: u32) -> bool

Source

fn get_nodes<'a>(&'a self) -> impl Iterator<Item = &'a N>
where N: 'a,

Source

fn get_edges<'a>(&'a self) -> impl Iterator<Item = &'a E>
where E: 'a,

Source

fn get_predecessors<'a>(&'a self, node_key: u32) -> impl Iterator<Item = &'a N>
where N: 'a,

Source

fn get_successors<'a>(&'a self, node_key: u32) -> impl Iterator<Item = &'a N>
where N: 'a,

Source

fn get_node_keys(&self) -> impl Iterator<Item = u32>

Source

fn get_predecessors_keys(&self, node_key: u32) -> impl Iterator<Item = u32>

Source

fn get_successors_keys(&self, node_key: u32) -> impl Iterator<Item = u32>

Source

fn filter(&self, node_keys: &[u32]) -> impl GraphViewTrait<N, E>

Source

fn has_sequential_keys(&self) -> bool

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<N: NodeTrait, E: EdgeTrait> GraphViewTrait<N, E> for FilteredGraph<'_, N, E>

Source§

impl<N: NodeTrait, E: EdgeTrait> GraphViewTrait<N, E> for Graph<N, E>