EdgeList

Trait EdgeList 

Source
pub trait EdgeList: Sized + WithEdge {
    // Required method
    fn edges(&self) -> EdgeIter<'_, Self>;

    // Provided methods
    fn edges_ends(&self) -> EdgesEnds<'_, Self, EdgeIter<'_, Self>>  { ... }
    fn edges_with_ends(&self) -> EdgesWithEnds<'_, Self, EdgeIter<'_, Self>>  { ... }
    fn num_edges(&self) -> usize { ... }
    fn get_edge_by_ends(
        &self,
        u: Vertex<Self>,
        v: Vertex<Self>,
    ) -> Option<Edge<Self>> { ... }
    fn edge_by_ends(&self, u: Vertex<Self>, v: Vertex<Self>) -> Edge<Self> { ... }
}

Required Methods§

Source

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

Provided Methods§

Source

fn edges_ends(&self) -> EdgesEnds<'_, Self, EdgeIter<'_, Self>>

Source

fn edges_with_ends(&self) -> EdgesWithEnds<'_, Self, EdgeIter<'_, Self>>

Source

fn num_edges(&self) -> usize

Source

fn get_edge_by_ends( &self, u: Vertex<Self>, v: Vertex<Self>, ) -> Option<Edge<Self>>

Source

fn edge_by_ends(&self, u: Vertex<Self>, v: Vertex<Self>) -> Edge<Self>

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.

Implementations on Foreign Types§

Source§

impl<'a, G: EdgeList> EdgeList for &'a G

Source§

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

Source§

fn num_edges(&self) -> usize

Source§

fn get_edge_by_ends( &self, u: Vertex<Self>, v: Vertex<Self>, ) -> Option<Edge<Self>>

Implementors§

Source§

impl<'a, G> EdgeList for SpanningSubgraph<'a, G>
where G: 'a + WithEdge + WithVertexProp<Vec<Edge<G>>>,

Source§

impl<'a, G> EdgeList for Subgraph<'a, G>
where G: 'a + Graph,

Source§

impl<K: CompleteEdgeKind> EdgeList for Complete<K>

Source§

impl<V, K> EdgeList for AdjSet<V, K>
where V: AdjSetVertex, K: AdjSetEdgeKind<V>,

Source§

impl<V: Num, K: StaticEdgeKind> EdgeList for Static<V, K>