pub struct SolutionStep {
pub rule: Rule,
pub cells: Vec<CellPosition>,
pub values: Vec<u32>,
pub areas: Vec<Area>,
pub affected_cells: Vec<CellPosition>,
pub candidates: Option<Vec<Vec<Vec<u32>>>>,
pub invalid_state_reason: Option<InvalidStateReason>,
}Fields§
§rule: Rule§cells: Vec<CellPosition>§values: Vec<u32>§areas: Vec<Area>§affected_cells: Vec<CellPosition>§candidates: Option<Vec<Vec<Vec<u32>>>>§invalid_state_reason: Option<InvalidStateReason>Implementations§
Source§impl SolutionStep
impl SolutionStep
pub fn new( rule: Rule, cells: Vec<CellPosition>, values: Vec<u32>, areas: Vec<Area>, affected_cells: Vec<CellPosition>, ) -> SolutionStep
pub fn is_grid_step(&self) -> bool
Trait Implementations§
Source§impl Clone for SolutionStep
impl Clone for SolutionStep
Source§fn clone(&self) -> SolutionStep
fn clone(&self) -> SolutionStep
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SolutionStep
impl Debug for SolutionStep
Source§impl<'de> Deserialize<'de> for SolutionStep
impl<'de> Deserialize<'de> for SolutionStep
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SolutionStep
impl RefUnwindSafe for SolutionStep
impl Send for SolutionStep
impl Sync for SolutionStep
impl Unpin for SolutionStep
impl UnwindSafe for SolutionStep
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