# Trait num_traits::ops::checked::CheckedShr [−] [src]

    pub trait CheckedShr: Shr<u32, Output = Self> {
        fn checked_shr(&self, rhs: u32) -> Option<Self>;
    }

Performs a right shift that returns `None` on overflow.

## Required Methods

### `fn checked_shr(&self, rhs: u32) -> Option<Self>`

Shifts a number to the left, checking for overflow. If overflow happens, `None` is returned.

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

## Implementations on Foreign Types

### `impl CheckedShr for i64`
[src]

#### `fn checked_shr(&self, rhs: u32) -> Option<i64>`
[src]

### `impl CheckedShr for i8`
[src]

#### `fn checked_shr(&self, rhs: u32) -> Option<i8>`
[src]

### `impl CheckedShr for u16`
[src]

#### `fn checked_shr(&self, rhs: u32) -> Option<u16>`
[src]

### `impl CheckedShr for usize`
[src]

#### `fn checked_shr(&self, rhs: u32) -> Option<usize>`
[src]

### `impl CheckedShr for u64`
[src]

#### `fn checked_shr(&self, rhs: u32) -> Option<u64>`
[src]

### `impl CheckedShr for i16`
[src]

#### `fn checked_shr(&self, rhs: u32) -> Option<i16>`
[src]

### `impl CheckedShr for i32`
[src]

#### `fn checked_shr(&self, rhs: u32) -> Option<i32>`
[src]

### `impl CheckedShr for isize`
[src]

#### `fn checked_shr(&self, rhs: u32) -> Option<isize>`
[src]

### `impl CheckedShr for u8`
[src]

#### `fn checked_shr(&self, rhs: u32) -> Option<u8>`
[src]

### `impl CheckedShr for u32`
[src]

#### `fn checked_shr(&self, rhs: u32) -> Option<u32>`
[src]

## Implementors

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)