Trait SearchProblem

Source
pub trait SearchProblem {
    type Node: Hash + PartialEq + Eq;
    type Cost: PartialOrd + Zero + Clone;
    type Iter: Iterator<Item = (Self::Node, Self::Cost)>;

    // Required methods
    fn is_end(&self, _: &Self::Node) -> bool;
    fn heuristic(&self, _: &Self::Node) -> Self::Cost;
    fn neighbors(&self, _: &Self::Node, _: &Self::Cost) -> Self::Iter;

    // Provided method
    fn estimate_length(&self) -> Option<u32> { ... }
}

Required Associated Types§

Source

type Node: Hash + PartialEq + Eq

Source

type Cost: PartialOrd + Zero + Clone

Source

type Iter: Iterator<Item = (Self::Node, Self::Cost)>

Required Methods§

Source

fn is_end(&self, _: &Self::Node) -> bool

Source

fn heuristic(&self, _: &Self::Node) -> Self::Cost

Source

fn neighbors(&self, _: &Self::Node, _: &Self::Cost) -> Self::Iter

Provided Methods§

Implementors§