pub struct Map<I, F> { /* private fields */ }Expand description
An iterator that maps the values of iter with f.
This struct is created by the map method on Iterator. See its
documentation for more.
§Notes about side effects
The map iterator implements DoubleEndedIterator, meaning that
you can also map backwards:
let v: Vec<i32> = [1, 2, 3].into_iter().map(|x| x + 1).rev().collect();
assert_eq!(v, [4, 3, 2]);But if your closure has state, iterating backwards may act in a way you do not expect. Let’s go through an example. First, in the forward direction:
let mut c = 0;
for pair in ['a', 'b', 'c'].into_iter()
                               .map(|letter| { c += 1; (letter, c) }) {
    println!("{pair:?}");
}This will print ('a', 1), ('b', 2), ('c', 3).
Now consider this twist where we add a call to rev. This version will
print ('c', 1), ('b', 2), ('a', 3). Note that the letters are reversed,
but the values of the counter still go in order. This is because map() is
still being called lazily on each item, but we are popping items off the
back of the vector now, instead of shifting them from the front.
let mut c = 0;
for pair in ['a', 'b', 'c'].into_iter()
                               .map(|letter| { c += 1; (letter, c) })
                               .rev() {
    println!("{pair:?}");
}Trait Implementations§
1.0.0 · Source§impl<B, I, F> DoubleEndedIterator for Map<I, F>
 
impl<B, I, F> DoubleEndedIterator for Map<I, F>
Source§fn next_back(&mut self) -> Option<B>
 
fn next_back(&mut self) -> Option<B>
Source§fn try_rfold<Acc, G, R>(&mut self, init: Acc, g: G) -> R
 
fn try_rfold<Acc, G, R>(&mut self, init: Acc, g: G) -> R
Iterator::try_fold(): it takes
elements starting from the back of the iterator. Read moreSource§fn rfold<Acc, G>(self, init: Acc, g: G) -> Acc
 
fn rfold<Acc, G>(self, init: Acc, g: G) -> Acc
Source§fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
 
fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
iter_advance_by)n elements. Read more1.0.0 · Source§impl<B, I, F> ExactSizeIterator for Map<I, F>
 
impl<B, I, F> ExactSizeIterator for Map<I, F>
1.0.0 · Source§impl<B, I, F> Iterator for Map<I, F>
 
impl<B, I, F> Iterator for Map<I, F>
Source§fn size_hint(&self) -> (usize, Option<usize>)
 
fn size_hint(&self) -> (usize, Option<usize>)
Source§fn try_fold<Acc, G, R>(&mut self, init: Acc, g: G) -> R
 
fn try_fold<Acc, G, R>(&mut self, init: Acc, g: G) -> R
Source§fn fold<Acc, G>(self, init: Acc, g: G) -> Acc
 
fn fold<Acc, G>(self, init: Acc, g: G) -> Acc
Source§fn next_chunk<const N: usize>(
    &mut self,
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where
    Self: Sized,
 
fn next_chunk<const N: usize>(
    &mut self,
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where
    Self: Sized,
iter_next_chunk)N values. Read more1.0.0 · Source§fn count(self) -> usizewhere
    Self: Sized,
 
fn count(self) -> usizewhere
    Self: Sized,
1.0.0 · Source§fn last(self) -> Option<Self::Item>where
    Self: Sized,
 
fn last(self) -> Option<Self::Item>where
    Self: Sized,
Source§fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
 
fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
iter_advance_by)n elements. Read more1.0.0 · Source§fn nth(&mut self, n: usize) -> Option<Self::Item>
 
fn nth(&mut self, n: usize) -> Option<Self::Item>
nth element of the iterator. Read more1.28.0 · Source§fn step_by(self, step: usize) -> StepBy<Self> ⓘwhere
    Self: Sized,
 
fn step_by(self, step: usize) -> StepBy<Self> ⓘwhere
    Self: Sized,
1.0.0 · Source§fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter> ⓘ
 
fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter> ⓘ
1.0.0 · Source§fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter> ⓘwhere
    Self: Sized,
    U: IntoIterator,
 
fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter> ⓘwhere
    Self: Sized,
    U: IntoIterator,
Source§fn intersperse(self, separator: Self::Item) -> Intersperse<Self> ⓘ
 
fn intersperse(self, separator: Self::Item) -> Intersperse<Self> ⓘ
iter_intersperse)separator between adjacent
items of the original iterator. Read moreSource§fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G> ⓘ
 
fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G> ⓘ
iter_intersperse)separator
between adjacent items of the original iterator. Read more1.0.0 · Source§fn map<B, F>(self, f: F) -> Map<Self, F> ⓘ
 
fn map<B, F>(self, f: F) -> Map<Self, F> ⓘ
1.0.0 · Source§fn filter<P>(self, predicate: P) -> Filter<Self, P> ⓘ
 
fn filter<P>(self, predicate: P) -> Filter<Self, P> ⓘ
1.0.0 · Source§fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> ⓘ
 
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> ⓘ
1.0.0 · Source§fn enumerate(self) -> Enumerate<Self> ⓘwhere
    Self: Sized,
 
fn enumerate(self) -> Enumerate<Self> ⓘwhere
    Self: Sized,
1.0.0 · Source§fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> ⓘ
 
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> ⓘ
1.0.0 · Source§fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> ⓘ
 
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> ⓘ
1.57.0 · Source§fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P> ⓘ
 
fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P> ⓘ
1.0.0 · Source§fn skip(self, n: usize) -> Skip<Self> ⓘwhere
    Self: Sized,
 
fn skip(self, n: usize) -> Skip<Self> ⓘwhere
    Self: Sized,
n elements. Read more1.0.0 · Source§fn take(self, n: usize) -> Take<Self> ⓘwhere
    Self: Sized,
 
fn take(self, n: usize) -> Take<Self> ⓘwhere
    Self: Sized,
n elements, or fewer
if the underlying iterator ends sooner. Read more1.0.0 · Source§fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> ⓘ
 
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> ⓘ
1.29.0 · Source§fn flatten(self) -> Flatten<Self> ⓘ
 
fn flatten(self) -> Flatten<Self> ⓘ
Source§fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N> ⓘ
 
fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N> ⓘ
iter_map_windows)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 more1.0.0 · Source§fn inspect<F>(self, f: F) -> Inspect<Self, F> ⓘ
 
fn inspect<F>(self, f: F) -> Inspect<Self, F> ⓘ
1.0.0 · Source§fn by_ref(&mut self) -> &mut Selfwhere
    Self: Sized,
 
fn by_ref(&mut self) -> &mut Selfwhere
    Self: Sized,
Iterator. Read moreSource§fn try_collect<B>(
    &mut self,
) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
 
fn try_collect<B>( &mut self, ) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
iterator_try_collect)Source§fn collect_into<E>(self, collection: &mut E) -> &mut E
 
fn collect_into<E>(self, collection: &mut E) -> &mut E
iter_collect_into)1.0.0 · Source§fn partition<B, F>(self, f: F) -> (B, B)
 
fn partition<B, F>(self, f: F) -> (B, B)
Source§fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
 
fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
iter_partition_in_place)true precede all those that return false.
Returns the number of true elements found. Read moreSource§fn is_partitioned<P>(self, predicate: P) -> bool
 
fn is_partitioned<P>(self, predicate: P) -> bool
iter_is_partitioned)true precede all those that return false. Read more1.27.0 · Source§fn try_for_each<F, R>(&mut self, f: F) -> R
 
fn try_for_each<F, R>(&mut self, f: F) -> R
1.51.0 · Source§fn reduce<F>(self, f: F) -> Option<Self::Item>
 
fn reduce<F>(self, f: F) -> Option<Self::Item>
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
 
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
iterator_try_reduce)1.0.0 · Source§fn all<F>(&mut self, f: F) -> bool
 
fn all<F>(&mut self, f: F) -> bool
1.0.0 · Source§fn any<F>(&mut self, f: F) -> bool
 
fn any<F>(&mut self, f: F) -> bool
1.0.0 · Source§fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
 
fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
1.30.0 · Source§fn find_map<B, F>(&mut self, f: F) -> Option<B>
 
fn find_map<B, F>(&mut self, f: F) -> Option<B>
Source§fn try_find<R>(
    &mut self,
    f: impl FnMut(&Self::Item) -> R,
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
 
fn try_find<R>( &mut self, f: impl FnMut(&Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
try_find)1.0.0 · Source§fn position<P>(&mut self, predicate: P) -> Option<usize>
 
fn position<P>(&mut self, predicate: P) -> Option<usize>
1.0.0 · Source§fn rposition<P>(&mut self, predicate: P) -> Option<usize>
 
fn rposition<P>(&mut self, predicate: P) -> Option<usize>
1.0.0 · Source§fn max(self) -> Option<Self::Item>
 
fn max(self) -> Option<Self::Item>
1.0.0 · Source§fn min(self) -> Option<Self::Item>
 
fn min(self) -> Option<Self::Item>
1.6.0 · Source§fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
 
fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
1.15.0 · Source§fn max_by<F>(self, compare: F) -> Option<Self::Item>
 
fn max_by<F>(self, compare: F) -> Option<Self::Item>
1.6.0 · Source§fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
 
fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
1.15.0 · Source§fn min_by<F>(self, compare: F) -> Option<Self::Item>
 
fn min_by<F>(self, compare: F) -> Option<Self::Item>
1.0.0 · Source§fn rev(self) -> Rev<Self> ⓘwhere
    Self: Sized + DoubleEndedIterator,
 
fn rev(self) -> Rev<Self> ⓘwhere
    Self: Sized + DoubleEndedIterator,
1.0.0 · Source§fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
 
fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
1.36.0 · Source§fn copied<'a, T>(self) -> Copied<Self> ⓘ
 
fn copied<'a, T>(self) -> Copied<Self> ⓘ
Source§fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N> ⓘwhere
    Self: Sized,
 
fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N> ⓘwhere
    Self: Sized,
iter_array_chunks)N elements of the iterator at a time. Read more1.11.0 · Source§fn product<P>(self) -> P
 
fn product<P>(self) -> P
Source§fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
 
fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
iter_order_by)Iterator with those
of another with respect to the specified comparison function. Read more1.5.0 · Source§fn partial_cmp<I>(self, other: I) -> Option<Ordering>
 
fn partial_cmp<I>(self, other: I) -> Option<Ordering>
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 moreSource§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>,
 
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>,
iter_order_by)Iterator with those
of another with respect to the specified comparison function. Read moreSource§fn eq_by<I, F>(self, other: I, eq: F) -> bool
 
fn eq_by<I, F>(self, other: I, eq: F) -> bool
iter_order_by)1.5.0 · Source§fn lt<I>(self, other: I) -> bool
 
fn lt<I>(self, other: I) -> bool
Iterator are lexicographically
less than those of another. Read more1.5.0 · Source§fn le<I>(self, other: I) -> bool
 
fn le<I>(self, other: I) -> bool
Iterator are lexicographically
less or equal to those of another. Read more1.5.0 · Source§fn gt<I>(self, other: I) -> bool
 
fn gt<I>(self, other: I) -> bool
Iterator are lexicographically
greater than those of another. Read more1.5.0 · Source§fn ge<I>(self, other: I) -> bool
 
fn ge<I>(self, other: I) -> bool
Iterator are lexicographically
greater than or equal to those of another. Read more1.82.0 · Source§fn is_sorted(self) -> bool
 
fn is_sorted(self) -> bool
1.82.0 · Source§fn is_sorted_by<F>(self, compare: F) -> bool
 
fn is_sorted_by<F>(self, compare: F) -> bool
1.82.0 · Source§fn is_sorted_by_key<F, K>(self, f: F) -> bool
 
fn is_sorted_by_key<F, K>(self, f: F) -> bool
impl<B, I, F> FusedIterator for Map<I, F>
impl<B, I, F> TrustedLen for Map<I, F>
Auto Trait Implementations§
impl<I, F> Freeze for Map<I, F>
impl<I, F> RefUnwindSafe for Map<I, F>where
    I: RefUnwindSafe,
    F: RefUnwindSafe,
impl<I, F> Send for Map<I, F>
impl<I, F> Sync for Map<I, F>
impl<I, F> Unpin for Map<I, F>
impl<I, F> UnwindSafe for Map<I, F>where
    I: UnwindSafe,
    F: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
 
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
 
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<I> IntoIterator for Iwhere
    I: Iterator,
 
impl<I> IntoIterator for Iwhere
    I: Iterator,
Source§impl<I> IteratorRandom for Iwhere
    I: Iterator,
 
impl<I> IteratorRandom for Iwhere
    I: Iterator,
Source§fn choose_stable<R>(self, rng: &mut R) -> Option<Self::Item>
 
fn choose_stable<R>(self, rng: &mut R) -> Option<Self::Item>
Source§impl<I> IteratorRandom for Iwhere
    I: Iterator,
 
impl<I> IteratorRandom for Iwhere
    I: Iterator,
Source§fn choose<R>(self, rng: &mut R) -> Option<Self::Item>
 
fn choose<R>(self, rng: &mut R) -> Option<Self::Item>
Source§fn choose_stable<R>(self, rng: &mut R) -> Option<Self::Item>
 
fn choose_stable<R>(self, rng: &mut R) -> Option<Self::Item>
Source§impl<T> Itertools for T
 
impl<T> Itertools for T
Source§fn interleave<J>(
    self,
    other: J,
) -> Interleave<Self, <J as IntoIterator>::IntoIter> ⓘ
 
fn interleave<J>( self, other: J, ) -> Interleave<Self, <J as IntoIterator>::IntoIter> ⓘ
Source§fn interleave_shortest<J>(
    self,
    other: J,
) -> InterleaveShortest<Self, <J as IntoIterator>::IntoIter> ⓘ
 
fn interleave_shortest<J>( self, other: J, ) -> InterleaveShortest<Self, <J as IntoIterator>::IntoIter> ⓘ
Source§fn intersperse(
    self,
    element: Self::Item,
) -> IntersperseWith<Self, IntersperseElementSimple<Self::Item>> ⓘ
 
fn intersperse( self, element: Self::Item, ) -> IntersperseWith<Self, IntersperseElementSimple<Self::Item>> ⓘ
Source§fn intersperse_with<F>(self, element: F) -> IntersperseWith<Self, F> ⓘ
 
fn intersperse_with<F>(self, element: F) -> IntersperseWith<Self, F> ⓘ
Source§fn get<R>(self, index: R) -> <R as IteratorIndex<Self>>::Outputwhere
    Self: Sized,
    R: IteratorIndex<Self>,
 
fn get<R>(self, index: R) -> <R as IteratorIndex<Self>>::Outputwhere
    Self: Sized,
    R: IteratorIndex<Self>,
Source§fn zip_longest<J>(
    self,
    other: J,
) -> ZipLongest<Self, <J as IntoIterator>::IntoIter> ⓘwhere
    J: IntoIterator,
    Self: Sized,
 
fn zip_longest<J>(
    self,
    other: J,
) -> ZipLongest<Self, <J as IntoIterator>::IntoIter> ⓘwhere
    J: IntoIterator,
    Self: Sized,
Source§fn zip_eq<J>(self, other: J) -> ZipEq<Self, <J as IntoIterator>::IntoIter> ⓘwhere
    J: IntoIterator,
    Self: Sized,
 
fn zip_eq<J>(self, other: J) -> ZipEq<Self, <J as IntoIterator>::IntoIter> ⓘwhere
    J: IntoIterator,
    Self: Sized,
Source§fn batching<B, F>(self, f: F) -> Batching<Self, F> ⓘ
 
fn batching<B, F>(self, f: F) -> Batching<Self, F> ⓘ
Source§fn chunk_by<K, F>(self, key: F) -> ChunkBy<K, Self, F>
 
fn chunk_by<K, F>(self, key: F) -> ChunkBy<K, Self, F>
Source§fn group_by<K, F>(self, key: F) -> ChunkBy<K, Self, F>
 
fn group_by<K, F>(self, key: F) -> ChunkBy<K, Self, F>
.chunk_by().Source§fn chunks(self, size: usize) -> IntoChunks<Self>where
    Self: Sized,
 
fn chunks(self, size: usize) -> IntoChunks<Self>where
    Self: Sized,
Source§fn tuple_windows<T>(self) -> TupleWindows<Self, T> ⓘwhere
    Self: Sized + Iterator<Item = <T as TupleCollect>::Item>,
    T: HomogeneousTuple,
    <T as TupleCollect>::Item: Clone,
 
fn tuple_windows<T>(self) -> TupleWindows<Self, T> ⓘwhere
    Self: Sized + Iterator<Item = <T as TupleCollect>::Item>,
    T: HomogeneousTuple,
    <T as TupleCollect>::Item: Clone,
Source§fn circular_tuple_windows<T>(self) -> CircularTupleWindows<Self, T> ⓘ
 
fn circular_tuple_windows<T>(self) -> CircularTupleWindows<Self, T> ⓘ
Source§fn tuples<T>(self) -> Tuples<Self, T> ⓘ
 
fn tuples<T>(self) -> Tuples<Self, T> ⓘ
Source§fn tee(self) -> (Tee<Self>, Tee<Self>)
 
fn tee(self) -> (Tee<Self>, Tee<Self>)
Source§fn map_ok<F, T, U, E>(self, f: F) -> MapSpecialCase<Self, MapSpecialCaseFnOk<F>>
 
fn map_ok<F, T, U, E>(self, f: F) -> MapSpecialCase<Self, MapSpecialCaseFnOk<F>>
Result::Ok value. Result::Err values are
unchanged. Read moreSource§fn filter_ok<F, T, E>(self, f: F) -> FilterOk<Self, F> ⓘ
 
fn filter_ok<F, T, E>(self, f: F) -> FilterOk<Self, F> ⓘ
Result::Ok
value with the provided closure. Result::Err values are
unchanged. Read moreSource§fn filter_map_ok<F, T, U, E>(self, f: F) -> FilterMapOk<Self, F> ⓘ
 
fn filter_map_ok<F, T, U, E>(self, f: F) -> FilterMapOk<Self, F> ⓘ
Result::Ok value with the provided closure. Result::Err
values are unchanged. Read moreSource§fn flatten_ok<T, E>(self) -> FlattenOk<Self, T, E> ⓘ
 
fn flatten_ok<T, E>(self) -> FlattenOk<Self, T, E> ⓘ
Result::Ok value into
a series of Result::Ok values. Result::Err values are unchanged. Read moreSource§fn process_results<F, T, E, R>(self, processor: F) -> Result<R, E>
 
fn process_results<F, T, E, R>(self, processor: F) -> Result<R, E>
Result values instead. Read moreSource§fn merge<J>(
    self,
    other: J,
) -> MergeBy<Self, <J as IntoIterator>::IntoIter, MergeLte> ⓘ
 
fn merge<J>( self, other: J, ) -> MergeBy<Self, <J as IntoIterator>::IntoIter, MergeLte> ⓘ
Source§fn merge_by<J, F>(
    self,
    other: J,
    is_first: F,
) -> MergeBy<Self, <J as IntoIterator>::IntoIter, F> ⓘ
 
fn merge_by<J, F>( self, other: J, is_first: F, ) -> MergeBy<Self, <J as IntoIterator>::IntoIter, F> ⓘ
Source§fn merge_join_by<J, F, T>(
    self,
    other: J,
    cmp_fn: F,
) -> MergeBy<Self, <J as IntoIterator>::IntoIter, MergeFuncLR<F, <F as FuncLR<Self::Item, <<J as IntoIterator>::IntoIter as Iterator>::Item>>::T>> ⓘ
 
fn merge_join_by<J, F, T>( self, other: J, cmp_fn: F, ) -> MergeBy<Self, <J as IntoIterator>::IntoIter, MergeFuncLR<F, <F as FuncLR<Self::Item, <<J as IntoIterator>::IntoIter as Iterator>::Item>>::T>> ⓘ
Source§fn kmerge(self) -> KMergeBy<<Self::Item as IntoIterator>::IntoIter, KMergeByLt> ⓘ
 
fn kmerge(self) -> KMergeBy<<Self::Item as IntoIterator>::IntoIter, KMergeByLt> ⓘ
Source§fn kmerge_by<F>(
    self,
    first: F,
) -> KMergeBy<<Self::Item as IntoIterator>::IntoIter, F> ⓘwhere
    Self: Sized,
    Self::Item: IntoIterator,
    F: FnMut(&<Self::Item as IntoIterator>::Item, &<Self::Item as IntoIterator>::Item) -> bool,
 
fn kmerge_by<F>(
    self,
    first: F,
) -> KMergeBy<<Self::Item as IntoIterator>::IntoIter, F> ⓘwhere
    Self: Sized,
    Self::Item: IntoIterator,
    F: FnMut(&<Self::Item as IntoIterator>::Item, &<Self::Item as IntoIterator>::Item) -> bool,
Source§fn cartesian_product<J>(
    self,
    other: J,
) -> Product<Self, <J as IntoIterator>::IntoIter> ⓘ
 
fn cartesian_product<J>( self, other: J, ) -> Product<Self, <J as IntoIterator>::IntoIter> ⓘ
self and J. Read moreSource§fn multi_cartesian_product(
    self,
) -> MultiProduct<<Self::Item as IntoIterator>::IntoIter> ⓘwhere
    Self: Sized,
    Self::Item: IntoIterator,
    <Self::Item as IntoIterator>::IntoIter: Clone,
    <Self::Item as IntoIterator>::Item: Clone,
 
fn multi_cartesian_product(
    self,
) -> MultiProduct<<Self::Item as IntoIterator>::IntoIter> ⓘwhere
    Self: Sized,
    Self::Item: IntoIterator,
    <Self::Item as IntoIterator>::IntoIter: Clone,
    <Self::Item as IntoIterator>::Item: Clone,
self. Read moreSource§fn coalesce<F>(self, f: F) -> CoalesceBy<Self, F, NoCount>
 
fn coalesce<F>(self, f: F) -> CoalesceBy<Self, F, NoCount>
Source§fn dedup(self) -> CoalesceBy<Self, DedupPred2CoalescePred<DedupEq>, NoCount>
 
fn dedup(self) -> CoalesceBy<Self, DedupPred2CoalescePred<DedupEq>, NoCount>
Source§fn dedup_by<Cmp>(
    self,
    cmp: Cmp,
) -> CoalesceBy<Self, DedupPred2CoalescePred<Cmp>, NoCount>
 
fn dedup_by<Cmp>( self, cmp: Cmp, ) -> CoalesceBy<Self, DedupPred2CoalescePred<Cmp>, NoCount>
Source§fn dedup_with_count(
    self,
) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<DedupEq>, WithCount>where
    Self: Sized,
 
fn dedup_with_count(
    self,
) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<DedupEq>, WithCount>where
    Self: Sized,
Source§fn dedup_by_with_count<Cmp>(
    self,
    cmp: Cmp,
) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<Cmp>, WithCount>
 
fn dedup_by_with_count<Cmp>( self, cmp: Cmp, ) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<Cmp>, WithCount>
Source§fn duplicates(self) -> DuplicatesBy<Self, Self::Item, ById>
 
fn duplicates(self) -> DuplicatesBy<Self, Self::Item, ById>
Source§fn duplicates_by<V, F>(self, f: F) -> DuplicatesBy<Self, V, ByFn<F>>
 
fn duplicates_by<V, F>(self, f: F) -> DuplicatesBy<Self, V, ByFn<F>>
Source§fn unique(self) -> Unique<Self> ⓘ
 
fn unique(self) -> Unique<Self> ⓘ
Source§fn unique_by<V, F>(self, f: F) -> UniqueBy<Self, V, F> ⓘ
 
fn unique_by<V, F>(self, f: F) -> UniqueBy<Self, V, F> ⓘ
Source§fn peeking_take_while<F>(&mut self, accept: F) -> PeekingTakeWhile<'_, Self, F> ⓘ
 
fn peeking_take_while<F>(&mut self, accept: F) -> PeekingTakeWhile<'_, Self, F> ⓘ
accept returns true. Read moreSource§fn take_while_ref<F>(&mut self, accept: F) -> TakeWhileRef<'_, Self, F> ⓘ
 
fn take_while_ref<F>(&mut self, accept: F) -> TakeWhileRef<'_, Self, F> ⓘ
Clone-able iterator
to only pick off elements while the predicate accept returns true. Read moreSource§fn take_while_inclusive<F>(self, accept: F) -> TakeWhileInclusive<Self, F> ⓘ
 
fn take_while_inclusive<F>(self, accept: F) -> TakeWhileInclusive<Self, F> ⓘ
true, including the element for which the predicate
first returned false. Read moreSource§fn while_some<A>(self) -> WhileSome<Self> ⓘ
 
fn while_some<A>(self) -> WhileSome<Self> ⓘ
Option<A> iterator elements
and produces A. Stops on the first None encountered. Read moreSource§fn tuple_combinations<T>(self) -> TupleCombinations<Self, T> ⓘ
 
fn tuple_combinations<T>(self) -> TupleCombinations<Self, T> ⓘ
Source§fn array_combinations<const K: usize>(
    self,
) -> CombinationsGeneric<Self, [usize; K]>
 
fn array_combinations<const K: usize>( self, ) -> CombinationsGeneric<Self, [usize; K]>
Source§fn combinations(self, k: usize) -> CombinationsGeneric<Self, Vec<usize>>
 
fn combinations(self, k: usize) -> CombinationsGeneric<Self, Vec<usize>>
k-length combinations of
the elements from an iterator. Read moreSource§fn combinations_with_replacement(
    self,
    k: usize,
) -> CombinationsWithReplacement<Self> ⓘ
 
fn combinations_with_replacement( self, k: usize, ) -> CombinationsWithReplacement<Self> ⓘ
k-length combinations of
the elements from an iterator, with replacement. Read moreSource§fn permutations(self, k: usize) -> Permutations<Self> ⓘ
 
fn permutations(self, k: usize) -> Permutations<Self> ⓘ
Source§fn powerset(self) -> Powerset<Self> ⓘ
 
fn powerset(self) -> Powerset<Self> ⓘ
Source§fn pad_using<F>(self, min: usize, f: F) -> PadUsing<Self, F> ⓘ
 
fn pad_using<F>(self, min: usize, f: F) -> PadUsing<Self, F> ⓘ
min by filling missing elements using a closure f. Read moreSource§fn with_position(self) -> WithPosition<Self> ⓘwhere
    Self: Sized,
 
fn with_position(self) -> WithPosition<Self> ⓘwhere
    Self: Sized,
Position to
ease special-case handling of the first or last elements. Read moreSource§fn positions<P>(self, predicate: P) -> Positions<Self, P> ⓘ
 
fn positions<P>(self, predicate: P) -> Positions<Self, P> ⓘ
Source§fn update<F>(self, updater: F) -> Update<Self, F> ⓘ
 
fn update<F>(self, updater: F) -> Update<Self, F> ⓘ
Source§fn next_array<const N: usize>(&mut self) -> Option<[Self::Item; N]>where
    Self: Sized,
 
fn next_array<const N: usize>(&mut self) -> Option<[Self::Item; N]>where
    Self: Sized,
Source§fn collect_array<const N: usize>(self) -> Option<[Self::Item; N]>where
    Self: Sized,
 
fn collect_array<const N: usize>(self) -> Option<[Self::Item; N]>where
    Self: Sized,
Source§fn next_tuple<T>(&mut self) -> Option<T>
 
fn next_tuple<T>(&mut self) -> Option<T>
Source§fn collect_tuple<T>(self) -> Option<T>
 
fn collect_tuple<T>(self) -> Option<T>
Source§fn find_position<P>(&mut self, pred: P) -> Option<(usize, Self::Item)>
 
fn find_position<P>(&mut self, pred: P) -> Option<(usize, Self::Item)>
Source§fn find_or_last<P>(self, predicate: P) -> Option<Self::Item>
 
fn find_or_last<P>(self, predicate: P) -> Option<Self::Item>
Source§fn find_or_first<P>(self, predicate: P) -> Option<Self::Item>
 
fn find_or_first<P>(self, predicate: P) -> Option<Self::Item>
Source§fn contains<Q>(&mut self, query: &Q) -> bool
 
fn contains<Q>(&mut self, query: &Q) -> bool
true if the given item is present in this iterator. Read moreSource§fn all_equal_value(
    &mut self,
) -> Result<Self::Item, Option<(Self::Item, Self::Item)>>
 
fn all_equal_value( &mut self, ) -> Result<Self::Item, Option<(Self::Item, Self::Item)>>
Source§fn all_unique(&mut self) -> bool
 
fn all_unique(&mut self) -> bool
Source§fn dropping(self, n: usize) -> Selfwhere
    Self: Sized,
 
fn dropping(self, n: usize) -> Selfwhere
    Self: Sized,
n elements from the iterator eagerly,
and return the same iterator again. Read moreSource§fn dropping_back(self, n: usize) -> Selfwhere
    Self: Sized + DoubleEndedIterator,
 
fn dropping_back(self, n: usize) -> Selfwhere
    Self: Sized + DoubleEndedIterator,
n elements from the iterator eagerly,
and return the same iterator again. Read moreSource§fn collect_vec(self) -> Vec<Self::Item>where
    Self: Sized,
 
fn collect_vec(self) -> Vec<Self::Item>where
    Self: Sized,
.collect_vec() is simply a type specialization of Iterator::collect,
for convenience.Source§fn try_collect<T, U, E>(self) -> Result<U, E>
 
fn try_collect<T, U, E>(self) -> Result<U, E>
Source§fn set_from<'a, A, J>(&mut self, from: J) -> usize
 
fn set_from<'a, A, J>(&mut self, from: J) -> usize
self from the from iterator,
stopping at the shortest of the two iterators. Read moreSource§fn format(self, sep: &str) -> Format<'_, Self>where
    Self: Sized,
 
fn format(self, sep: &str) -> Format<'_, Self>where
    Self: Sized,
sep. Read moreSource§fn format_with<F>(self, sep: &str, format: F) -> FormatWith<'_, Self, F>
 
fn format_with<F>(self, sep: &str, format: F) -> FormatWith<'_, Self, F>
sep. Read moreSource§fn fold_ok<A, E, B, F>(&mut self, start: B, f: F) -> Result<B, E>
 
fn fold_ok<A, E, B, F>(&mut self, start: B, f: F) -> Result<B, E>
Result values from an iterator. Read moreSource§fn fold_options<A, B, F>(&mut self, start: B, f: F) -> Option<B>
 
fn fold_options<A, B, F>(&mut self, start: B, f: F) -> Option<B>
Option values from an iterator. Read moreSource§fn fold1<F>(self, f: F) -> Option<Self::Item>
 
fn fold1<F>(self, f: F) -> Option<Self::Item>
Iterator::reduce insteadSource§fn tree_reduce<F>(self, f: F) -> Option<Self::Item>
 
fn tree_reduce<F>(self, f: F) -> Option<Self::Item>
Source§fn tree_fold1<F>(self, f: F) -> Option<Self::Item>
 
fn tree_fold1<F>(self, f: F) -> Option<Self::Item>
.tree_reduce().Source§fn fold_while<B, F>(&mut self, init: B, f: F) -> FoldWhile<B>
 
fn fold_while<B, F>(&mut self, init: B, f: F) -> FoldWhile<B>
Source§fn sum1<S>(self) -> Option<S>
 
fn sum1<S>(self) -> Option<S>
Source§fn product1<P>(self) -> Option<P>
 
fn product1<P>(self) -> Option<P>
Source§fn sorted_unstable(self) -> IntoIter<Self::Item> ⓘ
 
fn sorted_unstable(self) -> IntoIter<Self::Item> ⓘ
Source§fn sorted_unstable_by<F>(self, cmp: F) -> IntoIter<Self::Item> ⓘ
 
fn sorted_unstable_by<F>(self, cmp: F) -> IntoIter<Self::Item> ⓘ
Source§fn sorted_unstable_by_key<K, F>(self, f: F) -> IntoIter<Self::Item> ⓘ
 
fn sorted_unstable_by_key<K, F>(self, f: F) -> IntoIter<Self::Item> ⓘ
Source§fn sorted(self) -> IntoIter<Self::Item> ⓘ
 
fn sorted(self) -> IntoIter<Self::Item> ⓘ
Source§fn sorted_by<F>(self, cmp: F) -> IntoIter<Self::Item> ⓘ
 
fn sorted_by<F>(self, cmp: F) -> IntoIter<Self::Item> ⓘ
Source§fn sorted_by_key<K, F>(self, f: F) -> IntoIter<Self::Item> ⓘ
 
fn sorted_by_key<K, F>(self, f: F) -> IntoIter<Self::Item> ⓘ
Source§fn sorted_by_cached_key<K, F>(self, f: F) -> IntoIter<Self::Item> ⓘ
 
fn sorted_by_cached_key<K, F>(self, f: F) -> IntoIter<Self::Item> ⓘ
Source§fn k_smallest(self, k: usize) -> IntoIter<Self::Item> ⓘ
 
fn k_smallest(self, k: usize) -> IntoIter<Self::Item> ⓘ
Source§fn k_smallest_by<F>(self, k: usize, cmp: F) -> IntoIter<Self::Item> ⓘ
 
fn k_smallest_by<F>(self, k: usize, cmp: F) -> IntoIter<Self::Item> ⓘ
Source§fn k_smallest_by_key<F, K>(self, k: usize, key: F) -> IntoIter<Self::Item> ⓘ
 
fn k_smallest_by_key<F, K>(self, k: usize, key: F) -> IntoIter<Self::Item> ⓘ
Source§fn k_smallest_relaxed(self, k: usize) -> IntoIter<Self::Item> ⓘ
 
fn k_smallest_relaxed(self, k: usize) -> IntoIter<Self::Item> ⓘ
Source§fn k_smallest_relaxed_by<F>(self, k: usize, cmp: F) -> IntoIter<Self::Item> ⓘ
 
fn k_smallest_relaxed_by<F>(self, k: usize, cmp: F) -> IntoIter<Self::Item> ⓘ
Source§fn k_smallest_relaxed_by_key<F, K>(
    self,
    k: usize,
    key: F,
) -> IntoIter<Self::Item> ⓘ
 
fn k_smallest_relaxed_by_key<F, K>( self, k: usize, key: F, ) -> IntoIter<Self::Item> ⓘ
Source§fn k_largest(self, k: usize) -> IntoIter<Self::Item> ⓘ
 
fn k_largest(self, k: usize) -> IntoIter<Self::Item> ⓘ
Source§fn k_largest_by<F>(self, k: usize, cmp: F) -> IntoIter<Self::Item> ⓘ
 
fn k_largest_by<F>(self, k: usize, cmp: F) -> IntoIter<Self::Item> ⓘ
Source§fn k_largest_by_key<F, K>(self, k: usize, key: F) -> IntoIter<Self::Item> ⓘ
 
fn k_largest_by_key<F, K>(self, k: usize, key: F) -> IntoIter<Self::Item> ⓘ
Source§fn k_largest_relaxed(self, k: usize) -> IntoIter<Self::Item> ⓘ
 
fn k_largest_relaxed(self, k: usize) -> IntoIter<Self::Item> ⓘ
Source§fn k_largest_relaxed_by<F>(self, k: usize, cmp: F) -> IntoIter<Self::Item> ⓘ
 
fn k_largest_relaxed_by<F>(self, k: usize, cmp: F) -> IntoIter<Self::Item> ⓘ
Source§fn k_largest_relaxed_by_key<F, K>(
    self,
    k: usize,
    key: F,
) -> IntoIter<Self::Item> ⓘ
 
fn k_largest_relaxed_by_key<F, K>( self, k: usize, key: F, ) -> IntoIter<Self::Item> ⓘ
Source§fn tail(self, n: usize) -> IntoIter<Self::Item> ⓘwhere
    Self: Sized,
 
fn tail(self, n: usize) -> IntoIter<Self::Item> ⓘwhere
    Self: Sized,
n elements. Read moreSource§fn partition_map<A, B, F, L, R>(self, predicate: F) -> (A, B)
 
fn partition_map<A, B, F, L, R>(self, predicate: F) -> (A, B)
Iterator::partition, each partition may
have a distinct type. Read moreSource§fn partition_result<A, B, T, E>(self) -> (A, B)
 
fn partition_result<A, B, T, E>(self) -> (A, B)
Results into one list of all the Ok elements
and another list of all the Err elements. Read moreSource§fn into_group_map<K, V>(self) -> HashMap<K, Vec<V>>
 
fn into_group_map<K, V>(self) -> HashMap<K, Vec<V>>
HashMap of keys mapped to Vecs of values. Keys and values
are taken from (Key, Value) tuple pairs yielded by the input iterator. Read moreSource§fn into_group_map_by<K, V, F>(self, f: F) -> HashMap<K, Vec<V>>
 
fn into_group_map_by<K, V, F>(self, f: F) -> HashMap<K, Vec<V>>
HashMap of keys mapped to Vecs of values. The key is specified
in the closure. The values are taken from the input iterator. Read moreSource§fn into_grouping_map<K, V>(self) -> GroupingMap<Self>
 
fn into_grouping_map<K, V>(self) -> GroupingMap<Self>
GroupingMap to be used later with one of the efficient
group-and-fold operations it allows to perform. Read moreSource§fn into_grouping_map_by<K, V, F>(
    self,
    key_mapper: F,
) -> GroupingMap<MapSpecialCase<Self, GroupingMapFn<F>>>
 
fn into_grouping_map_by<K, V, F>( self, key_mapper: F, ) -> GroupingMap<MapSpecialCase<Self, GroupingMapFn<F>>>
GroupingMap to be used later with one of the efficient
group-and-fold operations it allows to perform. Read moreSource§fn min_set_by<F>(self, compare: F) -> Vec<Self::Item>
 
fn min_set_by<F>(self, compare: F) -> Vec<Self::Item>
Source§fn min_set_by_key<K, F>(self, key: F) -> Vec<Self::Item>
 
fn min_set_by_key<K, F>(self, key: F) -> Vec<Self::Item>
Source§fn max_set_by<F>(self, compare: F) -> Vec<Self::Item>
 
fn max_set_by<F>(self, compare: F) -> Vec<Self::Item>
Source§fn max_set_by_key<K, F>(self, key: F) -> Vec<Self::Item>
 
fn max_set_by_key<K, F>(self, key: F) -> Vec<Self::Item>
Source§fn minmax(self) -> MinMaxResult<Self::Item>
 
fn minmax(self) -> MinMaxResult<Self::Item>
Source§fn minmax_by_key<K, F>(self, key: F) -> MinMaxResult<Self::Item>
 
fn minmax_by_key<K, F>(self, key: F) -> MinMaxResult<Self::Item>
Source§fn minmax_by<F>(self, compare: F) -> MinMaxResult<Self::Item>
 
fn minmax_by<F>(self, compare: F) -> MinMaxResult<Self::Item>
Source§fn position_max(self) -> Option<usize>
 
fn position_max(self) -> Option<usize>
Source§fn position_max_by_key<K, F>(self, key: F) -> Option<usize>
 
fn position_max_by_key<K, F>(self, key: F) -> Option<usize>
Source§fn position_max_by<F>(self, compare: F) -> Option<usize>
 
fn position_max_by<F>(self, compare: F) -> Option<usize>
Source§fn position_min(self) -> Option<usize>
 
fn position_min(self) -> Option<usize>
Source§fn position_min_by_key<K, F>(self, key: F) -> Option<usize>
 
fn position_min_by_key<K, F>(self, key: F) -> Option<usize>
Source§fn position_min_by<F>(self, compare: F) -> Option<usize>
 
fn position_min_by<F>(self, compare: F) -> Option<usize>
Source§fn position_minmax(self) -> MinMaxResult<usize>
 
fn position_minmax(self) -> MinMaxResult<usize>
Source§fn position_minmax_by_key<K, F>(self, key: F) -> MinMaxResult<usize>
 
fn position_minmax_by_key<K, F>(self, key: F) -> MinMaxResult<usize>
Source§fn position_minmax_by<F>(self, compare: F) -> MinMaxResult<usize>
 
fn position_minmax_by<F>(self, compare: F) -> MinMaxResult<usize>
Source§fn exactly_one(self) -> Result<Self::Item, ExactlyOneError<Self>>where
    Self: Sized,
 
fn exactly_one(self) -> Result<Self::Item, ExactlyOneError<Self>>where
    Self: Sized,
Source§fn at_most_one(self) -> Result<Option<Self::Item>, ExactlyOneError<Self>>where
    Self: Sized,
 
fn at_most_one(self) -> Result<Option<Self::Item>, ExactlyOneError<Self>>where
    Self: Sized,
Ok(None) will be returned. If the iterator yields
exactly one element, that element will be returned, otherwise an error will be returned
containing an iterator that has the same output as the input iterator. Read moreSource§fn multipeek(self) -> MultiPeek<Self> ⓘwhere
    Self: Sized,
 
fn multipeek(self) -> MultiPeek<Self> ⓘwhere
    Self: Sized,
.next()
values without advancing the base iterator. Read moreSource§fn counts(self) -> HashMap<Self::Item, usize>
 
fn counts(self) -> HashMap<Self::Item, usize>
HashMap which
contains each item that appears in the iterator and the number
of times it appears. Read moreSource§fn counts_by<K, F>(self, f: F) -> HashMap<K, usize>
 
fn counts_by<K, F>(self, f: F) -> HashMap<K, usize>
HashMap which
contains each item that appears in the iterator and the number
of times it appears,
determining identity using a keying function. Read moreSource§fn multiunzip<FromI>(self) -> FromIwhere
    Self: Sized + MultiUnzip<FromI>,
 
fn multiunzip<FromI>(self) -> FromIwhere
    Self: Sized + MultiUnzip<FromI>,
Source§impl<T> Itertools for T
 
impl<T> Itertools for T
Source§fn interleave<J>(
    self,
    other: J,
) -> Interleave<Self, <J as IntoIterator>::IntoIter> ⓘ
 
fn interleave<J>( self, other: J, ) -> Interleave<Self, <J as IntoIterator>::IntoIter> ⓘ
Source§fn interleave_shortest<J>(
    self,
    other: J,
) -> InterleaveShortest<Self, <J as IntoIterator>::IntoIter> ⓘ
 
fn interleave_shortest<J>( self, other: J, ) -> InterleaveShortest<Self, <J as IntoIterator>::IntoIter> ⓘ
Source§fn intersperse(
    self,
    element: Self::Item,
) -> IntersperseWith<Self, IntersperseElementSimple<Self::Item>> ⓘ
 
fn intersperse( self, element: Self::Item, ) -> IntersperseWith<Self, IntersperseElementSimple<Self::Item>> ⓘ
Source§fn intersperse_with<F>(self, element: F) -> IntersperseWith<Self, F> ⓘ
 
fn intersperse_with<F>(self, element: F) -> IntersperseWith<Self, F> ⓘ
Source§fn zip_longest<J>(
    self,
    other: J,
) -> ZipLongest<Self, <J as IntoIterator>::IntoIter> ⓘwhere
    J: IntoIterator,
    Self: Sized,
 
fn zip_longest<J>(
    self,
    other: J,
) -> ZipLongest<Self, <J as IntoIterator>::IntoIter> ⓘwhere
    J: IntoIterator,
    Self: Sized,
Source§fn zip_eq<J>(self, other: J) -> ZipEq<Self, <J as IntoIterator>::IntoIter> ⓘwhere
    J: IntoIterator,
    Self: Sized,
 
fn zip_eq<J>(self, other: J) -> ZipEq<Self, <J as IntoIterator>::IntoIter> ⓘwhere
    J: IntoIterator,
    Self: Sized,
Source§fn batching<B, F>(self, f: F) -> Batching<Self, F> ⓘ
 
fn batching<B, F>(self, f: F) -> Batching<Self, F> ⓘ
Source§fn tuple_windows<T>(self) -> TupleWindows<Self, T> ⓘwhere
    Self: Sized + Iterator<Item = <T as TupleCollect>::Item>,
    T: HomogeneousTuple,
    <T as TupleCollect>::Item: Clone,
 
fn tuple_windows<T>(self) -> TupleWindows<Self, T> ⓘwhere
    Self: Sized + Iterator<Item = <T as TupleCollect>::Item>,
    T: HomogeneousTuple,
    <T as TupleCollect>::Item: Clone,
Source§fn circular_tuple_windows<T>(self) -> CircularTupleWindows<Self, T> ⓘ
 
fn circular_tuple_windows<T>(self) -> CircularTupleWindows<Self, T> ⓘ
Source§fn tuples<T>(self) -> Tuples<Self, T> ⓘ
 
fn tuples<T>(self) -> Tuples<Self, T> ⓘ
Source§fn step(self, n: usize) -> Step<Self> ⓘwhere
    Self: Sized,
 
fn step(self, n: usize) -> Step<Self> ⓘwhere
    Self: Sized,
n elements in the base iterator
for each iteration. Read moreSource§fn map_into<R>(self) -> MapSpecialCase<Self, MapSpecialCaseFnInto<R>>
 
fn map_into<R>(self) -> MapSpecialCase<Self, MapSpecialCaseFnInto<R>>
Into trait. Read moreSource§fn map_results<F, T, U, E>(
    self,
    f: F,
) -> MapSpecialCase<Self, MapSpecialCaseFnOk<F>>
 
fn map_results<F, T, U, E>( self, f: F, ) -> MapSpecialCase<Self, MapSpecialCaseFnOk<F>>
.map_ok().Source§fn map_ok<F, T, U, E>(self, f: F) -> MapSpecialCase<Self, MapSpecialCaseFnOk<F>>
 
fn map_ok<F, T, U, E>(self, f: F) -> MapSpecialCase<Self, MapSpecialCaseFnOk<F>>
Result::Ok value. Result::Err values are
unchanged. Read moreSource§fn filter_ok<F, T, E>(self, f: F) -> FilterOk<Self, F> ⓘ
 
fn filter_ok<F, T, E>(self, f: F) -> FilterOk<Self, F> ⓘ
Result::Ok
value with the provided closure. Result::Err values are
unchanged. Read moreSource§fn filter_map_ok<F, T, U, E>(self, f: F) -> FilterMapOk<Self, F> ⓘ
 
fn filter_map_ok<F, T, U, E>(self, f: F) -> FilterMapOk<Self, F> ⓘ
Result::Ok value with the provided closure. Result::Err
values are unchanged. Read moreSource§fn merge<J>(
    self,
    other: J,
) -> MergeBy<Self, <J as IntoIterator>::IntoIter, MergeLte> ⓘ
 
fn merge<J>( self, other: J, ) -> MergeBy<Self, <J as IntoIterator>::IntoIter, MergeLte> ⓘ
Source§fn merge_by<J, F>(
    self,
    other: J,
    is_first: F,
) -> MergeBy<Self, <J as IntoIterator>::IntoIter, F> ⓘ
 
fn merge_by<J, F>( self, other: J, is_first: F, ) -> MergeBy<Self, <J as IntoIterator>::IntoIter, F> ⓘ
.merge() but allows for a custom ordering. Read moreSource§fn merge_join_by<J, F>(
    self,
    other: J,
    cmp_fn: F,
) -> MergeJoinBy<Self, <J as IntoIterator>::IntoIter, F> ⓘ
 
fn merge_join_by<J, F>( self, other: J, cmp_fn: F, ) -> MergeJoinBy<Self, <J as IntoIterator>::IntoIter, F> ⓘ
Source§fn cartesian_product<J>(
    self,
    other: J,
) -> Product<Self, <J as IntoIterator>::IntoIter> ⓘ
 
fn cartesian_product<J>( self, other: J, ) -> Product<Self, <J as IntoIterator>::IntoIter> ⓘ
self and J. Read moreSource§fn coalesce<F>(self, f: F) -> CoalesceBy<Self, F, Self::Item>
 
fn coalesce<F>(self, f: F) -> CoalesceBy<Self, F, Self::Item>
Source§fn dedup(self) -> CoalesceBy<Self, DedupPred2CoalescePred<DedupEq>, Self::Item>
 
fn dedup(self) -> CoalesceBy<Self, DedupPred2CoalescePred<DedupEq>, Self::Item>
Source§fn dedup_by<Cmp>(
    self,
    cmp: Cmp,
) -> CoalesceBy<Self, DedupPred2CoalescePred<Cmp>, Self::Item>
 
fn dedup_by<Cmp>( self, cmp: Cmp, ) -> CoalesceBy<Self, DedupPred2CoalescePred<Cmp>, Self::Item>
Source§fn dedup_with_count(
    self,
) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<DedupEq>, (usize, Self::Item)>where
    Self: Sized,
 
fn dedup_with_count(
    self,
) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<DedupEq>, (usize, Self::Item)>where
    Self: Sized,
Source§fn dedup_by_with_count<Cmp>(
    self,
    cmp: Cmp,
) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<Cmp>, (usize, Self::Item)>
 
fn dedup_by_with_count<Cmp>( self, cmp: Cmp, ) -> CoalesceBy<Self, DedupPredWithCount2CoalescePred<Cmp>, (usize, Self::Item)>
Source§fn peeking_take_while<F>(&mut self, accept: F) -> PeekingTakeWhile<'_, Self, F> ⓘ
 
fn peeking_take_while<F>(&mut self, accept: F) -> PeekingTakeWhile<'_, Self, F> ⓘ
accept returns true. Read moreSource§fn take_while_ref<F>(&mut self, accept: F) -> TakeWhileRef<'_, Self, F> ⓘ
 
fn take_while_ref<F>(&mut self, accept: F) -> TakeWhileRef<'_, Self, F> ⓘ
Clone-able iterator
to only pick off elements while the predicate accept returns true. Read moreSource§fn while_some<A>(self) -> WhileSome<Self> ⓘ
 
fn while_some<A>(self) -> WhileSome<Self> ⓘ
Option<A> iterator elements
and produces A. Stops on the first None encountered. Read moreSource§fn tuple_combinations<T>(self) -> TupleCombinations<Self, T> ⓘ
 
fn tuple_combinations<T>(self) -> TupleCombinations<Self, T> ⓘ
Source§fn pad_using<F>(self, min: usize, f: F) -> PadUsing<Self, F> ⓘ
 
fn pad_using<F>(self, min: usize, f: F) -> PadUsing<Self, F> ⓘ
min by filling missing elements using a closure f. Read moreSource§fn with_position(self) -> WithPosition<Self> ⓘwhere
    Self: Sized,
 
fn with_position(self) -> WithPosition<Self> ⓘwhere
    Self: Sized,
Position to
ease special-case handling of the first or last elements. Read moreSource§fn positions<P>(self, predicate: P) -> Positions<Self, P> ⓘ
 
fn positions<P>(self, predicate: P) -> Positions<Self, P> ⓘ
Source§fn update<F>(self, updater: F) -> Update<Self, F> ⓘ
 
fn update<F>(self, updater: F) -> Update<Self, F> ⓘ
Source§fn next_tuple<T>(&mut self) -> Option<T>
 
fn next_tuple<T>(&mut self) -> Option<T>
Source§fn collect_tuple<T>(self) -> Option<T>
 
fn collect_tuple<T>(self) -> Option<T>
Source§fn find_position<P>(&mut self, pred: P) -> Option<(usize, Self::Item)>
 
fn find_position<P>(&mut self, pred: P) -> Option<(usize, Self::Item)>
Source§fn dropping(self, n: usize) -> Selfwhere
    Self: Sized,
 
fn dropping(self, n: usize) -> Selfwhere
    Self: Sized,
n elements from the iterator eagerly,
and return the same iterator again. Read moreSource§fn dropping_back(self, n: usize) -> Selfwhere
    Self: Sized + DoubleEndedIterator,
 
fn dropping_back(self, n: usize) -> Selfwhere
    Self: Sized + DoubleEndedIterator,
n elements from the iterator eagerly,
and return the same iterator again. Read moreSource§fn foreach<F>(self, f: F)
 
fn foreach<F>(self, f: F)
f eagerly on each element of the iterator. Read moreSource§fn concat(self) -> Self::Item
 
fn concat(self) -> Self::Item
Extend. Read moreSource§fn set_from<'a, A, J>(&mut self, from: J) -> usize
 
fn set_from<'a, A, J>(&mut self, from: J) -> usize
self from the from iterator,
stopping at the shortest of the two iterators. Read moreSource§fn format(self, sep: &str) -> Format<'_, Self>where
    Self: Sized,
 
fn format(self, sep: &str) -> Format<'_, Self>where
    Self: Sized,
sep. Read moreSource§fn format_with<F>(self, sep: &str, format: F) -> FormatWith<'_, Self, F>
 
fn format_with<F>(self, sep: &str, format: F) -> FormatWith<'_, Self, F>
sep. Read moreSource§fn fold_results<A, E, B, F>(&mut self, start: B, f: F) -> Result<B, E>
 
fn fold_results<A, E, B, F>(&mut self, start: B, f: F) -> Result<B, E>
.fold_ok().Source§fn fold_ok<A, E, B, F>(&mut self, start: B, f: F) -> Result<B, E>
 
fn fold_ok<A, E, B, F>(&mut self, start: B, f: F) -> Result<B, E>
Result values from an iterator. Read moreSource§fn fold_options<A, B, F>(&mut self, start: B, f: F) -> Option<B>
 
fn fold_options<A, B, F>(&mut self, start: B, f: F) -> Option<B>
Option values from an iterator. Read moreSource§fn fold1<F>(self, f: F) -> Option<Self::Item>
 
fn fold1<F>(self, f: F) -> Option<Self::Item>
Source§fn tree_fold1<F>(self, f: F) -> Option<Self::Item>
 
fn tree_fold1<F>(self, f: F) -> Option<Self::Item>
Source§fn fold_while<B, F>(&mut self, init: B, f: F) -> FoldWhile<B>
 
fn fold_while<B, F>(&mut self, init: B, f: F) -> FoldWhile<B>
Source§fn sum1<S>(self) -> Option<S>
 
fn sum1<S>(self) -> Option<S>
Source§fn product1<P>(self) -> Option<P>
 
fn product1<P>(self) -> Option<P>
Source§fn partition_map<A, B, F, L, R>(self, predicate: F) -> (A, B)
 
fn partition_map<A, B, F, L, R>(self, predicate: F) -> (A, B)
Iterator::partition, each partition may
have a distinct type. Read more