1.0.0[−][src]Struct std::iter::Enumerate
An iterator that yields the current count and the element during iteration.
This struct is created by the enumerate method on Iterator. See its
documentation for more.
Trait Implementations
impl<I> DoubleEndedIterator for Enumerate<I> where
I: ExactSizeIterator + DoubleEndedIterator, [src]
I: ExactSizeIterator + DoubleEndedIterator,
fn next_back(&mut self) -> Option<(usize, <I as Iterator>::Item)>[src]
fn try_rfold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R where
Fold: FnMut(Acc, <Enumerate<I> as Iterator>::Item) -> R,
R: Try<Ok = Acc>,
Enumerate<I>: Sized, [src]
Fold: FnMut(Acc, <Enumerate<I> as Iterator>::Item) -> R,
R: Try<Ok = Acc>,
Enumerate<I>: Sized,
fn rfold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc where
Fold: FnMut(Acc, <Enumerate<I> as Iterator>::Item) -> Acc, [src]
Fold: FnMut(Acc, <Enumerate<I> as Iterator>::Item) -> Acc,
default fn nth_back(&mut self, n: usize) -> Option<Self::Item>[src]
Returns the nth element from the end of the iterator. Read more
default fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item> where
P: FnMut(&Self::Item) -> bool, 1.27.0[src]
P: FnMut(&Self::Item) -> bool,
Searches for an element of an iterator from the back that satisfies a predicate. Read more
impl<I> Iterator for Enumerate<I> where
I: Iterator, [src]
I: Iterator,
type Item = (usize, <I as Iterator>::Item)
The type of the elements being iterated over.
fn next(&mut self) -> Option<(usize, <I as Iterator>::Item)>[src]
Overflow Behavior
The method does no guarding against overflows, so enumerating more than
usize::MAX elements either produces the wrong result or panics. If
debug assertions are enabled, a panic is guaranteed.
Panics
Might panic if the index of the element overflows a usize.
fn size_hint(&self) -> (usize, Option<usize>)[src]
fn nth(&mut self, n: usize) -> Option<(usize, <I as Iterator>::Item)>[src]
fn count(self) -> usize[src]
fn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R where
Fold: FnMut(Acc, <Enumerate<I> as Iterator>::Item) -> R,
R: Try<Ok = Acc>,
Enumerate<I>: Sized, [src]
Fold: FnMut(Acc, <Enumerate<I> as Iterator>::Item) -> R,
R: Try<Ok = Acc>,
Enumerate<I>: Sized,
fn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc where
Fold: FnMut(Acc, <Enumerate<I> as Iterator>::Item) -> Acc, [src]
Fold: FnMut(Acc, <Enumerate<I> as Iterator>::Item) -> Acc,
default fn last(self) -> Option<Self::Item>[src]
Consumes the iterator, returning the last element. Read more
ⓘImportant traits for StepBy<I>default fn step_by(self, step: usize) -> StepBy<Self>1.28.0[src]
Creates an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
ⓘImportant traits for Chain<A, B>default fn chain<U>(
self,
other: U
) -> Chain<Self, <U as IntoIterator>::IntoIter> where
U: IntoIterator<Item = Self::Item>, [src]
self,
other: U
) -> Chain<Self, <U as IntoIterator>::IntoIter> where
U: IntoIterator<Item = Self::Item>,
Takes two iterators and creates a new iterator over both in sequence. Read more
ⓘImportant traits for Zip<A, B>default fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter> where
U: IntoIterator, [src]
U: IntoIterator,
'Zips up' two iterators into a single iterator of pairs. Read more
ⓘImportant traits for Map<I, F>default fn map<B, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> B, [src]
F: FnMut(Self::Item) -> B,
Takes a closure and creates an iterator which calls that closure on each element. Read more
default fn for_each<F>(self, f: F) where
F: FnMut(Self::Item), 1.21.0[src]
F: FnMut(Self::Item),
Calls a closure on each element of an iterator. Read more
ⓘImportant traits for Filter<I, P>default fn filter<P>(self, predicate: P) -> Filter<Self, P> where
P: FnMut(&Self::Item) -> bool, [src]
P: FnMut(&Self::Item) -> bool,
Creates an iterator which uses a closure to determine if an element should be yielded. Read more
ⓘImportant traits for FilterMap<I, F>default fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> where
F: FnMut(Self::Item) -> Option<B>, [src]
F: FnMut(Self::Item) -> Option<B>,
Creates an iterator that both filters and maps. Read more
ⓘImportant traits for Enumerate<I>default fn enumerate(self) -> Enumerate<Self>[src]
Creates an iterator which gives the current iteration count as well as the next value. Read more
ⓘImportant traits for Peekable<I>default fn peekable(self) -> Peekable<Self>[src]
Creates an iterator which can use peek to look at the next element of the iterator without consuming it. Read more
ⓘImportant traits for SkipWhile<I, P>default fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> where
P: FnMut(&Self::Item) -> bool, [src]
P: FnMut(&Self::Item) -> bool,
Creates an iterator that [skip]s elements based on a predicate. Read more
ⓘImportant traits for TakeWhile<I, P>default fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> where
P: FnMut(&Self::Item) -> bool, [src]
P: FnMut(&Self::Item) -> bool,
Creates an iterator that yields elements based on a predicate. Read more
ⓘImportant traits for Skip<I>default fn skip(self, n: usize) -> Skip<Self>[src]
Creates an iterator that skips the first n elements. Read more
ⓘImportant traits for Take<I>default fn take(self, n: usize) -> Take<Self>[src]
Creates an iterator that yields its first n elements. Read more
ⓘImportant traits for Scan<I, St, F>default fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> where
F: FnMut(&mut St, Self::Item) -> Option<B>, [src]
F: FnMut(&mut St, Self::Item) -> Option<B>,
An iterator adaptor similar to [fold] that holds internal state and produces a new iterator. Read more
ⓘImportant traits for FlatMap<I, U, F>default fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> where
F: FnMut(Self::Item) -> U,
U: IntoIterator, [src]
F: FnMut(Self::Item) -> U,
U: IntoIterator,
Creates an iterator that works like map, but flattens nested structure. Read more
ⓘImportant traits for Flatten<I>default fn flatten(self) -> Flatten<Self> where
Self::Item: IntoIterator, 1.29.0[src]
Self::Item: IntoIterator,
Creates an iterator that flattens nested structure. Read more
ⓘImportant traits for Fuse<I>default fn fuse(self) -> Fuse<Self>[src]
Creates an iterator which ends after the first [None]. Read more
ⓘImportant traits for Inspect<I, F>default fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item), [src]
F: FnMut(&Self::Item),
Do something with each element of an iterator, passing the value on. Read more
ⓘImportant traits for &'_ mut Idefault fn by_ref(&mut self) -> &mut Self[src]
Borrows an iterator, rather than consuming it. Read more
#[must_use = "if you really need to exhaust the iterator, consider `.for_each(drop)` instead"]
default fn collect<B>(self) -> B where
B: FromIterator<Self::Item>, [src]
B: FromIterator<Self::Item>,
Transforms an iterator into a collection. Read more
default fn partition<B, F>(self, f: F) -> (B, B) where
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool, [src]
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,
Consumes an iterator, creating two collections from it. Read more
default fn try_for_each<F, R>(&mut self, f: F) -> R where
F: FnMut(Self::Item) -> R,
R: Try<Ok = ()>, 1.27.0[src]
F: FnMut(Self::Item) -> R,
R: Try<Ok = ()>,
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
default fn all<F>(&mut self, f: F) -> bool where
F: FnMut(Self::Item) -> bool, [src]
F: FnMut(Self::Item) -> bool,
Tests if every element of the iterator matches a predicate. Read more
default fn any<F>(&mut self, f: F) -> bool where
F: FnMut(Self::Item) -> bool, [src]
F: FnMut(Self::Item) -> bool,
Tests if any element of the iterator matches a predicate. Read more
default fn find<P>(&mut self, predicate: P) -> Option<Self::Item> where
P: FnMut(&Self::Item) -> bool, [src]
P: FnMut(&Self::Item) -> bool,
Searches for an element of an iterator that satisfies a predicate. Read more
default fn find_map<B, F>(&mut self, f: F) -> Option<B> where
F: FnMut(Self::Item) -> Option<B>, 1.30.0[src]
F: FnMut(Self::Item) -> Option<B>,
Applies function to the elements of iterator and returns the first non-none result. Read more
default fn position<P>(&mut self, predicate: P) -> Option<usize> where
P: FnMut(Self::Item) -> bool, [src]
P: FnMut(Self::Item) -> bool,
Searches for an element in an iterator, returning its index. Read more
default fn rposition<P>(&mut self, predicate: P) -> Option<usize> where
P: FnMut(Self::Item) -> bool,
Self: ExactSizeIterator + DoubleEndedIterator, [src]
P: FnMut(Self::Item) -> bool,
Self: ExactSizeIterator + DoubleEndedIterator,
Searches for an element in an iterator from the right, returning its index. Read more
default fn max(self) -> Option<Self::Item> where
Self::Item: Ord, [src]
Self::Item: Ord,
Returns the maximum element of an iterator. Read more
default fn min(self) -> Option<Self::Item> where
Self::Item: Ord, [src]
Self::Item: Ord,
Returns the minimum element of an iterator. Read more
default fn max_by_key<B, F>(self, f: F) -> Option<Self::Item> where
B: Ord,
F: FnMut(&Self::Item) -> B, 1.6.0[src]
B: Ord,
F: FnMut(&Self::Item) -> B,
Returns the element that gives the maximum value from the specified function. Read more
default fn max_by<F>(self, compare: F) -> Option<Self::Item> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering, 1.15.0[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
Returns the element that gives the maximum value with respect to the specified comparison function. Read more
default fn min_by_key<B, F>(self, f: F) -> Option<Self::Item> where
B: Ord,
F: FnMut(&Self::Item) -> B, 1.6.0[src]
B: Ord,
F: FnMut(&Self::Item) -> B,
Returns the element that gives the minimum value from the specified function. Read more
default fn min_by<F>(self, compare: F) -> Option<Self::Item> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering, 1.15.0[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
Returns the element that gives the minimum value with respect to the specified comparison function. Read more
ⓘImportant traits for Rev<I>default fn rev(self) -> Rev<Self> where
Self: DoubleEndedIterator, [src]
Self: DoubleEndedIterator,
Reverses an iterator's direction. Read more
default fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Iterator<Item = (A, B)>, [src]
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Iterator<Item = (A, B)>,
Converts an iterator of pairs into a pair of containers. Read more
ⓘImportant traits for Copied<I>default fn copied<'a, T>(self) -> Copied<Self> where
Self: Iterator<Item = &'a T>,
T: 'a + Copy, [src]
Self: Iterator<Item = &'a T>,
T: 'a + Copy,
Creates an iterator which copies all of its elements. Read more
ⓘImportant traits for Cloned<I>default fn cloned<'a, T>(self) -> Cloned<Self> where
Self: Iterator<Item = &'a T>,
T: 'a + Clone, [src]
Self: Iterator<Item = &'a T>,
T: 'a + Clone,
Creates an iterator which [clone]s all of its elements. Read more
ⓘImportant traits for Cycle<I>default fn cycle(self) -> Cycle<Self> where
Self: Clone, [src]
Self: Clone,
Repeats an iterator endlessly. Read more
default fn sum<S>(self) -> S where
S: Sum<Self::Item>, 1.11.0[src]
S: Sum<Self::Item>,
Sums the elements of an iterator. Read more
default fn product<P>(self) -> P where
P: Product<Self::Item>, 1.11.0[src]
P: Product<Self::Item>,
Iterates over the entire iterator, multiplying all the elements Read more
default fn cmp<I>(self, other: I) -> Ordering where
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord, 1.5.0[src]
I: IntoIterator<Item = Self::Item>,
Self::Item: Ord,
Lexicographically compares the elements of this Iterator with those of another. Read more
default fn partial_cmp<I>(self, other: I) -> Option<Ordering> where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>, 1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Lexicographically compares the elements of this Iterator with those of another. Read more
default fn eq<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>, 1.5.0[src]
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
Determines if the elements of this Iterator are equal to those of another. Read more
default fn ne<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>, 1.5.0[src]
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
Determines if the elements of this Iterator are unequal to those of another. Read more
default fn lt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>, 1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Determines if the elements of this Iterator are lexicographically less than those of another. Read more
default fn le<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>, 1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Determines if the elements of this Iterator are lexicographically less or equal to those of another. Read more
default fn gt<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>, 1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Determines if the elements of this Iterator are lexicographically greater than those of another. Read more
default fn ge<I>(self, other: I) -> bool where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>, 1.5.0[src]
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Determines if the elements of this Iterator are lexicographically greater than or equal to those of another. Read more
default fn is_sorted(self) -> bool where
Self::Item: PartialOrd<Self::Item>, [src]
Self::Item: PartialOrd<Self::Item>,
🔬 This is a nightly-only experimental API. (is_sorted #53485)
new API
Checks if the elements of this iterator are sorted. Read more
default fn is_sorted_by<F>(self, compare: F) -> bool where
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>, [src]
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
🔬 This is a nightly-only experimental API. (is_sorted #53485)
new API
Checks if the elements of this iterator are sorted using the given comparator function. Read more
default fn is_sorted_by_key<F, K>(self, f: F) -> bool where
F: FnMut(&Self::Item) -> K,
K: PartialOrd<K>, [src]
F: FnMut(&Self::Item) -> K,
K: PartialOrd<K>,
🔬 This is a nightly-only experimental API. (is_sorted #53485)
new API
Checks if the elements of this iterator are sorted using the given key extraction function. Read more
impl<I> TrustedLen for Enumerate<I> where
I: TrustedLen, [src]
I: TrustedLen,
impl<I> ExactSizeIterator for Enumerate<I> where
I: ExactSizeIterator, [src]
I: ExactSizeIterator,
impl<I> FusedIterator for Enumerate<I> where
I: FusedIterator, 1.26.0[src]
I: FusedIterator,
impl<I> Clone for Enumerate<I> where
I: Clone, [src]
I: Clone,
ⓘImportant traits for Enumerate<I>fn clone(&self) -> Enumerate<I>[src]
default fn clone_from(&mut self, source: &Self)[src]
Performs copy-assignment from source. Read more
impl<I> Debug for Enumerate<I> where
I: Debug, [src]
I: Debug,
Auto Trait Implementations
Blanket Implementations
impl<T> From for T[src]
impl<I> IntoIterator for I where
I: Iterator, [src]
I: Iterator,
type Item = <I as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = I
Which kind of iterator are we turning this into?
fn into_iter(self) -> I[src]
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
ⓘImportant traits for &'_ mut Ifn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,