pub enum SolveStep {
Placement {
row: usize,
col: usize,
value: u8,
flags: TechniqueFlags,
step_number: u32,
candidates_eliminated: u32,
related_cell_count: u8,
difficulty_point: u8,
},
CandidateElimination {
row: usize,
col: usize,
value: u8,
flags: TechniqueFlags,
step_number: u32,
candidates_eliminated: u32,
related_cell_count: u8,
difficulty_point: u8,
},
}Expand description
Single step in the solving process.
Variants§
Placement
A placement of a single value on the Sudoku board.
Fields
§
flags: TechniqueFlagsFlags indicating the technique used for this placement.
Count of related cells involved in determining this placement.
CandidateElimination
A removal of a candidate value from the Sudoku board.
Fields
§
flags: TechniqueFlagsFlags indicating the technique used for this elimination.
Count of related cells involved in determining this elimination.
Implementations§
Source§impl SolveStep
impl SolveStep
Sourcepub fn step_number(&self) -> u32
pub fn step_number(&self) -> u32
Returns the step number (position in solve sequence).
Sourcepub fn candidates_eliminated(&self) -> u32
pub fn candidates_eliminated(&self) -> u32
Returns the bitmask of candidates eliminated by this step.
Returns the count of related cells involved in this step.
Sourcepub fn difficulty_point(&self) -> u8
pub fn difficulty_point(&self) -> u8
Returns the difficulty metric for this step (0-10).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SolveStep
impl RefUnwindSafe for SolveStep
impl Send for SolveStep
impl Sync for SolveStep
impl Unpin for SolveStep
impl UnwindSafe for SolveStep
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more