pub trait Walker<Context> {
    type Item;

    fn walk_next(&mut self, context: Context) -> Option<Self::Item>;

    fn iter(self, context: Context) -> WalkerIter<Self, Context>Notable traits for WalkerIter<W, C>impl<W, C> Iterator for WalkerIter<W, C>where
    W: Walker<C>,
    C: Clone,
type Item = W::Item;

    where
        Self: Sized,
        Context: Clone
, { ... } }
Expand description

A walker is a traversal state, but where part of the traversal information is supplied manually to each next call.

This for example allows graph traversals that don’t hold a borrow of the graph they are traversing.

Required Associated Types

Required Methods

Advance to the next item

Provided Methods

Create an iterator out of the walker and given context.

Implementations on Foreign Types

Implementors