pub trait Walker<Context> {
type Item;
// Required method
fn walk_next(&mut self, context: Context) -> Option<Self::Item>;
// Provided method
fn iter(self, context: Context) -> WalkerIter<Self, Context> ⓘ
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.