Trait num_traits::ops::checked::CheckedShl [−][src]
pub trait CheckedShl: Sized + Shl<u32, Output = Self> { fn checked_shl(&self, rhs: u32) -> Option<Self>; }
Performs a left shift that returns None on overflow.
Required Methods
fn checked_shl(&self, rhs: u32) -> Option<Self>
Shifts a number to the left, checking for overflow. If overflow happens,
None is returned.
use num_traits::CheckedShl; let x: u16 = 0x0001; assert_eq!(CheckedShl::checked_shl(&x, 0), Some(0x0001)); assert_eq!(CheckedShl::checked_shl(&x, 1), Some(0x0002)); assert_eq!(CheckedShl::checked_shl(&x, 15), Some(0x8000)); assert_eq!(CheckedShl::checked_shl(&x, 16), None);
Implementors
impl CheckedShl for u8impl CheckedShl for u16impl CheckedShl for u32impl CheckedShl for u64impl CheckedShl for usizeimpl CheckedShl for u128impl CheckedShl for i8impl CheckedShl for i16impl CheckedShl for i32impl CheckedShl for i64impl CheckedShl for isizeimpl CheckedShl for i128