pub struct Inspect<I, F> { /* private fields */ }Expand description
A lending iterator that calls a function with a reference to each element before yielding it.
This struct is created by the inspect method on LendingIterator. See
its documentation for more.
Trait Implementations§
Source§impl<I, F> LendingIterator for Inspect<I, F>
impl<I, F> LendingIterator for Inspect<I, F>
Source§type Item<'a> = <I as LendingIterator>::Item<'a>
where
Self: 'a
type Item<'a> = <I as LendingIterator>::Item<'a> where Self: 'a
The type of the elements being iterated over.
Source§fn next(&mut self) -> Option<Self::Item<'_>>
fn next(&mut self) -> Option<Self::Item<'_>>
Advances the lending iterator and returns the next value. Read more
Source§fn size_hint(&self) -> (usize, Option<usize>)
fn size_hint(&self) -> (usize, Option<usize>)
Returns the bounds on the remaining length of the iterator. Read more
Source§fn count(self) -> usizewhere
Self: Sized,
fn count(self) -> usizewhere
Self: Sized,
Returns the number of items in the lending iterator. Read more
Source§fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>
fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>
Advances the lending iterator by
n elements. Read moreSource§fn nth(&mut self, n: usize) -> Option<Self::Item<'_>>
fn nth(&mut self, n: usize) -> Option<Self::Item<'_>>
Returns the
nth element of the lending iterator. Read moreSource§fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
Creates a lending iterator starting at the same point, but stepping by
the given amount at each iteration. Read more
Source§fn take(self, n: usize) -> Take<Self>where
Self: Sized,
fn take(self, n: usize) -> Take<Self>where
Self: Sized,
Creates a lending iterator that lends the first
n elements, or fewer
if the underlying iterator ends sooner. Read moreSource§fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
Creates a lending iterator that lends items matching a predicate. Read more
Source§fn chain<I>(self, other: I) -> Chain<Self, I>
fn chain<I>(self, other: I) -> Chain<Self, I>
Takes two lending iterators and creates a new lending iterator over both in sequence. Read more
Source§fn zip<I>(self, other: I) -> Zip<Self, I>where
Self: Sized,
I: LendingIterator,
fn zip<I>(self, other: I) -> Zip<Self, I>where
Self: Sized,
I: LendingIterator,
‘Zips up’ two lending iterators into a single lending iterator of pairs.
Source§fn map<F>(self, f: F) -> Map<Self, F>
fn map<F>(self, f: F) -> Map<Self, F>
Takes a closure and creates a lending iterator which calls that closure on each
element. Read more
Source§fn filter<P>(self, predicate: P) -> Filter<Self, P>
fn filter<P>(self, predicate: P) -> Filter<Self, P>
Creates a lending iterator which uses a closure to determine if an element
should be yielded. Read more
Source§fn filter_map<F>(self, f: F) -> FilterMap<Self, F>where
Self: Sized,
F: for<'a> SingleArgFnMut<Self::Item<'a>>,
for<'a> <F as SingleArgFnOnce<Self::Item<'a>>>::Output: OptionTrait,
fn filter_map<F>(self, f: F) -> FilterMap<Self, F>where
Self: Sized,
F: for<'a> SingleArgFnMut<Self::Item<'a>>,
for<'a> <F as SingleArgFnOnce<Self::Item<'a>>>::Output: OptionTrait,
Creates a lending iterator that both filters and maps. Read more
Source§fn fold<B, F>(self, init: B, f: F) -> B
fn fold<B, F>(self, init: B, f: F) -> B
Folds every element into an accumulator by applying an operation,
returning the final result. Read more
Source§fn copied<T>(self) -> Copied<Self>
fn copied<T>(self) -> Copied<Self>
Creates a lending iterator which copies all of its elements. Read more
Source§fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
Creates a lending iterator which gives the current iteration count as well as the next value.
Source§fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
Creates a lending iterator that skips over the first
n elements of self.Source§fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
Creates a lending iterator that rejects elements while
predicate returns true.Source§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Creates a lending iterator that yields the current element unchanged,
while calling a provided function with a reference to that element. Read more
Source§fn scan<St, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where
Self: Sized,
fn scan<St, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where
Self: Sized,
Creates a lending iterator that yields elements transformed by a stateful closure. Read more
Source§fn map_while<F>(self, f: F) -> MapWhile<Self, F>where
Self: Sized,
F: for<'a> SingleArgFnMut<Self::Item<'a>>,
for<'a> <F as SingleArgFnOnce<Self::Item<'a>>>::Output: OptionTrait,
fn map_while<F>(self, f: F) -> MapWhile<Self, F>where
Self: Sized,
F: for<'a> SingleArgFnMut<Self::Item<'a>>,
for<'a> <F as SingleArgFnOnce<Self::Item<'a>>>::Output: OptionTrait,
Creates a lending iterator that yields elements while the predicate returns
Some. Read moreSource§fn fuse(self) -> Fuse<Self>where
Self: Sized,
fn fuse(self) -> Fuse<Self>where
Self: Sized,
Creates a lending iterator that yields
None forever after the
underlying iterator yields None once. Read moreSource§fn cycle(self) -> Cycle<Self>
fn cycle(self) -> Cycle<Self>
Creates a lending iterator that repeats elements endlessly by cloning the iterator. Read more
Source§fn all<P>(&mut self, predicate: P) -> bool
fn all<P>(&mut self, predicate: P) -> bool
Tests if every element of the iterator matches a predicate.
Source§fn any<P>(&mut self, predicate: P) -> bool
fn any<P>(&mut self, predicate: P) -> bool
Tests if any element of the iterator matches a predicate.
Source§fn is_partitioned<P>(self, predicate: P) -> bool
fn is_partitioned<P>(self, predicate: P) -> bool
Checks 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.Source§fn find<P>(&mut self, predicate: P) -> Option<Self::Item<'_>>
fn find<P>(&mut self, predicate: P) -> Option<Self::Item<'_>>
Searches for an element of an iterator that satisfies a predicate.
Source§fn find_map<B, F>(&mut self, f: F) -> Option<B>
fn find_map<B, F>(&mut self, f: F) -> Option<B>
Applies function to the elements of iterator and returns
the first non-none result.
Source§fn position<P>(&mut self, predicate: P) -> Option<usize>
fn position<P>(&mut self, predicate: P) -> Option<usize>
Searches for an element in an iterator, returning its index.
Source§fn cmp<I>(self, other: I) -> Orderingwhere
I: for<'a> LendingIterator<Item<'a> = Self::Item<'a>>,
for<'a> Self::Item<'a>: Ord,
Self: Sized,
fn cmp<I>(self, other: I) -> Orderingwhere
I: for<'a> LendingIterator<Item<'a> = Self::Item<'a>>,
for<'a> Self::Item<'a>: Ord,
Self: Sized,
Lexicographically compares the elements of this
Iterator with those
of another.Source§fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
Lexicographically compares the elements of this
Iterator with those
of another with respect to the specified comparison function.Source§fn partial_cmp<I>(self, other: I) -> Option<Ordering>
fn partial_cmp<I>(self, other: I) -> Option<Ordering>
Lexicographically compares the
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.Source§fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
Lexicographically compares the elements of this
Iterator with those
of another with respect to the specified comparison function.Source§fn eq<I>(self, other: I) -> bool
fn eq<I>(self, other: I) -> bool
Determines if the elements of this
Iterator are equal to those of
another.Source§fn eq_by<I, F>(self, other: I, eq: F) -> bool
fn eq_by<I, F>(self, other: I, eq: F) -> bool
Determines if the elements of this
Iterator are equal to those of
another with respect to the specified equality function.Source§fn ne<I>(self, other: I) -> bool
fn ne<I>(self, other: I) -> bool
Determines if the elements of this
Iterator are not equal to those of
another.Source§fn lt<I>(self, other: I) -> bool
fn lt<I>(self, other: I) -> bool
Determines if the elements of this
Iterator are lexicographically
less than those of another.Source§fn le<I>(self, other: I) -> bool
fn le<I>(self, other: I) -> bool
Determines if the elements of this
Iterator are lexicographically
less or equal to those of another.Source§fn gt<I>(self, other: I) -> bool
fn gt<I>(self, other: I) -> bool
Determines if the elements of this
Iterator are lexicographically
greater than those of another.Source§fn ge<I>(self, other: I) -> bool
fn ge<I>(self, other: I) -> bool
Determines if the elements of this
Iterator are lexicographically
greater or equal to those of another.Source§fn reduce<B, F>(self, f: F) -> Option<B>
fn reduce<B, F>(self, f: F) -> Option<B>
Reduces the elements to a single one, by repeatedly applying a reducing
operation. Read more
Source§fn try_fold<B, F, E>(&mut self, init: B, f: F) -> Result<B, E>
fn try_fold<B, F, E>(&mut self, init: B, f: F) -> Result<B, E>
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
Source§fn try_for_each<F, E>(&mut self, f: F) -> Result<(), E>
fn try_for_each<F, E>(&mut self, f: F) -> Result<(), E>
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
Source§fn try_find<F, R>(&mut self, f: F) -> Result<Option<Self::Item<'_>>, R>
fn try_find<F, R>(&mut self, f: F) -> Result<Option<Self::Item<'_>>, R>
Applies function to the elements of iterator and returns
the first true result or the first error. Read more
Source§fn try_reduce<B, F, E>(self, f: F) -> Result<Option<B>, E>
fn try_reduce<B, F, E>(self, f: F) -> Result<Option<B>, E>
Reduces 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
Source§fn max_by<T, F>(self, compare: F) -> Option<T>
fn max_by<T, F>(self, compare: F) -> Option<T>
Returns the element that gives the maximum value from the specified function. Read more
Source§fn min_by<T, F>(self, compare: F) -> Option<T>
fn min_by<T, F>(self, compare: F) -> Option<T>
Returns the element that gives the minimum value from the specified function. Read more
Source§fn max_by_key<T, B, F>(self, f: F) -> Option<T>
fn max_by_key<T, B, F>(self, f: F) -> Option<T>
Returns the element that gives the maximum value with respect to the
specified key function. Read more
Source§fn min_by_key<T, B, F>(self, f: F) -> Option<T>
fn min_by_key<T, B, F>(self, f: F) -> Option<T>
Returns the element that gives the minimum value with respect to the
specified key function. Read more
Auto Trait Implementations§
impl<I, F> Freeze for Inspect<I, F>
impl<I, F> RefUnwindSafe for Inspect<I, F>where
I: RefUnwindSafe,
F: RefUnwindSafe,
impl<I, F> Send for Inspect<I, F>
impl<I, F> Sync for Inspect<I, F>
impl<I, F> Unpin for Inspect<I, F>
impl<I, F> UnwindSafe for Inspect<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
Mutably borrows from an owned value. Read more