Skip to main content

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".

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>