Trait scale_info::prelude::ops::RangeBounds
1.28.0 · source · [−]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,
{ ... }
}
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
fn start_bound(&self) -> Bound<&T>
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));
Provided methods
1.35.0 · sourcefn contains<U>(&self, item: &U) -> bool where
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,
1.35.0 · source
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));