pub trait RangeArgument<T> where T: ?Sized, { fn start(&self) -> Bound<&T>; fn end(&self) -> Bound<&T>; }
RangeArgument
is implemented by Rust's built-in range types, produced by range syntax like ..
, a..
, ..b
or c..d
.
fn start(&self) -> Bound<&T>
Start index bound.
Returns the start value as a Bound
.
#![feature(alloc)] #![feature(collections_range)] extern crate alloc; use alloc::range::RangeArgument; use alloc::Bound::*; assert_eq!((..10).start(), Unbounded); assert_eq!((3..10).start(), Included(&3));
fn end(&self) -> Bound<&T>
End index bound.
Returns the end value as a Bound
.
#![feature(alloc)] #![feature(collections_range)] extern crate alloc; use alloc::range::RangeArgument; use alloc::Bound::*; assert_eq!((3..).end(), Unbounded); assert_eq!((3..10).end(), Excluded(&10));
impl<T> RangeArgument<T> for RangeFrom<T>
impl<'a, T> RangeArgument<T> for (Bound<&'a T>, Bound<&'a T>) where
T: 'a + ?Sized,
impl<T> RangeArgument<T> for RangeFull where
T: ?Sized,
impl<T> RangeArgument<T> for RangeTo<T>
impl<T> RangeArgument<T> for (Bound<T>, Bound<T>)
impl<T> RangeArgument<T> for RangeInclusive<T>
impl<T> RangeArgument<T> for RangeToInclusive<T>
impl<T> RangeArgument<T> for Range<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/collections/range/trait.RangeArgument.html