wasmtime_environ::__core::range::legacy

Struct RangeInclusive

source
pub struct RangeInclusive<Idx> { /* private fields */ }
๐Ÿ”ฌThis is a nightly-only experimental API. (new_range_api)
Expand description

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

Implementationsยง

sourceยง

impl<Idx> RangeInclusive<Idx>

1.27.0 (const: 1.32.0) ยท source

pub const fn new(start: Idx, end: Idx) -> RangeInclusive<Idx> โ“˜

Creates a new inclusive range. Equivalent to writing start..=end.

ยงExamples
use std::ops::RangeInclusive;

assert_eq!(3..=5, RangeInclusive::new(3, 5));
1.27.0 (const: 1.32.0) ยท source

pub const fn start(&self) -> &Idx

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);
1.27.0 (const: 1.32.0) ยท source

pub const fn end(&self) -> &Idx

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);
1.27.0 (const: unstable) ยท source

pub fn into_inner(self) -> (Idx, Idx)

Destructures the RangeInclusive into (lower bound, upper (inclusive) bound).

Note: the value returned by this method is unspecified after the range has been iterated to exhaustion.

ยงExamples
assert_eq!((3..=5).into_inner(), (3, 5));
sourceยง

impl<Idx> RangeInclusive<Idx>
where Idx: PartialOrd,

1.35.0 ยท source

pub fn contains<U>(&self, item: &U) -> bool
where Idx: PartialOrd<U>, U: PartialOrd<Idx> + ?Sized,

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

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));
1.47.0 ยท source

pub fn is_empty(&self) -> bool

Returns true if the range contains no items.

ยงExamples
assert!(!(3..=5).is_empty());
assert!(!(3..=3).is_empty());
assert!( (3..=2).is_empty());

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

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

Trait Implementationsยง

1.26.0 ยท sourceยง

impl<Idx> Clone for RangeInclusive<Idx>
where Idx: Clone,

sourceยง

fn clone(&self) -> RangeInclusive<Idx> โ“˜

Returns a copy of the value. Read more
1.0.0 ยท sourceยง

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
1.26.0 ยท sourceยง

impl<Idx> Debug for RangeInclusive<Idx>
where Idx: Debug,

sourceยง

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
sourceยง

impl<'de, Idx> Deserialize<'de> for RangeInclusive<Idx>
where Idx: Deserialize<'de>,

sourceยง

fn deserialize<D>( deserializer: D, ) -> Result<RangeInclusive<Idx>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
1.26.0 ยท sourceยง

impl<A> DoubleEndedIterator for RangeInclusive<A>
where A: Step,

sourceยง

fn next_back(&mut self) -> Option<A>

Removes and returns an element from the end of the iterator. Read more
sourceยง

fn nth_back(&mut self, n: usize) -> Option<A>

Returns the nth element from the end of the iterator. Read more
sourceยง

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
where RangeInclusive<A>: Sized, F: FnMut(B, <RangeInclusive<A> as Iterator>::Item) -> R, R: Try<Output = B>,

This is the reverse version of Iterator::try_fold(): it takes elements starting from the back of the iterator. Read more
sourceยง

fn rfold<AAA, FFF>(self, init: AAA, fold: FFF) -> AAA
where FFF: FnMut(AAA, <RangeInclusive<A> as Iterator>::Item) -> AAA,

An iterator method that reduces the iteratorโ€™s elements to a single, final value, starting from the back. Read more
sourceยง

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.27.0 ยท sourceยง

fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
1.26.0 ยท sourceยง

impl ExactSizeIterator for RangeInclusive<i16>

1.0.0 ยท sourceยง

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
sourceยง

fn is_empty(&self) -> bool

๐Ÿ”ฌThis is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
1.26.0 ยท sourceยง

impl ExactSizeIterator for RangeInclusive<i8>

1.0.0 ยท sourceยง

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
sourceยง

fn is_empty(&self) -> bool

๐Ÿ”ฌThis is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
1.26.0 ยท sourceยง

impl ExactSizeIterator for RangeInclusive<u16>

1.0.0 ยท sourceยง

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
sourceยง

fn is_empty(&self) -> bool

๐Ÿ”ฌThis is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
1.26.0 ยท sourceยง

impl ExactSizeIterator for RangeInclusive<u8>

1.0.0 ยท sourceยง

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
sourceยง

fn is_empty(&self) -> bool

๐Ÿ”ฌThis is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
sourceยง

impl<T> From<RangeInclusive<T>> for RangeInclusive<T>

sourceยง

fn from(value: RangeInclusive<T>) -> RangeInclusive<T> โ“˜

Converts to this type from the input type.
sourceยง

impl<T> From<RangeInclusive<T>> for RangeInclusive<T>

sourceยง

fn from(value: RangeInclusive<T>) -> RangeInclusive<T>

Converts to this type from the input type.
1.26.0 ยท sourceยง

impl<Idx> Hash for RangeInclusive<Idx>
where Idx: Hash,

sourceยง

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 ยท sourceยง

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
sourceยง

impl<K, V, S> Index<RangeInclusive<usize>> for IndexMap<K, V, S>

sourceยง

type Output = Slice<K, V>

The returned type after indexing.
sourceยง

fn index( &self, range: RangeInclusive<usize>, ) -> &<IndexMap<K, V, S> as Index<RangeInclusive<usize>>>::Output

Performs the indexing (container[index]) operation. Read more
sourceยง

impl<T, S> Index<RangeInclusive<usize>> for IndexSet<T, S>

sourceยง

type Output = Slice<T>

The returned type after indexing.
sourceยง

fn index( &self, range: RangeInclusive<usize>, ) -> &<IndexSet<T, S> as Index<RangeInclusive<usize>>>::Output

Performs the indexing (container[index]) operation. Read more
sourceยง

impl<K, V> Index<RangeInclusive<usize>> for Slice<K, V>

sourceยง

type Output = Slice<K, V>

The returned type after indexing.
sourceยง

fn index(&self, range: RangeInclusive<usize>) -> &Slice<K, V>

Performs the indexing (container[index]) operation. Read more
sourceยง

impl<T> Index<RangeInclusive<usize>> for Slice<T>

sourceยง

type Output = Slice<T>

The returned type after indexing.
sourceยง

fn index( &self, range: RangeInclusive<usize>, ) -> &<Slice<T> as Index<RangeInclusive<usize>>>::Output

Performs the indexing (container[index]) operation. Read more
sourceยง

impl<K, V, S> IndexMut<RangeInclusive<usize>> for IndexMap<K, V, S>

sourceยง

fn index_mut( &mut self, range: RangeInclusive<usize>, ) -> &mut <IndexMap<K, V, S> as Index<RangeInclusive<usize>>>::Output

Performs the mutable indexing (container[index]) operation. Read more
sourceยง

impl<K, V> IndexMut<RangeInclusive<usize>> for Slice<K, V>

sourceยง

fn index_mut(&mut self, range: RangeInclusive<usize>) -> &mut Slice<K, V>

Performs the mutable indexing (container[index]) operation. Read more
1.26.0 ยท sourceยง

impl<A> Iterator for RangeInclusive<A>
where A: Step,

sourceยง

type Item = A

The type of the elements being iterated over.
sourceยง

fn next(&mut self) -> Option<A>

Advances the iterator and returns the next value. Read more
sourceยง

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
sourceยง

fn count(self) -> usize

Consumes the iterator, counting the number of iterations and returning it. Read more
sourceยง

fn nth(&mut self, n: usize) -> Option<A>

Returns the nth element of the iterator. Read more
sourceยง

fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
where RangeInclusive<A>: Sized, F: FnMut(B, <RangeInclusive<A> as Iterator>::Item) -> R, R: Try<Output = B>,

An iterator method that applies a function as long as it returns successfully, producing a single, final value. Read more
sourceยง

fn fold<AAA, FFF>(self, init: AAA, fold: FFF) -> AAA
where FFF: FnMut(AAA, <RangeInclusive<A> as Iterator>::Item) -> AAA,

Folds every element into an accumulator by applying an operation, returning the final result. Read more
sourceยง

fn last(self) -> Option<A>

Consumes the iterator, returning the last element. Read more
sourceยง

fn min(self) -> Option<A>
where A: Ord,

Returns the minimum element of an iterator. Read more
sourceยง

fn max(self) -> Option<A>
where A: Ord,

Returns the maximum element of an iterator. Read more
sourceยง

fn is_sorted(self) -> bool

Checks if the elements of this iterator are sorted. Read more
sourceยง

fn next_chunk<const N: usize>( &mut self, ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
where Self: Sized,

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
sourceยง

fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
1.28.0 ยท sourceยง

fn step_by(self, step: usize) -> StepBy<Self> โ“˜
where Self: Sized,

Creates an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
1.0.0 ยท sourceยง

fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter> โ“˜
where Self: Sized, U: IntoIterator<Item = Self::Item>,

Takes two iterators and creates a new iterator over both in sequence. Read more
1.0.0 ยท sourceยง

fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter> โ“˜
where Self: Sized, U: IntoIterator,

โ€˜Zips upโ€™ two iterators into a single iterator of pairs. Read more
sourceยง

fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G> โ“˜
where Self: Sized, G: FnMut() -> Self::Item,

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator between adjacent items of the original iterator. Read more
1.0.0 ยท sourceยง

fn map<B, F>(self, f: F) -> Map<Self, F> โ“˜
where Self: Sized, F: FnMut(Self::Item) -> B,

Takes a closure and creates an iterator which calls that closure on each element. Read more
1.21.0 ยท sourceยง

fn for_each<F>(self, f: F)
where Self: Sized, F: FnMut(Self::Item),

Calls a closure on each element of an iterator. Read more
1.0.0 ยท sourceยง

fn filter<P>(self, predicate: P) -> Filter<Self, P> โ“˜
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Creates an iterator which uses a closure to determine if an element should be yielded. Read more
1.0.0 ยท sourceยง

fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> โ“˜
where Self: Sized, F: FnMut(Self::Item) -> Option<B>,

Creates an iterator that both filters and maps. Read more
1.0.0 ยท sourceยง

fn enumerate(self) -> Enumerate<Self> โ“˜
where Self: Sized,

Creates an iterator which gives the current iteration count as well as the next value. Read more
1.0.0 ยท sourceยง

fn peekable(self) -> Peekable<Self> โ“˜
where Self: Sized,

Creates an iterator which can use the peek and peek_mut methods to look at the next element of the iterator without consuming it. See their documentation for more information. Read more
1.0.0 ยท sourceยง

fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> โ“˜
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Creates an iterator that skips elements based on a predicate. Read more
1.0.0 ยท sourceยง

fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> โ“˜
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Creates an iterator that yields elements based on a predicate. Read more
1.57.0 ยท sourceยง

fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P> โ“˜
where Self: Sized, P: FnMut(Self::Item) -> Option<B>,

Creates an iterator that both yields elements based on a predicate and maps. Read more
1.0.0 ยท sourceยง

fn skip(self, n: usize) -> Skip<Self> โ“˜
where Self: Sized,

Creates an iterator that skips the first n elements. Read more
1.0.0 ยท sourceยง

fn take(self, n: usize) -> Take<Self> โ“˜
where Self: Sized,

Creates an iterator that yields the first n elements, or fewer if the underlying iterator ends sooner. Read more
1.0.0 ยท sourceยง

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>,

An iterator adapter which, like fold, holds internal state, but unlike fold, produces a new iterator. Read more
1.0.0 ยท sourceยง

fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> โ“˜
where Self: Sized, U: IntoIterator, F: FnMut(Self::Item) -> U,

Creates an iterator that works like map, but flattens nested structure. Read more
sourceยง

fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N> โ“˜
where Self: Sized, F: FnMut(&[Self::Item; N]) -> R,

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_map_windows)
Calls the given function f for each contiguous window of size N over self and returns an iterator over the outputs of f. Like slice::windows(), the windows during mapping overlap as well. Read more
1.0.0 ยท sourceยง

fn fuse(self) -> Fuse<Self> โ“˜
where Self: Sized,

Creates an iterator which ends after the first None. Read more
1.0.0 ยท sourceยง

fn inspect<F>(self, f: F) -> Inspect<Self, F> โ“˜
where Self: Sized, F: FnMut(&Self::Item),

Does something with each element of an iterator, passing the value on. Read more
1.0.0 ยท sourceยง

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Borrows an iterator, rather than consuming it. Read more
1.0.0 ยท sourceยง

fn collect<B>(self) -> B
where B: FromIterator<Self::Item>, Self: Sized,

Transforms an iterator into a collection. Read more
sourceยง

fn collect_into<E>(self, collection: &mut E) -> &mut E
where E: Extend<Self::Item>, Self: Sized,

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
1.0.0 ยท sourceยง

fn partition<B, F>(self, f: F) -> (B, B)
where Self: Sized, B: Default + Extend<Self::Item>, F: FnMut(&Self::Item) -> bool,

Consumes an iterator, creating two collections from it. Read more
sourceยง

fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
where T: 'a, Self: Sized + DoubleEndedIterator<Item = &'a mut T>, P: FnMut(&T) -> bool,

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_partition_in_place)
Reorders the elements of this iterator in-place according to the given predicate, such that all those that return true precede all those that return false. Returns the number of true elements found. Read more
sourceยง

fn is_partitioned<P>(self, predicate: P) -> bool
where Self: Sized, P: FnMut(Self::Item) -> bool,

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, such that all those that return true precede all those that return false. Read more
1.27.0 ยท sourceยง

fn try_for_each<F, R>(&mut self, f: F) -> R
where Self: Sized, F: FnMut(Self::Item) -> R, R: Try<Output = ()>,

An iterator method that applies a fallible function to each item in the iterator, stopping at the first error and returning that error. Read more
1.51.0 ยท sourceยง

fn reduce<F>(self, f: F) -> Option<Self::Item>
where Self: Sized, F: FnMut(Self::Item, Self::Item) -> Self::Item,

Reduces the elements to a single one, by repeatedly applying a reducing operation. Read more
sourceยง

fn try_reduce<R>( &mut self, f: impl FnMut(Self::Item, Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
where Self: Sized, R: Try<Output = Self::Item>, <R as Try>::Residual: Residual<Option<Self::Item>>,

๐Ÿ”ฌThis is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the closure returns a failure, the failure is propagated back to the caller immediately. Read more
1.0.0 ยท sourceยง

fn all<F>(&mut self, f: F) -> bool
where Self: Sized, F: FnMut(Self::Item) -> bool,

Tests if every element of the iterator matches a predicate. Read more
1.0.0 ยท sourceยง

fn any<F>(&mut self, f: F) -> bool
where Self: Sized, F: FnMut(Self::Item) -> bool,

Tests if any element of the iterator matches a predicate. Read more
1.0.0 ยท sourceยง

fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator that satisfies a predicate. Read more
1.30.0 ยท sourceยง

fn find_map<B, F>(&mut self, f: F) -> Option<B>
where Self: Sized, F: FnMut(Self::Item) -> Option<B>,

Applies function to the elements of iterator and returns the first non-none result. Read more
sourceยง

fn try_find<R>( &mut self, f: impl FnMut(&Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
where Self: Sized, R: Try<Output = bool>, <R as Try>::Residual: Residual<Option<Self::Item>>,

๐Ÿ”ฌThis is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns the first true result or the first error. Read more
1.0.0 ยท sourceยง

fn position<P>(&mut self, predicate: P) -> Option<usize>
where Self: Sized, P: FnMut(Self::Item) -> bool,

Searches for an element in an iterator, returning its index. Read more
1.6.0 ยท sourceยง

fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
where B: Ord, Self: Sized, F: FnMut(&Self::Item) -> B,

Returns the element that gives the maximum value from the specified function. Read more
1.15.0 ยท sourceยง

fn max_by<F>(self, compare: F) -> Option<Self::Item>
where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> Ordering,

Returns the element that gives the maximum value with respect to the specified comparison function. Read more
1.6.0 ยท sourceยง

fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
where B: Ord, Self: Sized, F: FnMut(&Self::Item) -> B,

Returns the element that gives the minimum value from the specified function. Read more
1.15.0 ยท sourceยง

fn min_by<F>(self, compare: F) -> Option<Self::Item>
where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> Ordering,

Returns the element that gives the minimum value with respect to the specified comparison function. Read more
1.0.0 ยท sourceยง

fn rev(self) -> Rev<Self> โ“˜
where Self: Sized + DoubleEndedIterator,

Reverses an iteratorโ€™s direction. Read more
1.0.0 ยท sourceยง

fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
where FromA: Default + Extend<A>, FromB: Default + Extend<B>, Self: Sized + Iterator<Item = (A, B)>,

Converts an iterator of pairs into a pair of containers. Read more
1.36.0 ยท sourceยง

fn copied<'a, T>(self) -> Copied<Self> โ“˜
where T: 'a + Copy, Self: Sized + Iterator<Item = &'a T>,

Creates an iterator which copies all of its elements. Read more
1.0.0 ยท sourceยง

fn cloned<'a, T>(self) -> Cloned<Self> โ“˜
where T: 'a + Clone, Self: Sized + Iterator<Item = &'a T>,

Creates an iterator which clones all of its elements. Read more
1.0.0 ยท sourceยง

fn cycle(self) -> Cycle<Self> โ“˜
where Self: Sized + Clone,

Repeats an iterator endlessly. Read more
sourceยง

fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N> โ“˜
where Self: Sized,

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
1.11.0 ยท sourceยง

fn sum<S>(self) -> S
where Self: Sized, S: Sum<Self::Item>,

Sums the elements of an iterator. Read more
1.11.0 ยท sourceยง

fn product<P>(self) -> P
where Self: Sized, P: Product<Self::Item>,

Iterates over the entire iterator, multiplying all the elements Read more
sourceยง

fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those of another with respect to the specified comparison function. Read more
1.5.0 ยท sourceยง

fn partial_cmp<I>(self, other: I) -> Option<Ordering>
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Lexicographically compares the PartialOrd elements of this Iterator with those of another. The comparison works like short-circuit evaluation, returning a result without comparing the remaining elements. As soon as an order can be determined, the evaluation stops and a result is returned. Read more
sourceยง

fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those of another with respect to the specified comparison function. Read more
1.5.0 ยท sourceยง

fn eq<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialEq<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are equal to those of another. Read more
sourceยง

fn eq_by<I, F>(self, other: I, eq: F) -> bool
where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

๐Ÿ”ฌThis is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of another with respect to the specified equality function. Read more
1.5.0 ยท sourceยง

fn ne<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialEq<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are not equal to those of another. Read more
1.5.0 ยท sourceยง

fn lt<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically less than those of another. Read more
1.5.0 ยท sourceยง

fn le<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically less or equal to those of another. Read more
1.5.0 ยท sourceยง

fn gt<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically greater than those of another. Read more
1.5.0 ยท sourceยง

fn ge<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically greater than or equal to those of another. Read more
1.82.0 ยท sourceยง

fn is_sorted_by<F>(self, compare: F) -> bool
where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> bool,

Checks if the elements of this iterator are sorted using the given comparator function. Read more
1.82.0 ยท sourceยง

fn is_sorted_by_key<F, K>(self, f: F) -> bool
where Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd,

Checks if the elements of this iterator are sorted using the given key extraction function. Read more
1.26.0 ยท sourceยง

impl<Idx> PartialEq for RangeInclusive<Idx>
where Idx: PartialEq,

sourceยง

fn eq(&self, other: &RangeInclusive<Idx>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
1.28.0 ยท sourceยง

impl<T> RangeBounds<T> for RangeInclusive<&T>

sourceยง

fn start_bound(&self) -> Bound<&T>

Start index bound. Read more
sourceยง

fn end_bound(&self) -> Bound<&T>

End index bound. Read more
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. Read more
1.28.0 ยท sourceยง

impl<T> RangeBounds<T> for RangeInclusive<T>

sourceยง

fn start_bound(&self) -> Bound<&T>

Start index bound. Read more
sourceยง

fn end_bound(&self) -> Bound<&T>

End index bound. Read more
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. Read more
sourceยง

impl<Idx> Serialize for RangeInclusive<Idx>
where Idx: Serialize,

sourceยง

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
1.26.0 ยท sourceยง

impl<T> SliceIndex<[T]> for RangeInclusive<usize>

The methods index and index_mut panic if:

  • the end of the range is usize::MAX or
  • the start of the range is greater than the end of the range or
  • the end of the range is out of bounds.
sourceยง

type Output = [T]

The output type returned by methods.
sourceยง

fn get(self, slice: &[T]) -> Option<&[T]>

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, if in bounds.
sourceยง

fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, if in bounds.
sourceยง

unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a pointer to the output at this location, without performing any bounds checking. Read more
sourceยง

unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable pointer to the output at this location, without performing any bounds checking. Read more
sourceยง

fn index(self, slice: &[T]) -> &[T]

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, panicking if out of bounds.
sourceยง

fn index_mut(self, slice: &mut [T]) -> &mut [T]

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, panicking if out of bounds.
1.26.0 ยท sourceยง

impl SliceIndex<str> for RangeInclusive<usize>

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.

sourceยง

type Output = str

The output type returned by methods.
sourceยง

fn get( self, slice: &str, ) -> Option<&<RangeInclusive<usize> as SliceIndex<str>>::Output>

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, if in bounds.
sourceยง

fn get_mut( self, slice: &mut str, ) -> Option<&mut <RangeInclusive<usize> as SliceIndex<str>>::Output>

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, if in bounds.
sourceยง

unsafe fn get_unchecked( self, slice: *const str, ) -> *const <RangeInclusive<usize> as SliceIndex<str>>::Output

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a pointer to the output at this location, without performing any bounds checking. Read more
sourceยง

unsafe fn get_unchecked_mut( self, slice: *mut str, ) -> *mut <RangeInclusive<usize> as SliceIndex<str>>::Output

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable pointer to the output at this location, without performing any bounds checking. Read more
sourceยง

fn index( self, slice: &str, ) -> &<RangeInclusive<usize> as SliceIndex<str>>::Output โ“˜

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, panicking if out of bounds.
sourceยง

fn index_mut( self, slice: &mut str, ) -> &mut <RangeInclusive<usize> as SliceIndex<str>>::Output โ“˜

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, panicking if out of bounds.
1.26.0 ยท sourceยง

impl<Idx> Eq for RangeInclusive<Idx>
where Idx: Eq,

1.26.0 ยท sourceยง

impl<A> FusedIterator for RangeInclusive<A>
where A: Step,

1.26.0 ยท sourceยง

impl<Idx> StructuralPartialEq for RangeInclusive<Idx>

sourceยง

impl<A> TrustedLen for RangeInclusive<A>
where A: TrustedStep,

Auto Trait Implementationsยง

ยง

impl<Idx> Freeze for RangeInclusive<Idx>
where Idx: Freeze,

ยง

impl<Idx> RefUnwindSafe for RangeInclusive<Idx>
where Idx: RefUnwindSafe,

ยง

impl<Idx> Send for RangeInclusive<Idx>
where Idx: Send,

ยง

impl<Idx> Sync for RangeInclusive<Idx>
where Idx: Sync,

ยง

impl<Idx> Unpin for RangeInclusive<Idx>
where Idx: Unpin,

ยง

impl<Idx> UnwindSafe for RangeInclusive<Idx>
where Idx: UnwindSafe,

Blanket Implementationsยง

sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
sourceยง

impl<T> CloneToUninit for T
where T: Clone,

sourceยง

unsafe fn clone_to_uninit(&self, dst: *mut T)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
sourceยง

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

sourceยง

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
sourceยง

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

sourceยง

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
sourceยง

impl<T> From<T> for T

sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

sourceยง

impl<I> IntoIterator for I
where I: Iterator,

sourceยง

type Item = <I as Iterator>::Item

The type of the elements being iterated over.
sourceยง

type IntoIter = I

Which kind of iterator are we turning this into?
sourceยง

fn into_iter(self) -> I

Creates an iterator from a value. Read more
sourceยง

impl<T> ToOwned for T
where T: Clone,

sourceยง

type Owned = T

The resulting type after obtaining ownership.
sourceยง

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
sourceยง

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
sourceยง

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,