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

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);

Implementations on Foreign Types

impl CheckedShl for u8
[src]

[src]

impl CheckedShl for u16
[src]

[src]

impl CheckedShl for u32
[src]

[src]

impl CheckedShl for u64
[src]

[src]

impl CheckedShl for usize
[src]

[src]

impl CheckedShl for i8
[src]

[src]

impl CheckedShl for i16
[src]

[src]

impl CheckedShl for i32
[src]

[src]

impl CheckedShl for i64
[src]

[src]

impl CheckedShl for isize
[src]

[src]

Implementors