[][src]Struct nonogrid::solver::propagation::Solver

pub struct Solver<B> where
    B: Block
{ /* fields omitted */ }

Methods

impl<B> Solver<B> where
    B: Block
[src]

pub fn new(board: MutRc<Board<B>>) -> Self[src]

pub fn with_point(board: MutRc<Board<B>>, point: Point) -> Self[src]

pub fn run<S>(&self) -> Result<Vec<Point>, String> where
    S: LineSolver<BlockType = B>, 
[src]

pub fn update_line<S>(
    &self,
    index: usize,
    is_column: bool
) -> Result<Vec<(usize, B::Color)>, String> where
    S: LineSolver<BlockType = B>, 
[src]

Solve a line with the solver S and update the board. If the line gets partially solved, put the crossed lines into queue.

Return the list of indexes which was updated during this solution.

Auto Trait Implementations

impl<B> !Send for Solver<B>

impl<B> !Sync for Solver<B>

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]