pub trait IntervalBound: Copy + Ord + Sized {
    // Required methods
    fn step_up(self) -> Option<Self>;
    fn step_down(self) -> Option<Self>;
    fn steps_between(&self, upper: &Self) -> usize;
    fn steps_between_len(&self, len: usize) -> Self;

    // Provided methods
    fn step_up_saturating(self) -> Self { ... }
    fn step_down_saturating(self) -> Self { ... }
}

Required Methods§

source

fn step_up(self) -> Option<Self>

source

fn step_down(self) -> Option<Self>

source

fn steps_between(&self, upper: &Self) -> usize

source

fn steps_between_len(&self, len: usize) -> Self

Provided Methods§

source

fn step_up_saturating(self) -> Self

source

fn step_down_saturating(self) -> Self

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl IntervalBound for i8

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

source§

impl IntervalBound for i16

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

source§

impl IntervalBound for i32

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

source§

impl IntervalBound for i64

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

source§

impl IntervalBound for i128

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

source§

impl IntervalBound for isize

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

source§

impl IntervalBound for u8

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

source§

impl IntervalBound for u16

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

source§

impl IntervalBound for u32

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

source§

impl IntervalBound for u64

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

source§

impl IntervalBound for u128

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

source§

impl IntervalBound for usize

source§

fn step_up(self) -> Option<Self>

source§

fn step_down(self) -> Option<Self>

source§

fn steps_between(&self, upper: &Self) -> usize

source§

fn steps_between_len(&self, len: usize) -> Self

Implementors§