pub trait IteratorExt: Iterator {
Show 25 methods
// Provided methods
fn all_unique(self) -> bool
where Self: Sized,
Self::Item: Eq + Hash + Ord { ... }
fn all_equal(self) -> bool
where Self: Sized,
Self::Item: Eq { ... }
fn array<const DIM: usize>(self) -> [Self::Item; DIM]
where Self: Sized,
Self::Item: Copy + Default { ... }
fn array_combinations<const DIM: usize>(
self
) -> ArrayCombinations<Self, DIM> ⓘ
where Self: Sized,
Self::Item: Clone { ... }
fn array_windows<const LEN: usize>(self) -> ArrayWindows<Self, LEN> ⓘ
where Self: Sized,
Self::Item: Clone { ... }
fn arrays<const LEN: usize>(self) -> Arrays<Self, LEN> ⓘ
where Self: Sized { ... }
fn cartesian_product<Other>(
self,
other: Other
) -> CartesianProduct<Self, Other> ⓘ
where Other: Clone + IntoIterator + Sized,
Self: Sized,
Self::Item: Clone { ... }
fn circular_array_windows<const LEN: usize>(
self
) -> CircularArrayWindows<Self, LEN> ⓘ
where Self: Sized,
Self::Item: Clone { ... }
fn dedup_consecutive(self) -> DedupConsecutive<Self> ⓘ
where Self: Sized,
Self::Item: PartialEq { ... }
fn exactly_one(self) -> Option<Self::Item>
where Self: Sized { ... }
fn flatten_ok<Item, Error>(self) -> FlattenOk<Self, Item, Error> ⓘ
where Item: IntoIterator,
Self: Iterator<Item = Result<Item, Error>> + Sized { ... }
fn fold_ok<FoldFn, In, Out, Error>(
self,
state: Out,
fold_fn: FoldFn
) -> Result<Out, Error>
where FoldFn: FnMut(Out, In) -> Out,
Self: Iterator<Item = Result<In, Error>> + Sized { ... }
fn map_ok<MapFn, In, Out, Error>(
self,
map_fn: MapFn
) -> MapOk<Self, MapFn, In, Out, Error> ⓘ
where Self: Iterator<Item = Result<In, Error>> + Sized,
MapFn: FnMut(In) -> Out { ... }
fn max_ok_by_key<Item, Error, Key, KeyFn>(
self,
key_fn: KeyFn
) -> Result<Option<Item>, Error>
where Key: Ord,
KeyFn: FnMut(&Item) -> Key,
Self: Sized + Iterator<Item = Result<Item, Error>> { ... }
fn merge_consecutive<MergeFn>(
self,
merge_fn: MergeFn
) -> MergeConsecutive<Self, MergeFn> ⓘ
where MergeFn: FnMut(Self::Item, Self::Item) -> Result<Self::Item, (Self::Item, Self::Item)>,
Self: Sized { ... }
fn min_ok<Item, Error>(self) -> Result<Option<Item>, Error>
where Item: Ord,
Self: Sized + Iterator<Item = Result<Item, Error>> { ... }
fn min_max(self) -> Option<(Self::Item, Self::Item)>
where Self: Sized,
Self::Item: Clone + Ord { ... }
fn multipeek(self) -> MultiPeek<Self> ⓘ
where Self: Sized { ... }
fn sorted(self) -> VecIntoIter<Self::Item> ⓘ
where Self: Sized,
Self::Item: Ord { ... }
fn sorted_by_cached_key<Key, KeyFn>(
self,
key_fn: KeyFn
) -> VecIntoIter<Self::Item> ⓘ
where Self: Sized,
Key: Ord,
KeyFn: FnMut(&Self::Item) -> Key { ... }
fn sorted_by_key<Key, KeyFn>(self, key_fn: KeyFn) -> VecIntoIter<Self::Item> ⓘ
where Self: Sized,
Key: Ord,
KeyFn: FnMut(&Self::Item) -> Key { ... }
fn sorted_unique(self) -> VecIntoIter<Self::Item> ⓘ
where Self: Sized,
Self::Item: Ord { ... }
fn try_array<Item, Error, const DIM: usize>(
self
) -> Result<[Item; DIM], Error>
where Self: Sized + Iterator<Item = Result<Item, Error>>,
Item: Copy + Default { ... }
fn try_collect<In, Out, Error>(self) -> Result<Out, Error>
where Self: Iterator<Item = Result<In, Error>> + Sized,
Result<Out, Error>: FromIterator<Result<In, Error>> { ... }
fn while_some<Item>(self) -> WhileSome<Self> ⓘ
where Self: Sized + Iterator<Item = Option<Item>> { ... }
}