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 u8
impl CheckedShl for u16
impl CheckedShl for u32
impl CheckedShl for u64
impl CheckedShl for usize
impl CheckedShl for u128
impl CheckedShl for i8
impl CheckedShl for i16
impl CheckedShl for i32
impl CheckedShl for i64
impl CheckedShl for isize
impl CheckedShl for i128