pub struct Iter<'a, T: 'a> { /* private fields */ }Expand description
Immutable slice iterator
This struct is created by the iter method on slices.
Examples
Basic usage:
// First, we declare a type which has `iter` method to get the `Iter` struct (`&[usize]` here):
let slice = &[1, 2, 3];
// Then, we iterate over it:
for element in slice.iter() {
println!("{element}");
}RunImplementations
impl<'a, T> Iter<'a, T>
source
impl<'a, T> Iter<'a, T>
sourcepub fn as_slice(&self) -> &'a [T]
1.4.0 · source
pub fn as_slice(&self) -> &'a [T]
1.4.0 · sourceViews the underlying data as a subslice of the original data.
This has the same lifetime as the original slice, and so the iterator can continue to be used while this exists.
Examples
Basic usage:
// First, we declare a type which has the `iter` method to get the `Iter`
// struct (`&[usize]` here):
let slice = &[1, 2, 3];
// Then, we get the iterator:
let mut iter = slice.iter();
// So if we print what `as_slice` method returns here, we have "[1, 2, 3]":
println!("{:?}", iter.as_slice());
// Next, we move to the second element of the slice:
iter.next();
// Now `as_slice` returns "[2, 3]":
println!("{:?}", iter.as_slice());RunTrait Implementations
impl<'a, T> DoubleEndedIterator for Iter<'a, T>
source
impl<'a, T> DoubleEndedIterator for Iter<'a, T>
sourcefn next_back(&mut self) -> Option<&'a T>
source
fn next_back(&mut self) -> Option<&'a T>
sourceRemoves and returns an element from the end of the iterator. Read more
fn nth_back(&mut self, n: usize) -> Option<&'a T>
source
fn nth_back(&mut self, n: usize) -> Option<&'a T>
sourceReturns the nth element from the end of the iterator. Read more
fn advance_back_by(&mut self, n: usize) -> Result<(), usize>
source
fn advance_back_by(&mut self, n: usize) -> Result<(), usize>
sourceAdvances the iterator from the back by n elements. Read more
fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R where
Self: Sized,
F: FnMut(B, Self::Item) -> R,
R: Try<Output = B>,
1.27.0 · source
fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R where
Self: Sized,
F: FnMut(B, Self::Item) -> R,
R: Try<Output = B>,
1.27.0 · sourceThis is the reverse version of Iterator::try_fold(): it takes
elements starting from the back of the iterator. Read more
impl<T> ExactSizeIterator for Iter<'_, T>
source
impl<T> ExactSizeIterator for Iter<'_, T>
sourceimpl<'a, T> Iterator for Iter<'a, T>
source
impl<'a, T> Iterator for Iter<'a, T>
sourcefn next(&mut self) -> Option<&'a T>
source
fn next(&mut self) -> Option<&'a T>
sourceAdvances the iterator and returns the next value. Read more
fn size_hint(&self) -> (usize, Option<usize>)
source
fn size_hint(&self) -> (usize, Option<usize>)
sourceReturns the bounds on the remaining length of the iterator. Read more
fn count(self) -> usize
source
fn count(self) -> usize
sourceConsumes the iterator, counting the number of iterations and returning it. Read more
fn nth(&mut self, n: usize) -> Option<&'a T>
source
fn nth(&mut self, n: usize) -> Option<&'a T>
sourceReturns the nth element of the iterator. Read more
fn advance_by(&mut self, n: usize) -> Result<(), usize>
source
fn advance_by(&mut self, n: usize) -> Result<(), usize>
sourceAdvances the iterator by n elements. Read more
fn for_each<F>(self, f: F) where
Self: Sized,
F: FnMut(Self::Item),
source
fn for_each<F>(self, f: F) where
Self: Sized,
F: FnMut(Self::Item),
sourceCalls a closure on each element of an iterator. Read more
fn all<F>(&mut self, f: F) -> bool where
Self: Sized,
F: FnMut(Self::Item) -> bool,
source
fn all<F>(&mut self, f: F) -> bool where
Self: Sized,
F: FnMut(Self::Item) -> bool,
sourceTests if every element of the iterator matches a predicate. Read more
fn any<F>(&mut self, f: F) -> bool where
Self: Sized,
F: FnMut(Self::Item) -> bool,
source
fn any<F>(&mut self, f: F) -> bool where
Self: Sized,
F: FnMut(Self::Item) -> bool,
sourceTests if any element of the iterator matches a predicate. Read more
fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
source
fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
sourceSearches for an element of an iterator that satisfies a predicate. Read more
fn find_map<B, F>(&mut self, f: F) -> Option<B> where
Self: Sized,
F: FnMut(Self::Item) -> Option<B>,
source
fn find_map<B, F>(&mut self, f: F) -> Option<B> where
Self: Sized,
F: FnMut(Self::Item) -> Option<B>,
sourceApplies function to the elements of iterator and returns the first non-none result. Read more
fn position<P>(&mut self, predicate: P) -> Option<usize> where
Self: Sized,
P: FnMut(Self::Item) -> bool,
source
fn position<P>(&mut self, predicate: P) -> Option<usize> where
Self: Sized,
P: FnMut(Self::Item) -> bool,
sourceSearches for an element in an iterator, returning its index. Read more
fn rposition<P>(&mut self, predicate: P) -> Option<usize> where
P: FnMut(Self::Item) -> bool,
Self: Sized + ExactSizeIterator + DoubleEndedIterator,
source
fn rposition<P>(&mut self, predicate: P) -> Option<usize> where
P: FnMut(Self::Item) -> bool,
Self: Sized + ExactSizeIterator + DoubleEndedIterator,
sourceSearches for an element in an iterator from the right, returning its index. Read more
fn is_sorted_by<F>(self, compare: F) -> bool where
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
source
fn is_sorted_by<F>(self, compare: F) -> bool where
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
sourceChecks if the elements of this iterator are sorted using the given comparator function. Read more
fn step_by(self, step: usize) -> StepBy<Self>ⓘNotable traits for StepBy<I>impl<I> Iterator for StepBy<I> where
I: Iterator, type Item = I::Item; where
Self: Sized,
1.28.0 · source
fn step_by(self, step: usize) -> StepBy<Self>ⓘNotable traits for StepBy<I>impl<I> Iterator for StepBy<I> where
I: Iterator, type Item = I::Item; where
Self: Sized,
1.28.0 · sourceI: Iterator, type Item = I::Item;
Creates an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
fn chain<U>(self, other: U) -> Chain<Self, U::IntoIter>ⓘNotable traits for Chain<A, B>impl<A, B> Iterator for Chain<A, B> where
A: Iterator,
B: Iterator<Item = A::Item>, type Item = A::Item; where
Self: Sized,
U: IntoIterator<Item = Self::Item>,
source
fn chain<U>(self, other: U) -> Chain<Self, U::IntoIter>ⓘNotable traits for Chain<A, B>impl<A, B> Iterator for Chain<A, B> where
A: Iterator,
B: Iterator<Item = A::Item>, type Item = A::Item; where
Self: Sized,
U: IntoIterator<Item = Self::Item>,
sourceA: Iterator,
B: Iterator<Item = A::Item>, type Item = A::Item;
Takes two iterators and creates a new iterator over both in sequence. Read more
fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter>ⓘNotable traits for Zip<A, B>impl<A, B> Iterator for Zip<A, B> where
A: Iterator,
B: Iterator, type Item = (A::Item, B::Item); where
Self: Sized,
U: IntoIterator,
source
fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter>ⓘNotable traits for Zip<A, B>impl<A, B> Iterator for Zip<A, B> where
A: Iterator,
B: Iterator, type Item = (A::Item, B::Item); where
Self: Sized,
U: IntoIterator,
sourceA: Iterator,
B: Iterator, type Item = (A::Item, B::Item);
‘Zips up’ two iterators into a single iterator of pairs. Read more
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,
source
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,
sourceI: Iterator,
I::Item: Clone, type Item = I::Item;
Creates a new iterator which places a copy of separator between adjacent
items of the original iterator. Read more
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,
source
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,
sourceI: Iterator,
G: FnMut() -> I::Item, type Item = I::Item;
Creates a new iterator which places an item generated by separator
between adjacent items of the original iterator. Read more
fn map<B, F>(self, f: F) -> Map<Self, F>ⓘNotable traits for Map<I, F>impl<B, I: Iterator, F> Iterator for Map<I, F> where
F: FnMut(I::Item) -> B, type Item = B; where
Self: Sized,
F: FnMut(Self::Item) -> B,
source
fn map<B, F>(self, f: F) -> Map<Self, F>ⓘNotable traits for Map<I, F>impl<B, I: Iterator, F> Iterator for Map<I, F> where
F: FnMut(I::Item) -> B, type Item = B; where
Self: Sized,
F: FnMut(Self::Item) -> B,
sourceF: FnMut(I::Item) -> B, type Item = B;
Takes a closure and creates an iterator which calls that closure on each element. Read more
fn filter<P>(self, predicate: P) -> Filter<Self, P>ⓘNotable traits for Filter<I, P>impl<I: Iterator, P> Iterator for Filter<I, P> where
P: FnMut(&I::Item) -> bool, type Item = I::Item; where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
source
fn filter<P>(self, predicate: P) -> Filter<Self, P>ⓘNotable traits for Filter<I, P>impl<I: Iterator, P> Iterator for Filter<I, P> where
P: FnMut(&I::Item) -> bool, type Item = I::Item; where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
sourceP: FnMut(&I::Item) -> bool, type Item = I::Item;
Creates an iterator which uses a closure to determine if an element should be yielded. Read more
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>ⓘNotable traits for FilterMap<I, F>impl<B, I: Iterator, F> Iterator for FilterMap<I, F> where
F: FnMut(I::Item) -> Option<B>, type Item = B; where
Self: Sized,
F: FnMut(Self::Item) -> Option<B>,
source
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>ⓘNotable traits for FilterMap<I, F>impl<B, I: Iterator, F> Iterator for FilterMap<I, F> where
F: FnMut(I::Item) -> Option<B>, type Item = B; where
Self: Sized,
F: FnMut(Self::Item) -> Option<B>,
sourceF: FnMut(I::Item) -> Option<B>, type Item = B;
Creates an iterator that both filters and maps. Read more
fn enumerate(self) -> Enumerate<Self>ⓘNotable traits for Enumerate<I>impl<I> Iterator for Enumerate<I> where
I: Iterator, type Item = (usize, <I as Iterator>::Item); where
Self: Sized,
source
fn enumerate(self) -> Enumerate<Self>ⓘNotable traits for Enumerate<I>impl<I> Iterator for Enumerate<I> where
I: Iterator, type Item = (usize, <I as Iterator>::Item); where
Self: Sized,
sourceI: Iterator, type Item = (usize, <I as Iterator>::Item);
Creates an iterator which gives the current iteration count as well as the next value. Read more
fn peekable(self) -> Peekable<Self>ⓘNotable traits for Peekable<I>impl<I: Iterator> Iterator for Peekable<I> type Item = I::Item; where
Self: Sized,
source
fn peekable(self) -> Peekable<Self>ⓘNotable traits for Peekable<I>impl<I: Iterator> Iterator for Peekable<I> type Item = I::Item; where
Self: Sized,
sourcefn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>ⓘNotable traits for SkipWhile<I, P>impl<I: Iterator, P> Iterator for SkipWhile<I, P> where
P: FnMut(&I::Item) -> bool, type Item = I::Item; where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
source
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>ⓘNotable traits for SkipWhile<I, P>impl<I: Iterator, P> Iterator for SkipWhile<I, P> where
P: FnMut(&I::Item) -> bool, type Item = I::Item; where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
sourceP: FnMut(&I::Item) -> bool, type Item = I::Item;
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>ⓘNotable traits for TakeWhile<I, P>impl<I: Iterator, P> Iterator for TakeWhile<I, P> where
P: FnMut(&I::Item) -> bool, type Item = I::Item; where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
source
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>ⓘNotable traits for TakeWhile<I, P>impl<I: Iterator, P> Iterator for TakeWhile<I, P> where
P: FnMut(&I::Item) -> bool, type Item = I::Item; where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
sourceP: FnMut(&I::Item) -> bool, type Item = I::Item;
Creates an iterator that yields elements based on a predicate. Read more
fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>ⓘNotable traits for MapWhile<I, P>impl<B, I: Iterator, P> Iterator for MapWhile<I, P> where
P: FnMut(I::Item) -> Option<B>, type Item = B; where
Self: Sized,
P: FnMut(Self::Item) -> Option<B>,
1.57.0 · source
fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>ⓘNotable traits for MapWhile<I, P>impl<B, I: Iterator, P> Iterator for MapWhile<I, P> where
P: FnMut(I::Item) -> Option<B>, type Item = B; where
Self: Sized,
P: FnMut(Self::Item) -> Option<B>,
1.57.0 · sourceP: FnMut(I::Item) -> Option<B>, type Item = B;
Creates an iterator that both yields elements based on a predicate and maps. Read more
fn skip(self, n: usize) -> Skip<Self>ⓘNotable traits for Skip<I>impl<I> Iterator for Skip<I> where
I: Iterator, type Item = <I as Iterator>::Item; where
Self: Sized,
source
fn skip(self, n: usize) -> Skip<Self>ⓘNotable traits for Skip<I>impl<I> Iterator for Skip<I> where
I: Iterator, type Item = <I as Iterator>::Item; where
Self: Sized,
sourceI: Iterator, type Item = <I as Iterator>::Item;
Creates an iterator that skips the first n elements. Read more
fn take(self, n: usize) -> Take<Self>ⓘNotable traits for Take<I>impl<I> Iterator for Take<I> where
I: Iterator, type Item = <I as Iterator>::Item; where
Self: Sized,
source
fn take(self, n: usize) -> Take<Self>ⓘNotable traits for Take<I>impl<I> Iterator for Take<I> where
I: Iterator, type Item = <I as Iterator>::Item; where
Self: Sized,
sourceI: Iterator, type Item = <I as Iterator>::Item;
Creates an iterator that yields the first n elements, or fewer
if the underlying iterator ends sooner. Read more
fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>ⓘNotable traits for Scan<I, St, F>impl<B, I, St, F> Iterator for Scan<I, St, F> where
I: Iterator,
F: FnMut(&mut St, I::Item) -> Option<B>, type Item = B; where
Self: Sized,
F: FnMut(&mut St, Self::Item) -> Option<B>,
source
fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>ⓘNotable traits for Scan<I, St, F>impl<B, I, St, F> Iterator for Scan<I, St, F> where
I: Iterator,
F: FnMut(&mut St, I::Item) -> Option<B>, type Item = B; where
Self: Sized,
F: FnMut(&mut St, Self::Item) -> Option<B>,
sourceI: Iterator,
F: FnMut(&mut St, I::Item) -> Option<B>, type Item = B;
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>ⓘNotable traits for FlatMap<I, U, F>impl<I: Iterator, U: IntoIterator, F> Iterator for FlatMap<I, U, F> where
F: FnMut(I::Item) -> U, type Item = U::Item; where
Self: Sized,
U: IntoIterator,
F: FnMut(Self::Item) -> U,
source
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>ⓘNotable traits for FlatMap<I, U, F>impl<I: Iterator, U: IntoIterator, F> Iterator for FlatMap<I, U, F> where
F: FnMut(I::Item) -> U, type Item = U::Item; where
Self: Sized,
U: IntoIterator,
F: FnMut(Self::Item) -> U,
sourceF: FnMut(I::Item) -> U, type Item = U::Item;
Creates an iterator that works like map, but flattens nested structure. Read more
fn flatten(self) -> Flatten<Self>ⓘNotable traits for Flatten<I>impl<I, U> Iterator for Flatten<I> where
I: Iterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>,
U: Iterator, type Item = U::Item; where
Self: Sized,
Self::Item: IntoIterator,
1.29.0 · source
fn flatten(self) -> Flatten<Self>ⓘNotable traits for Flatten<I>impl<I, U> Iterator for Flatten<I> where
I: Iterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>,
U: Iterator, type Item = U::Item; where
Self: Sized,
Self::Item: IntoIterator,
1.29.0 · sourceI: Iterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>,
U: Iterator, type Item = U::Item;
Creates an iterator that flattens nested structure. Read more
fn fuse(self) -> Fuse<Self>ⓘNotable traits for Fuse<I>impl<I> Iterator for Fuse<I> where
I: Iterator, type Item = <I as Iterator>::Item; where
Self: Sized,
source
fn fuse(self) -> Fuse<Self>ⓘNotable traits for Fuse<I>impl<I> Iterator for Fuse<I> where
I: Iterator, type Item = <I as Iterator>::Item; where
Self: Sized,
sourceI: Iterator, type Item = <I as Iterator>::Item;
fn inspect<F>(self, f: F) -> Inspect<Self, F>ⓘNotable traits for Inspect<I, F>impl<I: Iterator, F> Iterator for Inspect<I, F> where
F: FnMut(&I::Item), type Item = I::Item; where
Self: Sized,
F: FnMut(&Self::Item),
source
fn inspect<F>(self, f: F) -> Inspect<Self, F>ⓘNotable traits for Inspect<I, F>impl<I: Iterator, F> Iterator for Inspect<I, F> where
F: FnMut(&I::Item), type Item = I::Item; where
Self: Sized,
F: FnMut(&Self::Item),
sourceF: FnMut(&I::Item), type Item = I::Item;
Does something with each element of an iterator, passing the value on. Read more
fn by_ref(&mut self) -> &mut Self where
Self: Sized,
source
fn by_ref(&mut self) -> &mut Self where
Self: Sized,
sourceBorrows an iterator, rather than consuming it. Read more
fn collect<B: FromIterator<Self::Item>>(self) -> B where
Self: Sized,
source
fn collect<B: FromIterator<Self::Item>>(self) -> B where
Self: Sized,
sourceTransforms an iterator into a collection. Read more
fn try_collect<B>(
&mut self
) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType where
Self: Sized,
<Self as Iterator>::Item: Try,
<<Self as Iterator>::Item as Try>::Residual: Residual<B>,
B: FromIterator<<Self::Item as Try>::Output>,
source
fn try_collect<B>(
&mut self
) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType where
Self: Sized,
<Self as Iterator>::Item: Try,
<<Self as Iterator>::Item as Try>::Residual: Residual<B>,
B: FromIterator<<Self::Item as Try>::Output>,
sourceFallibly transforms an iterator into a collection, short circuiting if a failure is encountered. Read more
fn collect_into<E: Extend<Self::Item>>(self, collection: &mut E) -> &mut E where
Self: Sized,
source
fn collect_into<E: Extend<Self::Item>>(self, collection: &mut E) -> &mut E where
Self: Sized,
sourceCollects all the items from an iterator into a collection. Read more
fn partition<B, F>(self, f: F) -> (B, B) where
Self: Sized,
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,
source
fn partition<B, F>(self, f: F) -> (B, B) where
Self: Sized,
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,
sourceConsumes an iterator, creating two collections from it. Read more
fn partition_in_place<'a, T: 'a, P>(self, predicate: P) -> usize where
Self: Sized + DoubleEndedIterator<Item = &'a mut T>,
P: FnMut(&T) -> bool,
source
fn partition_in_place<'a, T: 'a, P>(self, predicate: P) -> usize where
Self: Sized + DoubleEndedIterator<Item = &'a mut T>,
P: FnMut(&T) -> bool,
sourceReorders 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
fn is_partitioned<P>(self, predicate: P) -> bool where
Self: Sized,
P: FnMut(Self::Item) -> bool,
source
fn is_partitioned<P>(self, predicate: P) -> bool where
Self: Sized,
P: FnMut(Self::Item) -> bool,
sourceChecks 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
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R where
Self: Sized,
F: FnMut(B, Self::Item) -> R,
R: Try<Output = B>,
1.27.0 · source
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R where
Self: Sized,
F: FnMut(B, Self::Item) -> R,
R: Try<Output = B>,
1.27.0 · sourceAn iterator method that applies a function as long as it returns successfully, producing a single, final value. Read more
fn try_for_each<F, R>(&mut self, f: F) -> R where
Self: Sized,
F: FnMut(Self::Item) -> R,
R: Try<Output = ()>,
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 = ()>,
1.27.0 · sourceAn iterator method that applies a fallible function to each item in the iterator, stopping at the first error and returning that error. Read more
fn fold<B, F>(self, init: B, f: F) -> B where
Self: Sized,
F: FnMut(B, Self::Item) -> B,
source
fn fold<B, F>(self, init: B, f: F) -> B where
Self: Sized,
F: FnMut(B, Self::Item) -> B,
sourceFolds every element into an accumulator by applying an operation, returning the final result. Read more
fn reduce<F>(self, f: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(Self::Item, Self::Item) -> Self::Item,
1.51.0 · source
fn reduce<F>(self, f: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(Self::Item, Self::Item) -> Self::Item,
1.51.0 · sourceReduces the elements to a single one, by repeatedly applying a reducing operation. Read more
fn try_reduce<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<R::Output>>>::TryType where
Self: Sized,
F: FnMut(Self::Item, Self::Item) -> R,
R: Try<Output = Self::Item>,
R::Residual: Residual<Option<Self::Item>>,
source
fn try_reduce<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<R::Output>>>::TryType where
Self: Sized,
F: FnMut(Self::Item, Self::Item) -> R,
R: Try<Output = Self::Item>,
R::Residual: Residual<Option<Self::Item>>,
sourceReduces 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
fn try_find<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType where
Self: Sized,
F: FnMut(&Self::Item) -> R,
R: Try<Output = bool>,
R::Residual: Residual<Option<Self::Item>>,
source
fn try_find<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType where
Self: Sized,
F: FnMut(&Self::Item) -> R,
R: Try<Output = bool>,
R::Residual: Residual<Option<Self::Item>>,
sourceApplies function to the elements of iterator and returns the first true result or the first error. Read more
fn max(self) -> Option<Self::Item> where
Self: Sized,
Self::Item: Ord,
source
fn max(self) -> Option<Self::Item> where
Self: Sized,
Self::Item: Ord,
sourceReturns the maximum element of an iterator. Read more
fn min(self) -> Option<Self::Item> where
Self: Sized,
Self::Item: Ord,
source
fn min(self) -> Option<Self::Item> where
Self: Sized,
Self::Item: Ord,
sourceReturns the minimum element of an iterator. Read more
fn max_by_key<B: Ord, F>(self, f: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item) -> B,
1.6.0 · source
fn max_by_key<B: Ord, F>(self, f: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item) -> B,
1.6.0 · sourceReturns the element that gives the maximum value from the specified function. Read more
fn max_by<F>(self, compare: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.15.0 · source
fn max_by<F>(self, compare: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.15.0 · sourceReturns the element that gives the maximum value with respect to the specified comparison function. Read more
fn min_by_key<B: Ord, F>(self, f: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item) -> B,
1.6.0 · source
fn min_by_key<B: Ord, F>(self, f: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item) -> B,
1.6.0 · sourceReturns the element that gives the minimum value from the specified function. Read more
fn min_by<F>(self, compare: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.15.0 · source
fn min_by<F>(self, compare: F) -> Option<Self::Item> where
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.15.0 · sourceReturns the element that gives the minimum value with respect to the specified comparison function. Read more
fn rev(self) -> Rev<Self>ⓘNotable traits for Rev<I>impl<I> Iterator for Rev<I> where
I: DoubleEndedIterator, type Item = <I as Iterator>::Item; where
Self: Sized + DoubleEndedIterator,
source
fn rev(self) -> Rev<Self>ⓘNotable traits for Rev<I>impl<I> Iterator for Rev<I> where
I: DoubleEndedIterator, type Item = <I as Iterator>::Item; where
Self: Sized + DoubleEndedIterator,
sourceI: DoubleEndedIterator, type Item = <I as Iterator>::Item;
Reverses an iterator’s direction. Read more
fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Sized + Iterator<Item = (A, B)>,
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)>,
sourceConverts an iterator of pairs into a pair of containers. Read more
fn copied<'a, T: 'a>(self) -> Copied<Self>ⓘNotable traits for Copied<I>impl<'a, I, T: 'a> Iterator for Copied<I> where
I: Iterator<Item = &'a T>,
T: Copy, type Item = T; where
Self: Sized + Iterator<Item = &'a T>,
T: Copy,
1.36.0 · source
fn copied<'a, T: 'a>(self) -> Copied<Self>ⓘNotable traits for Copied<I>impl<'a, I, T: 'a> Iterator for Copied<I> where
I: Iterator<Item = &'a T>,
T: Copy, type Item = T; where
Self: Sized + Iterator<Item = &'a T>,
T: Copy,
1.36.0 · sourceI: Iterator<Item = &'a T>,
T: Copy, type Item = T;
Creates an iterator which copies all of its elements. Read more
fn cloned<'a, T: 'a>(self) -> Cloned<Self>ⓘNotable traits for Cloned<I>impl<'a, I, T: 'a> Iterator for Cloned<I> where
I: Iterator<Item = &'a T>,
T: Clone, type Item = T; where
Self: Sized + Iterator<Item = &'a T>,
T: Clone,
source
fn cloned<'a, T: 'a>(self) -> Cloned<Self>ⓘNotable traits for Cloned<I>impl<'a, I, T: 'a> Iterator for Cloned<I> where
I: Iterator<Item = &'a T>,
T: Clone, type Item = T; where
Self: Sized + Iterator<Item = &'a T>,
T: Clone,
sourceI: Iterator<Item = &'a T>,
T: Clone, type Item = T;
fn cycle(self) -> Cycle<Self>ⓘNotable traits for Cycle<I>impl<I> Iterator for Cycle<I> where
I: Clone + Iterator, type Item = <I as Iterator>::Item; where
Self: Sized + Clone,
source
fn cycle(self) -> Cycle<Self>ⓘNotable traits for Cycle<I>impl<I> Iterator for Cycle<I> where
I: Clone + Iterator, type Item = <I as Iterator>::Item; where
Self: Sized + Clone,
sourceI: Clone + Iterator, type Item = <I as Iterator>::Item;
Repeats an iterator endlessly. Read more
fn sum<S>(self) -> S where
Self: Sized,
S: Sum<Self::Item>,
1.11.0 · source
fn sum<S>(self) -> S where
Self: Sized,
S: Sum<Self::Item>,
1.11.0 · sourceSums the elements of an iterator. Read more
fn product<P>(self) -> P where
Self: Sized,
P: Product<Self::Item>,
1.11.0 · source
fn product<P>(self) -> P where
Self: Sized,
P: Product<Self::Item>,
1.11.0 · sourceIterates over the entire iterator, multiplying all the elements Read more
fn cmp<I>(self, other: I) -> Ordering where
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord,
Self: Sized,
1.5.0 · source
fn cmp<I>(self, other: I) -> Ordering where
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord,
Self: Sized,
1.5.0 · sourceLexicographically compares the elements of this Iterator with those
of another. Read more
fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, I::Item) -> Ordering,
source
fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, I::Item) -> Ordering,
sourceLexicographically compares the elements of this Iterator with those
of another with respect to the specified comparison function. Read more
fn partial_cmp<I>(self, other: I) -> Option<Ordering> where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0 · source
fn partial_cmp<I>(self, other: I) -> Option<Ordering> where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0 · sourceLexicographically compares the elements of this Iterator with those
of another. Read more
fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering> where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, I::Item) -> Option<Ordering>,
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::Item) -> Option<Ordering>,
sourceLexicographically compares the elements of this Iterator with those
of another with respect to the specified comparison function. Read more
fn eq<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<I::Item>,
Self: Sized,
1.5.0 · source
fn eq<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<I::Item>,
Self: Sized,
1.5.0 · sourcefn eq_by<I, F>(self, other: I, eq: F) -> bool where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, I::Item) -> bool,
source
fn eq_by<I, F>(self, other: I, eq: F) -> bool where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, I::Item) -> bool,
sourcefn ne<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<I::Item>,
Self: Sized,
1.5.0 · source
fn ne<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<I::Item>,
Self: Sized,
1.5.0 · sourcefn lt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0 · source
fn lt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0 · sourceDetermines if the elements of this Iterator are lexicographically
less than those of another. Read more
fn le<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0 · source
fn le<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0 · sourceDetermines if the elements of this Iterator are lexicographically
less or equal to those of another. Read more
fn gt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0 · source
fn gt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0 · sourceDetermines if the elements of this Iterator are lexicographically
greater than those of another. Read more
fn ge<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0 · source
fn ge<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<I::Item>,
Self: Sized,
1.5.0 · sourceDetermines if the elements of this Iterator are lexicographically
greater than or equal to those of another. Read more
fn is_sorted(self) -> bool where
Self: Sized,
Self::Item: PartialOrd,
source
fn is_sorted(self) -> bool where
Self: Sized,
Self::Item: PartialOrd,
sourceChecks if the elements of this iterator are sorted. Read more
fn is_sorted_by_key<F, K>(self, f: F) -> bool where
Self: Sized,
F: FnMut(Self::Item) -> K,
K: PartialOrd,
source
fn is_sorted_by_key<F, K>(self, f: F) -> bool where
Self: Sized,
F: FnMut(Self::Item) -> K,
K: PartialOrd,
sourceChecks if the elements of this iterator are sorted using the given key extraction function. Read more
impl<T> FusedIterator for Iter<'_, T>
1.26.0 · sourceimpl<T: Sync> Send for Iter<'_, T>
sourceimpl<T: Sync> Sync for Iter<'_, T>
sourceimpl<T> TrustedLen for Iter<'_, T>
sourceAuto Trait Implementations
impl<'a, T> RefUnwindSafe for Iter<'a, T> where
T: RefUnwindSafe,
impl<'a, T> Unpin for Iter<'a, T>
impl<'a, T> UnwindSafe for Iter<'a, T> where
T: RefUnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
source
impl<T> BorrowMut<T> for T where
T: ?Sized,
sourcefn borrow_mut(&mut self) -> &mut T
const: unstable · source
fn borrow_mut(&mut self) -> &mut T
const: unstable · sourceMutably borrows from an owned value. Read more