Trait QueryableTaggedGraph

Source
pub trait QueryableTaggedGraph: TaggedGraph{
    // Required methods
    fn vertex_size(&self) -> usize;
    fn iter_vertices(
        &self,
    ) -> Box<dyn Iterator<Item = (VertexId, &Self::Vertex)> + '_>;
    fn edge_size(&self) -> usize;
    fn iter_edges(&self) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>;
    fn edges_connecting(
        &self,
        source: &VertexId,
        sink: &VertexId,
    ) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>;
    fn in_edges(
        &self,
        vid: &VertexId,
    ) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>;
    fn out_edges(
        &self,
        vid: &VertexId,
    ) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>;
}
Expand description

Interfaces to query vertices and edges in tagged graphs.

Required Methods§

Source

fn vertex_size(&self) -> usize

Total number of vertices.

Source

fn iter_vertices( &self, ) -> Box<dyn Iterator<Item = (VertexId, &Self::Vertex)> + '_>

Iterates over vertices without any specific order.

Source

fn edge_size(&self) -> usize

Total number of edges.

Source

fn iter_edges(&self) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>

Iterates edges without any specific order.

Source

fn edges_connecting( &self, source: &VertexId, sink: &VertexId, ) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>

Iterates edges connecting two specified endpoints.

Source

fn in_edges( &self, vid: &VertexId, ) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>

Iterates over in-edges of a specified vertex.

Source

fn out_edges( &self, vid: &VertexId, ) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>

Iterates over out-edges of a specified vertex.

Implementors§

Source§

impl<V, E, G> QueryableTaggedGraph for NaiveTaggedGraph<V, E, G>
where V: Hash + Eq + Clone, E: Hash + Eq + Clone + Edge, G: QueryableGraph,