Trait astar::SearchProblem [-] [+] [src]

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

    fn start(&self) -> Self::Node;
    fn is_end(&self, &Self::Node) -> bool;
    fn heuristic(&self, &Self::Node) -> Self::Cost;
    fn neighbors(&mut self, &Self::Node) -> Self::Iter;

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

Associated Types

type Node: Hash + PartialEq + Eq

type Cost: PartialOrd + Zero + Clone

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

Required Methods

fn start(&self) -> Self::Node

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

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

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

Provided Methods

fn estimate_length(&self) -> Option<u32>

Implementors