[−][src]Trait makepad_internal_iter::InternalIterator
A trait for internal iterators. An internal iterator differs from a normal iterator in that its
iteration is controlled internally by the iterator itself, instead of externally by the calling
code. This means that instead of returning a single item on each call to next
, internal
iterators call a closure for each item on a single call to for_each
. This allows internal
operators to be implemented recursively, something that is not possible with normal iterators.
Associated Types
type Item
Required methods
fn for_each<F>(self, f: &mut F) -> bool where
F: FnMut(Self::Item) -> bool,
F: FnMut(Self::Item) -> bool,
Calls f
with each item of self
.
If f
returns false
, iteration is aborted. If iteration was aborted, this function
returns false
.
Provided methods
fn collect<F>(self) -> F where
Self: Sized,
F: FromInternalIterator<Self::Item>,
Self: Sized,
F: FromInternalIterator<Self::Item>,
Transforms self
into a collection.
fn map<R, F>(self, f: F) -> Map<Self, F> where
Self: Sized,
F: FnMut(Self::Item) -> R,
Self: Sized,
F: FnMut(Self::Item) -> R,
Returns an internal iterator that applies f
to each item of self
.