pub trait RangeBounds<T: ?Sized> {
// Required methods
fn start_bound(&self) -> Bound<&T>;
fn end_bound(&self) -> Bound<&T>;
}Expand description
RangeBounds is implemented by Rust’s built-in range types, produced
by range syntax like .., a.., ..b, ..=c, d..e, or f..=g.
Required Methods§
1.28.0 · Sourcefn start_bound(&self) -> Bound<&T>
fn start_bound(&self) -> Bound<&T>
Implementors§
impl<T> RangeBounds<T> for (Bound<T>, Bound<T>)
impl<T> RangeBounds<T> for Range<&T>
If you need to use this implementation where T is unsized,
consider using the RangeBounds impl for a 2-tuple of Bound<&T>,
i.e. replace start..end with (Bound::Included(start), Bound::Excluded(end)).
impl<T> RangeBounds<T> for Range<T>
impl<T> RangeBounds<T> for RangeFrom<&T>
If you need to use this implementation where T is unsized,
consider using the RangeBounds impl for a 2-tuple of Bound<&T>,
i.e. replace start.. with (Bound::Included(start), Bound::Unbounded).
impl<T> RangeBounds<T> for RangeFrom<T>
impl<T> RangeBounds<T> for RangeInclusive<&T>
If you need to use this implementation where T is unsized,
consider using the RangeBounds impl for a 2-tuple of Bound<&T>,
i.e. replace start..=end with (Bound::Included(start), Bound::Included(end)).
impl<T> RangeBounds<T> for RangeInclusive<T>
impl<T> RangeBounds<T> for RangeTo<&T>
If you need to use this implementation where T is unsized,
consider using the RangeBounds impl for a 2-tuple of Bound<&T>,
i.e. replace ..end with (Bound::Unbounded, Bound::Excluded(end)).
impl<T> RangeBounds<T> for RangeTo<T>
impl<T> RangeBounds<T> for RangeToInclusive<&T>
If you need to use this implementation where T is unsized,
consider using the RangeBounds impl for a 2-tuple of Bound<&T>,
i.e. replace ..=end with (Bound::Unbounded, Bound::Included(end)).