Skip to main content

CheckedShr

Trait CheckedShr 

Source
pub trait CheckedShr: Sized + Shr<u32> {
    // Required method
    fn checked_shr(self, rhs: u32) -> Option<<Self as Shr<u32>>::Output>;
}
Expand description

Performs shift right, returning None on shifts larger than or equal to the type width.

Required Methods§

Source

fn checked_shr(self, rhs: u32) -> Option<<Self as Shr<u32>>::Output>

Checked shift right. Computes self >> rhs, returning None if rhs is larger than or equal to the number of bits in self.

use const_num_traits::CheckedShr;

let x: u16 = 0x8000;

assert_eq!(CheckedShr::checked_shr(x, 0),  Some(0x8000));
assert_eq!(CheckedShr::checked_shr(x, 1),  Some(0x4000));
assert_eq!(CheckedShr::checked_shr(x, 15), Some(0x0001));
assert_eq!(CheckedShr::checked_shr(x, 16), None);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl CheckedShr for i8

Source§

fn checked_shr(self, rhs: u32) -> Option<i8>

Source§

impl CheckedShr for i16

Source§

fn checked_shr(self, rhs: u32) -> Option<i16>

Source§

impl CheckedShr for i32

Source§

fn checked_shr(self, rhs: u32) -> Option<i32>

Source§

impl CheckedShr for i64

Source§

fn checked_shr(self, rhs: u32) -> Option<i64>

Source§

impl CheckedShr for i128

Source§

fn checked_shr(self, rhs: u32) -> Option<i128>

Source§

impl CheckedShr for isize

Source§

fn checked_shr(self, rhs: u32) -> Option<isize>

Source§

impl CheckedShr for u8

Source§

fn checked_shr(self, rhs: u32) -> Option<u8>

Source§

impl CheckedShr for u16

Source§

fn checked_shr(self, rhs: u32) -> Option<u16>

Source§

impl CheckedShr for u32

Source§

fn checked_shr(self, rhs: u32) -> Option<u32>

Source§

impl CheckedShr for u64

Source§

fn checked_shr(self, rhs: u32) -> Option<u64>

Source§

impl CheckedShr for u128

Source§

fn checked_shr(self, rhs: u32) -> Option<u128>

Source§

impl CheckedShr for usize

Source§

fn checked_shr(self, rhs: u32) -> Option<usize>

Implementors§