Trait compt::CTreeIterator
[−]
[src]
pub trait CTreeIterator: Sized { type Item; fn next(self) -> (Self::Item, Option<(Self, Self)>); fn zip<F: CTreeIterator>(self, f: F) -> ZippedDownTMut<Self, F> { ... } fn dfs_preorder<F: FnMut(Self::Item)>(self, func: F) { ... } fn dfs_postorder<F: FnMut(Self::Item)>(self, func: F) { ... } }
All binary tree visitors implement this.
Associated Types
type Item
Required Methods
fn next(self) -> (Self::Item, Option<(Self, Self)>)
Consume this visitor, and produce the element it was pointing to along with it's children visitors.
Provided Methods
fn zip<F: CTreeIterator>(self, f: F) -> ZippedDownTMut<Self, F>
Combine two tree visitors.
fn dfs_preorder<F: FnMut(Self::Item)>(self, func: F)
Calls the closure in dfs preorder (left,right,root).
fn dfs_postorder<F: FnMut(Self::Item)>(self, func: F)
Calls the closure in dfs postorder (right,left,root).
Implementors
impl<'a, T: 'a> CTreeIterator for Wrap<'a, T> type Item = (LevelDesc, &'a mut T);
impl<'a, T: 'a> CTreeIterator for DownTMut<'a, T> type Item = &'a mut T;
impl<'a, T: 'a> CTreeIterator for DownT<'a, T> type Item = &'a T;
impl<T1: CTreeIterator, T2: CTreeIterator> CTreeIterator for ZippedDownTMut<T1, T2> type Item = (T1::Item, T2::Item);
impl<T: CTreeIterator> CTreeIterator for LevelIter<T> type Item = (LevelDesc, T::Item);