Implement an iterator over the tree.

master
Tom Alexander 4 years ago
parent 645b251f13
commit 1be60511ed
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE

@ -37,3 +37,15 @@ impl<'a, C: IntoContextElement> BreadcrumbTree for BreadcrumbTreeNode<'a, C> {
self.parent
}
}
struct BreadcrumbTreeIterator<'a>(Option<&'a dyn BreadcrumbTree>);
impl<'a> Iterator for BreadcrumbTreeIterator<'a> {
type Item = &'a dyn IntoContextElement;
fn next(&mut self) -> Option<Self::Item> {
let ret = self.0;
self.0 = self.0.map(|node| node.get_parent()).flatten();
ret.map(|node| node.get_ice())
}
}

Loading…
Cancel
Save