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> AsWeight<T> for Twhere
    T: Clone + IntoWeight<T>,
 
impl<T> AsWeight<T> for Twhere
    T: Clone + IntoWeight<T>,
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<K, S> Identity<K> for Swhere
    S: Borrow<K>,
    K: Identifier,
 
impl<K, S> Identity<K> for Swhere
    S: Borrow<K>,
    K: Identifier,
Source§impl<T> IntoDirection for T
 
impl<T> IntoDirection for T
fn into_direction(self) -> Direction
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 moreSource§impl<T> IntoWeight<T> for T
 
impl<T> IntoWeight<T> for T
fn into_weight(self) -> Weight<T>
Source§impl<A, B, C> PercentDifference<B> for A
 
impl<A, B, C> PercentDifference<B> for A
type Output = C
Source§fn percent_diff(self, rhs: B) -> <A as PercentDifference<B>>::Output
 
fn percent_diff(self, rhs: B) -> <A as PercentDifference<B>>::Output
Computes the percent difference between two values.