Trait traverse::Traversal
[−]
[src]
pub trait Traversal: Sized { type Item; fn foreach<F>(self, _: F)
where
F: FnMut(Self::Item) -> bool; fn run<F>(self, f: F)
where
F: FnMut(Self::Item), { ... } fn size_hint(&self) -> (usize, Option<usize>) { ... } fn map<F, O>(self, f: F) -> Map<Self, F>
where
F: FnMut(Self::Item) -> O, { ... } fn filter<F>(self, pred: F) -> Filter<Self, F>
where
F: FnMut(&Self::Item) -> bool, { ... } fn filter_map<F, O>(self, pred: F) -> FilterMap<Self, F>
where
F: FnMut(Self::Item) -> Option<O>, { ... } fn enumerate(self) -> Enumerate<Self> { ... } fn skip(self, n: usize) -> Skip<Self> { ... } fn take(self, n: usize) -> Take<Self> { ... } fn skip_while<F>(self, pred: F) -> SkipWhile<Self, F>
where
F: FnMut(&Self::Item) -> bool, { ... } fn take_while<F>(self, pred: F) -> TakeWhile<Self, F>
where
F: FnMut(&Self::Item) -> bool, { ... } fn inspect<F>(self, f: F) -> Inspect<Self, F>
where
F: FnMut(&Self::Item), { ... } fn flat_map<A, U, F>(self, f: F) -> FlatMap<Self, F>
where
U: Traversal<Item = A>,
F: FnMut(Self::Item) -> U, { ... } fn chain<O>(self, other: O) -> Chain<Self, O>
where
O: Traversal<Item = Self::Item>, { ... } fn count(self) -> usize { ... } fn cloned(self) -> Cloned<Self> { ... } fn collect<D>(self) -> D
where
D: FromTraversal<Self::Item>, { ... } }
An iterator that runs all at once
Associated Types
type Item
Required Methods
fn foreach<F>(self, _: F) where
F: FnMut(Self::Item) -> bool,
F: FnMut(Self::Item) -> bool,
Run this Iterator using the provided closure.
Return true from the closure to end the iteration.
Provided Methods
fn run<F>(self, f: F) where
F: FnMut(Self::Item),
F: FnMut(Self::Item),
Run this Iterator using the provided closure.
This is a utility method for non-cancelling iterations.
fn size_hint(&self) -> (usize, Option<usize>)
fn map<F, O>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> O,
F: FnMut(Self::Item) -> O,
fn filter<F>(self, pred: F) -> Filter<Self, F> where
F: FnMut(&Self::Item) -> bool,
F: FnMut(&Self::Item) -> bool,
fn filter_map<F, O>(self, pred: F) -> FilterMap<Self, F> where
F: FnMut(Self::Item) -> Option<O>,
F: FnMut(Self::Item) -> Option<O>,
fn enumerate(self) -> Enumerate<Self>
fn skip(self, n: usize) -> Skip<Self>
fn take(self, n: usize) -> Take<Self>
fn skip_while<F>(self, pred: F) -> SkipWhile<Self, F> where
F: FnMut(&Self::Item) -> bool,
F: FnMut(&Self::Item) -> bool,
fn take_while<F>(self, pred: F) -> TakeWhile<Self, F> where
F: FnMut(&Self::Item) -> bool,
F: FnMut(&Self::Item) -> bool,
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item),
F: FnMut(&Self::Item),
fn flat_map<A, U, F>(self, f: F) -> FlatMap<Self, F> where
U: Traversal<Item = A>,
F: FnMut(Self::Item) -> U,
U: Traversal<Item = A>,
F: FnMut(Self::Item) -> U,
fn chain<O>(self, other: O) -> Chain<Self, O> where
O: Traversal<Item = Self::Item>,
O: Traversal<Item = Self::Item>,
fn count(self) -> usize
fn cloned(self) -> Cloned<Self>
fn collect<D>(self) -> D where
D: FromTraversal<Self::Item>,
D: FromTraversal<Self::Item>,
Implementors
impl<I: Traversal, O, F: FnMut(I::Item) -> O> Traversal for Map<I, F>
impl<I: Traversal, F: FnMut(&I::Item) -> bool> Traversal for Filter<I, F>
impl<O, I: Traversal, F: FnMut(I::Item) -> Option<O>> Traversal for FilterMap<I, F>
impl<I: Traversal> Traversal for Enumerate<I>
impl<I: Traversal> Traversal for Skip<I>
impl<I: Traversal> Traversal for Take<I>
impl<I: Traversal, F: FnMut(&I::Item) -> bool> Traversal for SkipWhile<I, F>
impl<I: Traversal, F: FnMut(&I::Item) -> bool> Traversal for TakeWhile<I, F>
impl<I: Traversal, F: FnMut(&I::Item)> Traversal for Inspect<I, F>
impl<T, I: Traversal<Item = T>, O: Traversal<Item = T>> Traversal for Chain<I, O>
impl<I: Traversal, O: Traversal, F: FnMut(I::Item) -> O> Traversal for FlatMap<I, F>
impl<I: Traversal> Traversal for Cloned<I> where
I::Item: Deref,
<I::Item as Deref>::Target: Clone,impl<A: Add<Output = A> + Clone> Traversal for Counter<A>
impl<A: PrimInt> Traversal for Range<A>
impl<A: PrimInt> Traversal for RangeInclusive<A>
impl<A: PrimInt> Traversal for RangeStep<A>
impl<A: PrimInt> Traversal for RangeStepInclusive<A>
impl<A: Clone> Traversal for Repeat<A>
impl<A, I> Traversal for Iterate<A, I> where
A: Clone,
I: FnMut(A) -> A,impl<'a, T> Traversal for &'a [T]
impl<'a, T> Traversal for &'a mut [T]
impl<I: Iterator> Traversal for Internal<I>