Traversal

Trait Traversal 

Source
pub trait Traversal<N> {
    type Store<I2>;

    // Required methods
    fn has_visited(&self, dest: &N) -> bool;
    fn visited(&self) -> &Self::Store<N>;
}
Expand description

Traversal trait defines an interface for operators capable of traversing some type, which in this case is a hypergraph.

Required Associated Types§

Source

type Store<I2>

defines the associated container used to store visited vertices

Required Methods§

Source

fn has_visited(&self, dest: &N) -> bool

Check if the search has visited a specific vertex

Source

fn visited(&self) -> &Self::Store<N>

Get all vertices that have been visited during the search

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.

Implementors§

Source§

impl<'a, N, E, A, H, S> Traversal<IndexBase<<A as GraphProps>::Ix>> for BreadthFirstTraversal<'a, N, E, A, H, S>
where A: GraphProps, H: HyperGraph<N, E, A>, S: BuildHasher, A::Ix: HyperIndex,

Source§

type Store<I2> = HashSet<I2, S>

Source§

impl<'a, N, E, A, H, S> Traversal<IndexBase<<A as GraphProps>::Ix>> for DepthFirstTraversal<'a, N, E, A, H, S>
where A: GraphProps, H: HyperGraph<N, E, A>, S: BuildHasher, A::Ix: HashIndex,

Source§

type Store<I2> = HashSet<I2, S>

Source§

impl<'a, N, E, A, H, S> Traversal<IndexBase<<A as GraphProps>::Ix>> for Dijkstra<'a, N, E, A, H, S>
where A: GraphProps, H: HyperGraph<N, E, A>, S: BuildHasher, A::Ix: Eq + Hash,

Source§

type Store<I2> = HashSet<I2, S>

Source§

impl<'a, N, E, F, A, H, S> Traversal<IndexBase<<A as GraphProps>::Ix>> for AStarSearch<'a, N, E, A, F, H, S>
where A: GraphProps, F: Heuristic<A::Ix, Output = f64>, H: HyperGraph<N, E, A>, S: BuildHasher, A::Ix: Eq + Hash,

Source§

type Store<U> = HashSet<U, S>