#[non_exhaustive]pub enum Symmetry {
VerticalMirror,
HorizontalMirror,
VerticalAndHorizontalMirror,
DiagonalMirror,
AntidiagonalMirror,
BidiagonalMirror,
QuarterRotation,
HalfRotation,
Dihedral,
None,
}Expand description
Position symmetries for clues of generated sudokus
For use with functions like Sudoku::generate_with_symmetry.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
VerticalMirror
Mirror along the vertical axis through the center of the sudoku
HorizontalMirror
Mirror along the horizontal axis through the center of the sudoku
VerticalAndHorizontalMirror
Mirror along both vertical and horizontal axes through the center of the sudoku
DiagonalMirror
Mirror along the diagonal from the top left to the bottom right
AntidiagonalMirror
Mirror along the diagonal from the bottom left to the top right
BidiagonalMirror
Mirror along both diagonals
QuarterRotation
90° rotational symmetry (implies 180° and 270° symmetry)
HalfRotation
180° rotational symmetry
Dihedral
Mirror along both vertical and horizontal axes, both diagonals and 90° and 180° rotation
None
No symmetry
Trait Implementations§
impl Copy for Symmetry
impl Eq for Symmetry
impl StructuralPartialEq for Symmetry
Auto Trait Implementations§
impl Freeze for Symmetry
impl RefUnwindSafe for Symmetry
impl Send for Symmetry
impl Sync for Symmetry
impl Unpin for Symmetry
impl UnwindSafe for Symmetry
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