PathFinder

Trait PathFinder 

Source
pub trait PathFinder<Idx> {
    type Path;

    // Required methods
    fn find_path(
        &mut self,
        from: VertexId<Idx>,
        to: VertexId<Idx>,
    ) -> Result<Self::Path>;
    fn reconstruct_path(&self, tgt: VertexId<Idx>) -> Self::Path;
}
Expand description

The PathFinder establishes an interface for path-finding operators on hypergraphs. Each implementor will provide a particular algorithm for finding paths between any two vertices in a hypergraph.

Required Associated Types§

Required Methods§

Source

fn find_path( &mut self, from: VertexId<Idx>, to: VertexId<Idx>, ) -> Result<Self::Path>

returns a

Source

fn reconstruct_path(&self, tgt: VertexId<Idx>) -> Self::Path

Implementors§

Source§

impl<'a, N, E, A, H, S> PathFinder<<A as GraphProps>::Ix> for Dijkstra<'a, N, E, A, H, S>

Source§

impl<'a, N, E, F, A, H, S> PathFinder<<A as GraphProps>::Ix> for AStarSearch<'a, N, E, A, F, H, S>
where A: GraphProps, H: HyperGraph<N, E, A>, F: Heuristic<A::Ix, Output = f64>, S: BuildHasher, A::Ix: HyperIndex, for<'b> &'b <H::Edge<E> as RawLayout>::Store: IntoIterator<Item = &'b VertexId<A::Ix>>,