Trait std::ops::RangeBounds [] [src]

pub trait RangeBounds<T> where
    T: ?Sized
{ fn start(&self) -> Bound<&T>;
fn end(&self) -> Bound<&T>; }
🔬 This is a nightly-only experimental API. (collections_range #30877)

might be replaced with Into<_> and a type containing two Bound values

RangeBounds is implemented by Rust's built-in range types, produced by range syntax like .., a.., ..b or c..d.

Required Methods

🔬 This is a nightly-only experimental API. (collections_range #30877)

might be replaced with Into<_> and a type containing two Bound values

Start index bound.

Returns the start value as a Bound.

Examples

#![feature(collections_range)]

use std::ops::Bound::*;
use std::ops::RangeBounds;

assert_eq!((..10).start(), Unbounded);
assert_eq!((3..10).start(), Included(&3));Run

🔬 This is a nightly-only experimental API. (collections_range #30877)

might be replaced with Into<_> and a type containing two Bound values

End index bound.

Returns the end value as a Bound.

Examples

#![feature(collections_range)]

use std::ops::Bound::*;
use std::ops::RangeBounds;

assert_eq!((3..).end(), Unbounded);
assert_eq!((3..10).end(), Excluded(&10));Run

Implementors