[][src]Trait nonogrid::ProbeSolver

pub trait ProbeSolver {
    type BlockType: Block;
    fn with_board(board: MutRc<Board<Self::BlockType>>) -> Self;
fn unsolved_cells(&self) -> PQ<Point, Priority, DefaultHashBuilder>;
fn propagate_point<S>(
        &mut self,
        point: &Point
    ) -> Result<Vec<(Point, Priority)>, ()>
    where
        S: LineSolver<BlockType = Self::BlockType>
;
fn run<S>(
        &mut self,
        probes: &mut PQ<Point, Priority, DefaultHashBuilder>
    ) -> Result<Vec<ProbeImpact<<Self::BlockType as Block>::Color>>, String>
    where
        S: LineSolver<BlockType = Self::BlockType>
; fn run_unsolved<S>(
        &mut self
    ) -> Result<Vec<ProbeImpact<<Self::BlockType as Block>::Color>>, String>
    where
        S: LineSolver<BlockType = Self::BlockType>
, { ... } }

Associated Types

Loading content...

Required methods

fn with_board(board: MutRc<Board<Self::BlockType>>) -> Self

fn unsolved_cells(&self) -> PQ<Point, Priority, DefaultHashBuilder>

fn propagate_point<S>(
    &mut self,
    point: &Point
) -> Result<Vec<(Point, Priority)>, ()> where
    S: LineSolver<BlockType = Self::BlockType>, 

fn run<S>(
    &mut self,
    probes: &mut PQ<Point, Priority, DefaultHashBuilder>
) -> Result<Vec<ProbeImpact<<Self::BlockType as Block>::Color>>, String> where
    S: LineSolver<BlockType = Self::BlockType>, 

Loading content...

Provided methods

fn run_unsolved<S>(
    &mut self
) -> Result<Vec<ProbeImpact<<Self::BlockType as Block>::Color>>, String> where
    S: LineSolver<BlockType = Self::BlockType>, 

Loading content...

Implementors

impl<B> ProbeSolver for FullProbe1<B> where
    B: Block
[src]

type BlockType = B

Loading content...