pub enum Direction {
Left = -1,
Right = 1,
Stay = 0,
}
Expand description
Variants§
Left = -1
Represents a single left shift
Right = 1
Represents a single right shift
Stay = 0
Represents no movement
Implementations§
Source§impl Direction
impl Direction
Sourcepub fn from_usize(value: usize) -> Self
pub fn from_usize(value: usize) -> Self
Converts an instance of the named type into a Direction.
Source§impl Direction
impl Direction
Source§impl Direction
impl Direction
Sourcepub fn as_char(&self) -> char
pub fn as_char(&self) -> char
Returns a char representation of the direction.
§standard char representation
‘L’ => Direction::Left ‘R’ => Direction::Right ‘S’ => Direction::Stay
Sourcepub fn apply_unsigned(self, cur: usize) -> usize
pub fn apply_unsigned(self, cur: usize) -> usize
Applies the shift to the given position in the direction specified by the
current instance. This is done using the wrapping_add_signed
method.
Trait Implementations§
Source§impl AddAssign<Direction> for i128
impl AddAssign<Direction> for i128
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl AddAssign<Direction> for i16
impl AddAssign<Direction> for i16
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl AddAssign<Direction> for i32
impl AddAssign<Direction> for i32
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl AddAssign<Direction> for i64
impl AddAssign<Direction> for i64
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl AddAssign<Direction> for i8
impl AddAssign<Direction> for i8
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl AddAssign<Direction> for isize
impl AddAssign<Direction> for isize
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl AddAssign<Direction> for u128
impl AddAssign<Direction> for u128
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl AddAssign<Direction> for u16
impl AddAssign<Direction> for u16
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl AddAssign<Direction> for u32
impl AddAssign<Direction> for u32
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl AddAssign<Direction> for u64
impl AddAssign<Direction> for u64
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl AddAssign<Direction> for u8
impl AddAssign<Direction> for u8
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl AddAssign<Direction> for usize
impl AddAssign<Direction> for usize
Source§fn add_assign(&mut self, rhs: Direction)
fn add_assign(&mut self, rhs: Direction)
Performs the
+=
operation. Read moreSource§impl<'de> Deserialize<'de> for Direction
impl<'de> Deserialize<'de> for Direction
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
Source§impl IntoEnumIterator for Direction
impl IntoEnumIterator for Direction
type Iterator = DirectionIter
fn iter() -> DirectionIter ⓘ
Source§impl Ord for Direction
impl Ord for Direction
Source§impl PartialOrd for Direction
impl PartialOrd for Direction
Source§impl VariantNames for Direction
impl VariantNames for Direction
impl Copy for Direction
impl Eq for Direction
impl StructuralPartialEq for Direction
Auto Trait Implementations§
impl Freeze for Direction
impl RefUnwindSafe for Direction
impl Send for Direction
impl Sync for Direction
impl Unpin for Direction
impl UnwindSafe for Direction
Blanket Implementations§
Source§impl<T> AsDirection for Twhere
T: Clone + IntoDirection,
impl<T> AsDirection for Twhere
T: Clone + IntoDirection,
fn as_direction(&self) -> Direction
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