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) -> Zip<Self, F> { ... }
fn bfs_iter(self) -> BfsIter<Self> { ... }
fn dfs_preorder_iter(self) -> DfsPreorderIter<Self> { ... }
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

Required Methods

Consume this visitor, and produce the element it was pointing to along with it's children visitors.

Provided Methods

Combine two tree visitors.

Provides an iterator that returns each element in bfs order. A callback version is not provided because a queue would still need to be used, So it wouldnt be able to take advantage of the stack anyway.

Provides a dfs preorder iterator. Unlike the callback version, This one relies on dynamic allocation for its queue.

Calls the closure in dfs preorder (left,right,root). Takes advantage of the callstack to do dfs.

Calls the closure in dfs postorder (right,left,root). Takes advantage of the callstack to do dfs.

Implementors