1.26.0[−][src]Struct core::ops::RangeInclusive
A range bounded inclusively below and above (start..=end
).
The RangeInclusive
start..=end
contains all values with x >= start
and x <= end
. It is empty unless start <= end
.
This iterator is fused, but the specific values of start
and end
after
iteration has finished are unspecified other than that .is_empty()
will return true
once no more values will be produced.
Examples
The start..=end
syntax is a RangeInclusive
:
assert_eq!((3..=5), std::ops::RangeInclusive::new(3, 5)); assert_eq!(3 + 4 + 5, (3..=5).sum());Run
let arr = [0, 1, 2, 3, 4]; assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]); assert_eq!(arr[ .. 3], [0, 1, 2 ]); assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]); assert_eq!(arr[1.. ], [ 1, 2, 3, 4]); assert_eq!(arr[1.. 3], [ 1, 2 ]); assert_eq!(arr[1..=3], [ 1, 2, 3 ]); // This is a `RangeInclusive`Run
Implementations
impl<Idx> RangeInclusive<Idx>
[src]
#[lang = "range_inclusive_new"]pub const fn new(start: Idx, end: Idx) -> Self
1.27.0 (const: 1.32.0)[src]
Creates a new inclusive range. Equivalent to writing start..=end
.
Examples
use std::ops::RangeInclusive; assert_eq!(3..=5, RangeInclusive::new(3, 5));Run
pub const fn start(&self) -> &Idx
1.27.0 (const: 1.32.0)[src]
Returns the lower bound of the range (inclusive).
When using an inclusive range for iteration, the values of start()
and
end()
are unspecified after the iteration ended. To determine
whether the inclusive range is empty, use the is_empty()
method
instead of comparing start() > end()
.
Note: the value returned by this method is unspecified after the range has been iterated to exhaustion.
Examples
assert_eq!((3..=5).start(), &3);Run
pub const fn end(&self) -> &Idx
1.27.0 (const: 1.32.0)[src]
Returns the upper bound of the range (inclusive).
When using an inclusive range for iteration, the values of start()
and end()
are unspecified after the iteration ended. To determine
whether the inclusive range is empty, use the is_empty()
method
instead of comparing start() > end()
.
Note: the value returned by this method is unspecified after the range has been iterated to exhaustion.
Examples
assert_eq!((3..=5).end(), &5);Run
pub fn into_inner(self) -> (Idx, Idx)
1.27.0[src]
impl<Idx: PartialOrd<Idx>> RangeInclusive<Idx>
[src]
pub fn contains<U: ?Sized>(&self, item: &U) -> bool where
Idx: PartialOrd<U>,
U: PartialOrd<Idx>,
1.35.0[src]
Idx: PartialOrd<U>,
U: PartialOrd<Idx>,
Returns true
if item
is contained in the range.
Examples
assert!(!(3..=5).contains(&2)); assert!( (3..=5).contains(&3)); assert!( (3..=5).contains(&4)); assert!( (3..=5).contains(&5)); assert!(!(3..=5).contains(&6)); assert!( (3..=3).contains(&3)); assert!(!(3..=2).contains(&3)); assert!( (0.0..=1.0).contains(&1.0)); assert!(!(0.0..=1.0).contains(&f32::NAN)); assert!(!(0.0..=f32::NAN).contains(&0.0)); assert!(!(f32::NAN..=1.0).contains(&1.0));Run
This method always returns false
after iteration has finished:
let mut r = 3..=5; assert!(r.contains(&3) && r.contains(&5)); for _ in r.by_ref() {} // Precise field values are unspecified here assert!(!r.contains(&3) && !r.contains(&5));Run
pub fn is_empty(&self) -> bool
1.47.0[src]
Returns true
if the range contains no items.
Examples
assert!(!(3..=5).is_empty()); assert!(!(3..=3).is_empty()); assert!( (3..=2).is_empty());Run
The range is empty if either side is incomparable:
assert!(!(3.0..=5.0).is_empty()); assert!( (3.0..=f32::NAN).is_empty()); assert!( (f32::NAN..=5.0).is_empty());Run
This method returns true
after iteration has finished:
let mut r = 3..=5; for _ in r.by_ref() {} // Precise field values are unspecified here assert!(r.is_empty());Run
Trait Implementations
impl<Idx: Clone> Clone for RangeInclusive<Idx>
[src]
pub fn clone(&self) -> RangeInclusive<Idx>ⓘNotable traits for RangeInclusive<A>
impl<A: Step> Iterator for RangeInclusive<A> type Item = A;
[src]
Notable traits for RangeInclusive<A>
impl<A: Step> Iterator for RangeInclusive<A> type Item = A;
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<Idx: Debug> Debug for RangeInclusive<Idx>
[src]
impl<A: Step> DoubleEndedIterator for RangeInclusive<A>
[src]
pub fn next_back(&mut self) -> Option<A>
[src]
pub fn nth_back(&mut self, n: usize) -> Option<A>
[src]
pub fn try_rfold<B, F, R>(&mut self, init: B, mut f: F) -> R where
Self: Sized,
F: FnMut(B, Self::Item) -> R,
R: Try<Ok = B>,
[src]
Self: Sized,
F: FnMut(B, Self::Item) -> R,
R: Try<Ok = B>,
pub fn rfold<B, F>(mut self: Self, init: B, f: F) -> B where
Self: Sized,
F: FnMut(B, Self::Item) -> B,
[src]
Self: Sized,
F: FnMut(B, Self::Item) -> B,
pub fn advance_back_by(&mut self, n: usize) -> Result<(), usize>
[src]
pub fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item> where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
1.27.0[src]
Self: Sized,
P: FnMut(&Self::Item) -> bool,
impl<Idx: Eq> Eq for RangeInclusive<Idx>
[src]
impl ExactSizeIterator for RangeInclusive<u8>
[src]
impl ExactSizeIterator for RangeInclusive<i8>
[src]
impl ExactSizeIterator for RangeInclusive<u16>
[src]
impl ExactSizeIterator for RangeInclusive<i16>
[src]
impl<A: Step> FusedIterator for RangeInclusive<A>
[src]
impl<Idx: Hash> Hash for RangeInclusive<Idx>
[src]
pub fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H: Hasher>(data: &[Self], state: &mut H) where
Self: Sized,
1.3.0[src]
Self: Sized,
impl<A: Step> Iterator for RangeInclusive<A>
[src]
type Item = A
The type of the elements being iterated over.
pub fn next(&mut self) -> Option<A>
[src]
pub fn size_hint(&self) -> (usize, Option<usize>)
[src]
pub fn nth(&mut self, n: usize) -> Option<A>
[src]
pub fn try_fold<B, F, R>(&mut self, init: B, mut f: F) -> R where
Self: Sized,
F: FnMut(B, Self::Item) -> R,
R: Try<Ok = B>,
[src]
Self: Sized,
F: FnMut(B, Self::Item) -> R,
R: Try<Ok = B>,
pub fn fold<B, F>(mut self: Self, init: B, f: F) -> B where
Self: Sized,
F: FnMut(B, Self::Item) -> B,
[src]
Self: Sized,
F: FnMut(B, Self::Item) -> B,
pub fn last(mut self: Self) -> Option<A>
[src]
pub fn min(mut self: Self) -> Option<A>
[src]
pub fn max(mut self: Self) -> Option<A>
[src]
pub fn count(self) -> usize where
Self: Sized,
1.0.0[src]
Self: Sized,
pub fn advance_by(&mut self, n: usize) -> Result<(), usize>
[src]
pub fn step_by(self, step: usize) -> StepBy<Self>ⓘ where
Self: Sized,
1.28.0[src]
Self: Sized,
pub fn chain<U>(self, other: U) -> Chain<Self, U::IntoIter>ⓘ where
Self: Sized,
U: IntoIterator<Item = Self::Item>,
1.0.0[src]
Self: Sized,
U: IntoIterator<Item = Self::Item>,
pub fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter>ⓘ where
Self: Sized,
U: IntoIterator,
1.0.0[src]
Self: Sized,
U: IntoIterator,
pub fn intersperse(self, separator: Self::Item) -> Intersperse<Self>ⓘNotable traits for Intersperse<I>
impl<I> Iterator for Intersperse<I> where
I: Iterator,
I::Item: Clone, type Item = I::Item;
where
Self: Sized,
Self::Item: Clone,
[src]
Notable traits for Intersperse<I>
impl<I> Iterator for Intersperse<I> where
I: Iterator,
I::Item: Clone, type Item = I::Item;
Self: Sized,
Self::Item: Clone,
pub fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>ⓘNotable traits for IntersperseWith<I, G>
impl<I, G> Iterator for IntersperseWith<I, G> where
I: Iterator,
G: FnMut() -> I::Item, type Item = I::Item;
where
Self: Sized,
G: FnMut() -> Self::Item,
[src]
Notable traits for IntersperseWith<I, G>
impl<I, G> Iterator for IntersperseWith<I, G> where
I: Iterator,
G: FnMut() -> I::Item, type Item = I::Item;
Self: Sized,
G: FnMut() -> Self::Item,
pub fn map<B, F>(self, f: F) -> Map<Self, F>ⓘ where
Self: Sized,
F: FnMut(Self::Item) -> B,
1.0.0[src]
Self: Sized,
F: FnMut(Self::Item) -> B,
pub fn for_each<F>(self, f: F) where
Self: Sized,
F: FnMut(Self::Item),
1.21.0[src]
Self: Sized,
F: FnMut(Self::Item),
pub fn filter<P>(self, predicate: P) -> Filter<Self, P>ⓘ where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
1.0.0[src]
Self: Sized,
P: FnMut(&Self::Item) -> bool,
pub fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>ⓘ where
Self: Sized,
F: FnMut(Self::Item) -> Option<B>,
1.0.0[src]
Self: Sized,
F: FnMut(Self::Item) -> Option<B>,
pub fn enumerate(self) -> Enumerate<Self>ⓘ where
Self: Sized,
1.0.0[src]
Self: Sized,
pub fn peekable(self) -> Peekable<Self>ⓘ where
Self: Sized,
1.0.0[src]
Self: Sized,
pub fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>ⓘ where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
1.0.0[src]
Self: Sized,
P: FnMut(&Self::Item) -> bool,
pub fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>ⓘ where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
1.0.0[src]
Self: Sized,
P: FnMut(&Self::Item) -> bool,
pub fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>ⓘ where
Self: Sized,
P: FnMut(Self::Item) -> Option<B>,
[src]
Self: Sized,
P: FnMut(Self::Item) -> Option<B>,
pub fn skip(self, n: usize) -> Skip<Self>ⓘ where
Self: Sized,
1.0.0[src]
Self: Sized,
pub fn take(self, n: usize) -> Take<Self>ⓘ where
Self: Sized,
1.0.0[src]
Self: Sized,
pub fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>ⓘ where
Self: Sized,
F: FnMut(&mut St, Self::Item) -> Option<B>,
1.0.0[src]
Self: Sized,
F: FnMut(&mut St, Self::Item) -> Option<B>,
pub fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>ⓘ where
Self: Sized,
U: IntoIterator,
F: FnMut(Self::Item) -> U,
1.0.0[src]
Self: Sized,
U: IntoIterator,
F: FnMut(Self::Item) -> U,
pub fn flatten(self) -> Flatten<Self>ⓘ where
Self: Sized,
Self::Item: IntoIterator,
1.29.0[src]
Self: Sized,
Self::Item: IntoIterator,
pub fn fuse(self) -> Fuse<Self>ⓘ where
Self: Sized,
1.0.0[src]
Self: Sized,
pub fn inspect<F>(self, f: F) -> Inspect<Self, F>ⓘ where
Self: Sized,
F: FnMut(&Self::Item),
1.0.0[src]
Self: Sized,
F: FnMut(&Self::Item),
pub fn by_ref(&mut self) -> &mut Self where
Self: Sized,
1.0.0[src]
Self: Sized,
#[must_use =
"if you really need to exhaust the iterator, consider `.for_each(drop)` instead"]pub fn collect<B: FromIterator<Self::Item>>(self) -> B where
Self: Sized,
1.0.0[src]
Self: Sized,
pub fn partition<B, F>(self, f: F) -> (B, B) where
Self: Sized,
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,
1.0.0[src]
Self: Sized,
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,
pub fn partition_in_place<'a, T: 'a, P>(
mut self: Self,
ref mut predicate: P
) -> usize where
Self: Sized + DoubleEndedIterator<Item = &'a mut T>,
P: FnMut(&T) -> bool,
[src]
mut self: Self,
ref mut predicate: P
) -> usize where
Self: Sized + DoubleEndedIterator<Item = &'a mut T>,
P: FnMut(&T) -> bool,
pub fn is_partitioned<P>(mut self: Self, mut predicate: P) -> bool where
Self: Sized,
P: FnMut(Self::Item) -> bool,
[src]
Self: Sized,
P: FnMut(Self::Item) -> bool,
pub fn try_for_each<F, R>(&mut self, f: F) -> R where
Self: Sized,
F: FnMut(Self::Item) -> R,
R: Try<Ok = ()>,
1.27.0[src]
Self: Sized,
F: FnMut(Self::Item) -> R,
R: Try<Ok = ()>,
pub fn fold_first<F>(mut self: Self, f: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(Self::Item, Self::Item) -> Self::Item,
[src]
Self: Sized,
F: FnMut(Self::Item, Self::Item) -> Self::Item,
pub fn all<F>(&mut self, f: F) -> bool where
Self: Sized,
F: FnMut(Self::Item) -> bool,
1.0.0[src]
Self: Sized,
F: FnMut(Self::Item) -> bool,
pub fn any<F>(&mut self, f: F) -> bool where
Self: Sized,
F: FnMut(Self::Item) -> bool,
1.0.0[src]
Self: Sized,
F: FnMut(Self::Item) -> bool,
pub fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
1.0.0[src]
Self: Sized,
P: FnMut(&Self::Item) -> bool,
pub fn find_map<B, F>(&mut self, f: F) -> Option<B> where
Self: Sized,
F: FnMut(Self::Item) -> Option<B>,
1.30.0[src]
Self: Sized,
F: FnMut(Self::Item) -> Option<B>,
pub fn try_find<F, R>(&mut self, f: F) -> Result<Option<Self::Item>, R::Error> where
Self: Sized,
F: FnMut(&Self::Item) -> R,
R: Try<Ok = bool>,
[src]
Self: Sized,
F: FnMut(&Self::Item) -> R,
R: Try<Ok = bool>,
pub fn position<P>(&mut self, predicate: P) -> Option<usize> where
Self: Sized,
P: FnMut(Self::Item) -> bool,
1.0.0[src]
Self: Sized,
P: FnMut(Self::Item) -> bool,
pub fn rposition<P>(&mut self, predicate: P) -> Option<usize> where
P: FnMut(Self::Item) -> bool,
Self: Sized + ExactSizeIterator + DoubleEndedIterator,
1.0.0[src]
P: FnMut(Self::Item) -> bool,
Self: Sized + ExactSizeIterator + DoubleEndedIterator,
pub fn max_by_key<B: Ord, F>(self, f: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item) -> B,
1.6.0[src]
Self: Sized,
F: FnMut(&Self::Item) -> B,
pub fn max_by<F>(self, compare: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.15.0[src]
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
pub fn min_by_key<B: Ord, F>(self, f: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item) -> B,
1.6.0[src]
Self: Sized,
F: FnMut(&Self::Item) -> B,
pub fn min_by<F>(self, compare: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.15.0[src]
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
pub fn rev(self) -> Rev<Self>ⓘ where
Self: Sized + DoubleEndedIterator,
1.0.0[src]
Self: Sized + DoubleEndedIterator,
pub fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Sized + Iterator<Item = (A, B)>,
1.0.0[src]
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Sized + Iterator<Item = (A, B)>,
pub fn copied<'a, T: 'a>(self) -> Copied<Self>ⓘ where
Self: Sized + Iterator<Item = &'a T>,
T: Copy,
1.36.0[src]
Self: Sized + Iterator<Item = &'a T>,
T: Copy,
pub fn cloned<'a, T: 'a>(self) -> Cloned<Self>ⓘ where
Self: Sized + Iterator<Item = &'a T>,
T: Clone,
1.0.0[src]
Self: Sized + Iterator<Item = &'a T>,
T: Clone,
pub fn cycle(self) -> Cycle<Self>ⓘ where
Self: Sized + Clone,
1.0.0[src]
Self: Sized + Clone,
pub fn sum<S>(self) -> S where
Self: Sized,
S: Sum<Self::Item>,
1.11.0[src]
Self: Sized,
S: Sum<Self::Item>,
pub fn product<P>(self) -> P where
Self: Sized,
P: Product<Self::Item>,
1.11.0[src]
Self: Sized,
P: Product<Self::Item>,
pub fn cmp<I>(self, other: I) -> Ordering where
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord,
Self: Sized,
1.5.0[src]
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord,
Self: Sized,
pub fn cmp_by<I, F>(mut self: Self, other: I, mut cmp: F) -> Ordering where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, I::Item) -> Ordering,
[src]
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, I::Item) -> Ordering,
pub fn partial_cmp<I>(self, other: I) -> Option<Ordering> where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
pub fn partial_cmp_by<I, F>(
mut self: Self,
other: I,
mut partial_cmp: F
) -> Option<Ordering> where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, I::Item) -> Option<Ordering>,
[src]
mut self: Self,
other: I,
mut partial_cmp: F
) -> Option<Ordering> where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, I::Item) -> Option<Ordering>,
pub fn eq<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<I::Item>,
Self: Sized,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialEq<I::Item>,
Self: Sized,
pub fn eq_by<I, F>(mut self: Self, other: I, mut eq: F) -> bool where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, I::Item) -> bool,
[src]
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, I::Item) -> bool,
pub fn ne<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<I::Item>,
Self: Sized,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialEq<I::Item>,
Self: Sized,
pub fn lt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
pub fn le<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
pub fn gt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
pub fn ge<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
pub fn is_sorted(self) -> bool where
Self: Sized,
Self::Item: PartialOrd,
[src]
Self: Sized,
Self::Item: PartialOrd,
pub fn is_sorted_by<F>(mut self: Self, mut compare: F) -> bool where
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
[src]
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
pub fn is_sorted_by_key<F, K>(self, f: F) -> bool where
Self: Sized,
F: FnMut(Self::Item) -> K,
K: PartialOrd,
[src]
Self: Sized,
F: FnMut(Self::Item) -> K,
K: PartialOrd,
impl<Idx: PartialEq> PartialEq<RangeInclusive<Idx>> for RangeInclusive<Idx>
[src]
pub fn eq(&self, other: &RangeInclusive<Idx>) -> bool
[src]
pub fn ne(&self, other: &RangeInclusive<Idx>) -> bool
[src]
impl<T> RangeBounds<T> for RangeInclusive<T>
1.28.0[src]
pub fn start_bound(&self) -> Bound<&T>
[src]
pub fn end_bound(&self) -> Bound<&T>
[src]
pub fn assert_len(self, len: usize) -> Range<usize>ⓘ where
Self: RangeBounds<usize>,
[src]
Self: RangeBounds<usize>,
pub fn contains<U: ?Sized>(&self, item: &U) -> bool where
T: PartialOrd<U>,
U: PartialOrd<T>,
1.35.0[src]
T: PartialOrd<U>,
U: PartialOrd<T>,
impl<T> RangeBounds<T> for RangeInclusive<&T>
1.28.0[src]
pub fn start_bound(&self) -> Bound<&T>
[src]
pub fn end_bound(&self) -> Bound<&T>
[src]
pub fn assert_len(self, len: usize) -> Range<usize>ⓘ where
Self: RangeBounds<usize>,
[src]
Self: RangeBounds<usize>,
pub fn contains<U: ?Sized>(&self, item: &U) -> bool where
T: PartialOrd<U>,
U: PartialOrd<T>,
1.35.0[src]
T: PartialOrd<U>,
U: PartialOrd<T>,
impl<T> SliceIndex<[T]> for RangeInclusive<usize>
[src]
type Output = [T]
The output type returned by methods.
pub fn get(self, slice: &[T]) -> Option<&[T]>
[src]
pub fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>
[src]
pub unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]
[src]
pub unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]
[src]
pub fn index(self, slice: &[T]) -> &[T]
[src]
pub fn index_mut(self, slice: &mut [T]) -> &mut [T]
[src]
impl SliceIndex<str> for RangeInclusive<usize>
[src]
Implements substring slicing with syntax &self[begin ..= end]
or &mut self[begin ..= end]
.
Returns a slice of the given string from the byte range
[begin
, end
]. Equivalent to &self [begin .. end + 1]
or &mut self[begin .. end + 1]
, except if end
has the maximum value for
usize
.
This operation is O(1).
Panics
Panics if begin
does not point to the starting byte offset of
a character (as defined by is_char_boundary
), if end
does not point
to the ending byte offset of a character (end + 1
is either a starting
byte offset or equal to len
), if begin > end
, or if end >= len
.
type Output = str
The output type returned by methods.
pub fn get(self, slice: &str) -> Option<&Self::Output>
[src]
pub fn get_mut(self, slice: &mut str) -> Option<&mut Self::Output>
[src]
pub unsafe fn get_unchecked(self, slice: *const str) -> *const Self::Output
[src]
pub unsafe fn get_unchecked_mut(self, slice: *mut str) -> *mut Self::Output
[src]
pub fn index(self, slice: &str) -> &Self::Output
[src]
pub fn index_mut(self, slice: &mut str) -> &mut Self::Output
[src]
impl<Idx> StructuralEq for RangeInclusive<Idx>
[src]
impl<Idx> StructuralPartialEq for RangeInclusive<Idx>
[src]
impl<A: Step> TrustedLen for RangeInclusive<A>
[src]
Auto Trait Implementations
impl<Idx> Send for RangeInclusive<Idx> where
Idx: Send,
[src]
Idx: Send,
impl<Idx> Sync for RangeInclusive<Idx> where
Idx: Sync,
[src]
Idx: Sync,
impl<Idx> Unpin for RangeInclusive<Idx> where
Idx: Unpin,
[src]
Idx: Unpin,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut Self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,