Trait core::iter::Step
[−]
[src]
pub trait Step: Clone + PartialOrd + Sized {
fn steps_between(start: &Self, end: &Self) -> Option<usize>;
fn replace_one(&mut self) -> Self;
fn replace_zero(&mut self) -> Self;
fn add_one(&self) -> Self;
fn sub_one(&self) -> Self;
fn add_usize(&self, n: usize) -> Option<Self>;
}🔬 This is a nightly-only experimental API. (step_trait #42168)
likely to be replaced by finer-grained traits
Objects that can be stepped over in both directions.
The steps_between function provides a way to efficiently compare
two Step objects.
Required Methods
fn steps_between(start: &Self, end: &Self) -> Option<usize>
🔬 This is a nightly-only experimental API. (step_trait #42168)
likely to be replaced by finer-grained traits
Returns the number of steps between two step objects. The count is
inclusive of start and exclusive of end.
Returns None if it is not possible to calculate steps_between
without overflow.
fn replace_one(&mut self) -> Self
🔬 This is a nightly-only experimental API. (step_trait #42168)
likely to be replaced by finer-grained traits
Replaces this step with 1, returning itself
fn replace_zero(&mut self) -> Self
🔬 This is a nightly-only experimental API. (step_trait #42168)
likely to be replaced by finer-grained traits
Replaces this step with 0, returning itself
fn add_one(&self) -> Self
🔬 This is a nightly-only experimental API. (step_trait #42168)
likely to be replaced by finer-grained traits
Adds one to this step, returning the result
fn sub_one(&self) -> Self
🔬 This is a nightly-only experimental API. (step_trait #42168)
likely to be replaced by finer-grained traits
Subtracts one to this step, returning the result
fn add_usize(&self, n: usize) -> Option<Self>
🔬 This is a nightly-only experimental API. (step_trait #42168)
likely to be replaced by finer-grained traits
Add an usize, returning None on overflow
Implementors
impl Step for usizeimpl Step for u8impl Step for u16impl Step for u32impl Step for isizeimpl Step for i8impl Step for i16impl Step for i32impl Step for u64impl Step for i64impl Step for u128impl Step for i128