Trait aoc_search::priority::Seen

source ·
pub trait Seen<Node, Pri>where
    Node: Clone,
    Pri: Clone + Ord,{
    // Required method
    fn seen_get_mut(&mut self, node: Node) -> &mut SeenState<Pri>;

    // Provided methods
    fn seen_push(&mut self, node: Node, priority: Pri) -> bool { ... }
    fn seen_visited(&mut self, node: &Node) -> bool { ... }
}

Required Methods§

source

fn seen_get_mut(&mut self, node: Node) -> &mut SeenState<Pri>

Provided Methods§

source

fn seen_push(&mut self, node: Node, priority: Pri) -> bool

source

fn seen_visited(&mut self, node: &Node) -> bool

Implementations on Foreign Types§

source§

impl<Node, Pri, Hshr> Seen<Node, Pri> for HashMap<Node, SeenState<Pri>, Hshr>where Hshr: BuildHasher, Node: Clone + Eq + Hash + Ord, Pri: Clone + Ord,

source§

fn seen_get_mut(&mut self, node: Node) -> &mut SeenState<Pri>

source§

impl<Node, Pri, const DIMS: usize> Seen<Node, Pri> for GridBuf<Vec<SeenState<Pri>>, Node, DIMS>where Node: GridPos<DIMS> + Clone + Eq + Hash, Pri: Clone + Ord,

source§

fn seen_get_mut(&mut self, node: Node) -> &mut SeenState<Pri>

source§

impl<Pos, Pri, const DIMS: usize> Seen<GridCursor<Pos, DIMS>, Pri> for GridBuf<Vec<SeenState<Pri>>, Pos, DIMS>where Pos: GridPos<DIMS> + Clone + Eq + Hash, Pri: Clone + Ord,

source§

fn seen_get_mut(&mut self, node: GridCursor<Pos, DIMS>) -> &mut SeenState<Pri>

Implementors§