Trait astar::ReusableSearchProblem [] [src]

pub trait ReusableSearchProblem {
    type Node: Hash + PartialEq + Eq + Clone;
    type Cost: PartialOrd + Zero + Clone;
    type Iter: Iterator<Item=(Self::Node, Self::Cost)>;
    fn heuristic(&self, &Self::Node, &Self::Node) -> Self::Cost;
    fn neighbors(&mut self, &Self::Node) -> Self::Iter;

    fn estimate_length(&self, _a: &Self::Node, _b: &Self::Node) -> Option<u32> { ... }
    fn search(&mut self, start: Self::Node, end: Self::Node) -> ReuseSearchInstance<Self, Self::Node> { ... }
}

Associated Types

type Node: Hash + PartialEq + Eq + Clone

type Cost: PartialOrd + Zero + Clone

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

Required Methods

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

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

Provided Methods

fn estimate_length(&self, _a: &Self::Node, _b: &Self::Node) -> Option<u32>

fn search(&mut self, start: Self::Node, end: Self::Node) -> ReuseSearchInstance<Self, Self::Node>

Implementors