Implement an iterator over the tree.
This commit is contained in:
parent
645b251f13
commit
1be60511ed
@ -37,3 +37,15 @@ impl<'a, C: IntoContextElement> BreadcrumbTree for BreadcrumbTreeNode<'a, C> {
|
|||||||
self.parent
|
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…
x
Reference in New Issue
Block a user