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
fn start(&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
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
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
Implementors
impl<T> RangeBounds<T> for RangeFrom<T>
impl<'a, T> RangeBounds<T> for RangeInclusive<&'a T>
impl<T> RangeBounds<T> for RangeToInclusive<T>
impl<'a, T> RangeBounds<T> for Range<&'a T>
impl<T> RangeBounds<T> for RangeFull where
T: ?Sized,impl<T> RangeBounds<T> for RangeTo<T>
impl<T> RangeBounds<T> for (Bound<T>, Bound<T>)
impl<'a, T> RangeBounds<T> for (Bound<&'a T>, Bound<&'a T>) where
T: 'a + ?Sized,impl<'a, T> RangeBounds<T> for RangeTo<&'a T>
impl<'a, T> RangeBounds<T> for RangeFrom<&'a T>
impl<'a, T> RangeBounds<T> for RangeToInclusive<&'a T>
impl<T> RangeBounds<T> for RangeInclusive<T>
impl<T> RangeBounds<T> for Range<T>