pub trait QueryableTaggedGraph: TaggedGraphwhere
Self::LowerGraph: QueryableGraph,{
// 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§
Sourcefn vertex_size(&self) -> usize
fn vertex_size(&self) -> usize
Total number of vertices.
Sourcefn iter_vertices(
&self,
) -> Box<dyn Iterator<Item = (VertexId, &Self::Vertex)> + '_>
fn iter_vertices( &self, ) -> Box<dyn Iterator<Item = (VertexId, &Self::Vertex)> + '_>
Iterates over vertices without any specific order.
Sourcefn iter_edges(&self) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>
fn iter_edges(&self) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>
Iterates edges without any specific order.
Sourcefn edges_connecting(
&self,
source: &VertexId,
sink: &VertexId,
) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>
fn edges_connecting( &self, source: &VertexId, sink: &VertexId, ) -> Box<dyn Iterator<Item = (Edge, &Self::Edge)> + '_>
Iterates edges connecting two specified endpoints.