Trait std::ops::RangeBounds
pub trait RangeBounds<T> where T: ?Sized, {
fn start_bound(&self) -> Bound<&T>;
fn end_bound(&self) -> Bound<&T>;
fn contains<U>(&self, item: &U) -> bool where T: PartialOrd<U>, U: PartialOrd<T> + ?Sized,
{ ... }
}
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
fn start_bound(&self) -> Bound<&T>
Start index bound.
Returns the start value as a Bound.
Examples
use std::ops::Bound::*; use std::ops::RangeBounds; assert_eq!((..10).start_bound(), Unbounded); assert_eq!((3..10).start_bound(), Included(&3));
fn end_bound(&self) -> Bound<&T>
End index bound.
Returns the end value as a Bound.
Examples
use std::ops::Bound::*; use std::ops::RangeBounds; assert_eq!((3..).end_bound(), Unbounded); assert_eq!((3..10).end_bound(), Excluded(&10));
Provided methods
[src]1.35.0
fn contains<U>(&self, item: &U) -> bool where
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,
Returns true if item is contained in the range.
Examples
assert!( (3..5).contains(&4)); assert!(!(3..5).contains(&2)); assert!( (0.0..1.0).contains(&0.5)); assert!(!(0.0..1.0).contains(&f32::NAN)); assert!(!(0.0..f32::NAN).contains(&0.5)); assert!(!(f32::NAN..1.0).contains(&0.5));
Implementors
impl<'_, T> RangeBounds<T> for Range<&'_ T>
impl<'_, T> RangeBounds<T> for RangeFrom<&'_ T>
impl<'_, T> RangeBounds<T> for RangeInclusive<&'_ T>
impl<'_, T> RangeBounds<T> for RangeTo<&'_ T>
impl<'_, T> RangeBounds<T> for RangeToInclusive<&'_ T>
impl<T> RangeBounds<T> for (Bound<T>, Bound<T>)
impl<T> RangeBounds<T> for Range<T>
impl<T> RangeBounds<T> for RangeFrom<T>
impl<T> RangeBounds<T> for RangeInclusive<T>
impl<T> RangeBounds<T> for RangeTo<T>
impl<T> RangeBounds<T> for RangeToInclusive<T>
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/ops/trait.RangeBounds.html