Trait iterator_ext::IteratorExt [−][src]
pub trait IteratorExt {
fn try_scan<St, F, T, U, E>(self, init: St, f: F) -> TryScan<Self, St, F>ⓘ
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(&mut St, T) -> Result<Option<U>, E>,
{ ... }
fn try_flat_map<F, T, U, V, E>(
self,
f: F
) -> TryFlatMap<Self, F, U::IntoIter>ⓘNotable traits for TryFlatMap<I, F, J>impl<I, F, J, T, U, V, E> Iterator for TryFlatMap<I, F, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = V>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = V, IntoIter = J>, type Item = Result<V, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = V>,
{ ... }
fn try_flatten<T, U, E>(self) -> TryFlatten<Self, T::IntoIter>ⓘNotable traits for TryFlatten<I, J>impl<I, J, T, U, E> Iterator for TryFlatten<I, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = U>,
T: IntoIterator<Item = U, IntoIter = J>, type Item = Result<U, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
T: IntoIterator<Item = U>,
{ ... }
fn try_flat_map_results<F, T, U, V, E>(
self,
f: F
) -> TryFlatMapResults<Self, F, U::IntoIter>ⓘNotable traits for TryFlatMapResults<I, F, J>impl<I, F, J, T, U, V, E> Iterator for TryFlatMapResults<I, F, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = Result<V, E>>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = Result<V, E>, IntoIter = J>, type Item = Result<V, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = Result<V, E>>,
{ ... }
fn try_flatten_results<T, U, E>(
self
) -> TryFlattenResults<Self, T::IntoIter>ⓘNotable traits for TryFlattenResults<I, J>impl<I, J, T, U, E> Iterator for TryFlattenResults<I, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = Result<U, E>>,
T: IntoIterator<Item = Result<U, E>, IntoIter = J>, type Item = Result<U, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
T: IntoIterator<Item = Result<U, E>>,
{ ... }
fn try_filter<F, T, E>(self, f: F) -> TryFilter<Self, F>ⓘ
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(&T) -> Result<bool, E>,
{ ... }
fn try_filter_map<F, T, U, E>(self, f: F) -> TryFilterMap<Self, F>ⓘNotable traits for TryFilterMap<I, F>impl<I, T, U, E, F> Iterator for TryFilterMap<I, F> where
I: Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<Option<U>, E>, type Item = Result<U, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<Option<U>, E>,
{ ... }
fn map_err<F, Ein, Eout>(self, f: F) -> MapErr<Self, F>ⓘ
where
Self: Sized,
F: FnMut(Ein) -> Eout,
{ ... }
fn and_then<F, T, U, E>(self, f: F) -> AndThen<Self, F>ⓘ
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<U, E>,
{ ... }
}
Expand description
An extension trait to Iterator
Provided methods
fn try_flat_map<F, T, U, V, E>(self, f: F) -> TryFlatMap<Self, F, U::IntoIter>ⓘNotable traits for TryFlatMap<I, F, J>impl<I, F, J, T, U, V, E> Iterator for TryFlatMap<I, F, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = V>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = V, IntoIter = J>, type Item = Result<V, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = V>,
fn try_flat_map<F, T, U, V, E>(self, f: F) -> TryFlatMap<Self, F, U::IntoIter>ⓘNotable traits for TryFlatMap<I, F, J>impl<I, F, J, T, U, V, E> Iterator for TryFlatMap<I, F, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = V>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = V, IntoIter = J>, type Item = Result<V, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = V>,
Notable traits for TryFlatMap<I, F, J>
impl<I, F, J, T, U, V, E> Iterator for TryFlatMap<I, F, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = V>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = V, IntoIter = J>, type Item = Result<V, E>;
Creates a fallible iterator that works like map, but flattens nested structure.
fn try_flatten<T, U, E>(self) -> TryFlatten<Self, T::IntoIter>ⓘNotable traits for TryFlatten<I, J>impl<I, J, T, U, E> Iterator for TryFlatten<I, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = U>,
T: IntoIterator<Item = U, IntoIter = J>, type Item = Result<U, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
T: IntoIterator<Item = U>,
fn try_flatten<T, U, E>(self) -> TryFlatten<Self, T::IntoIter>ⓘNotable traits for TryFlatten<I, J>impl<I, J, T, U, E> Iterator for TryFlatten<I, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = U>,
T: IntoIterator<Item = U, IntoIter = J>, type Item = Result<U, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
T: IntoIterator<Item = U>,
Notable traits for TryFlatten<I, J>
impl<I, J, T, U, E> Iterator for TryFlatten<I, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = U>,
T: IntoIterator<Item = U, IntoIter = J>, type Item = Result<U, E>;
Creates a fallible iterator that flattens nested structure.
fn try_flat_map_results<F, T, U, V, E>(
self,
f: F
) -> TryFlatMapResults<Self, F, U::IntoIter>ⓘNotable traits for TryFlatMapResults<I, F, J>impl<I, F, J, T, U, V, E> Iterator for TryFlatMapResults<I, F, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = Result<V, E>>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = Result<V, E>, IntoIter = J>, type Item = Result<V, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = Result<V, E>>,
fn try_flat_map_results<F, T, U, V, E>(
self,
f: F
) -> TryFlatMapResults<Self, F, U::IntoIter>ⓘNotable traits for TryFlatMapResults<I, F, J>impl<I, F, J, T, U, V, E> Iterator for TryFlatMapResults<I, F, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = Result<V, E>>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = Result<V, E>, IntoIter = J>, type Item = Result<V, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = Result<V, E>>,
Notable traits for TryFlatMapResults<I, F, J>
impl<I, F, J, T, U, V, E> Iterator for TryFlatMapResults<I, F, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = Result<V, E>>,
F: FnMut(T) -> Result<U, E>,
U: IntoIterator<Item = Result<V, E>, IntoIter = J>, type Item = Result<V, E>;
Similar to try_flat_map, but flattens nested results.
fn try_flatten_results<T, U, E>(self) -> TryFlattenResults<Self, T::IntoIter>ⓘNotable traits for TryFlattenResults<I, J>impl<I, J, T, U, E> Iterator for TryFlattenResults<I, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = Result<U, E>>,
T: IntoIterator<Item = Result<U, E>, IntoIter = J>, type Item = Result<U, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
T: IntoIterator<Item = Result<U, E>>,
fn try_flatten_results<T, U, E>(self) -> TryFlattenResults<Self, T::IntoIter>ⓘNotable traits for TryFlattenResults<I, J>impl<I, J, T, U, E> Iterator for TryFlattenResults<I, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = Result<U, E>>,
T: IntoIterator<Item = Result<U, E>, IntoIter = J>, type Item = Result<U, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
T: IntoIterator<Item = Result<U, E>>,
Notable traits for TryFlattenResults<I, J>
impl<I, J, T, U, E> Iterator for TryFlattenResults<I, J> where
I: Iterator<Item = Result<T, E>>,
J: Iterator<Item = Result<U, E>>,
T: IntoIterator<Item = Result<U, E>, IntoIter = J>, type Item = Result<U, E>;
Similar to try_flatten, but flattens nested results.
Creates a fallible iterator that filters items.
fn try_filter_map<F, T, U, E>(self, f: F) -> TryFilterMap<Self, F>ⓘNotable traits for TryFilterMap<I, F>impl<I, T, U, E, F> Iterator for TryFilterMap<I, F> where
I: Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<Option<U>, E>, type Item = Result<U, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<Option<U>, E>,
fn try_filter_map<F, T, U, E>(self, f: F) -> TryFilterMap<Self, F>ⓘNotable traits for TryFilterMap<I, F>impl<I, T, U, E, F> Iterator for TryFilterMap<I, F> where
I: Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<Option<U>, E>, type Item = Result<U, E>;
where
Self: Sized + Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<Option<U>, E>,
Notable traits for TryFilterMap<I, F>
impl<I, T, U, E, F> Iterator for TryFilterMap<I, F> where
I: Iterator<Item = Result<T, E>>,
F: FnMut(T) -> Result<Option<U>, E>, type Item = Result<U, E>;
Creates a fallible iterator that both filters and maps.
Maps a Result<T, E>
to Result<T, F>
by applying a function to a contained Err value, leaving an Ok value untouched.