W3cubDocs

/Rust

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 or c..d.

Required Methods

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));

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

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

Returns true if item is contained in the range.

Examples

#![feature(range_contains)]

use std::f32;

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<'a, T> RangeBounds<T> for (Bound<&'a T>, Bound<&'a T>) where
    T: 'a + ?Sized
[src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<'a, T> RangeBounds<T> for Range<&'a T> [src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<'a, T> RangeBounds<T> for RangeFrom<&'a T> [src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<'a, T> RangeBounds<T> for RangeInclusive<&'a T> [src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<'a, T> RangeBounds<T> for RangeTo<&'a T> [src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<'a, T> RangeBounds<T> for RangeToInclusive<&'a T> [src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<T> RangeBounds<T> for (Bound<T>, Bound<T>) [src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<T> RangeBounds<T> for Range<T> [src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<T> RangeBounds<T> for RangeFrom<T> [src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<T> RangeBounds<T> for RangeFull where
    T: ?Sized
[src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<T> RangeBounds<T> for RangeInclusive<T> [src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<T> RangeBounds<T> for RangeTo<T> [src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

impl<T> RangeBounds<T> for RangeToInclusive<T> [src]

🔬 This is a nightly-only experimental API. (range_contains #32311)recently added as per RFC

© 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