[][src]Trait std::iter::Step

pub trait Step: PartialOrd<Self> + Clone {
    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>; fn sub_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 a clone of itself.

The output of this method should always be greater than the output of replace_zero.

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 a clone of itself.

The output of this method should always be less than the output of replace_one.

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

Adds a usize, returning None on overflow.

Loading content...

Provided methods

fn sub_usize(&self, n: usize) -> Option<Self>

🔬 This is a nightly-only experimental API. (step_trait #42168)

likely to be replaced by finer-grained traits

Subtracts a usize, returning None on underflow.

Loading content...

Implementors

impl Step for i128[src]

impl Step for i16[src]

impl Step for i32[src]

impl Step for i64[src]

impl Step for i8[src]

impl Step for isize[src]

impl Step for u128[src]

impl Step for u16[src]

impl Step for u32[src]

impl Step for u64[src]

impl Step for u8[src]

impl Step for usize[src]

Loading content...