Added an iter function which I think will let me automatically make iterators without having to explicitly take a reference to the tree.

This commit is contained in:
Tom Alexander 2020-05-31 14:29:59 -04:00
parent bebedf56e4
commit 456da98bed
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE

View File

@ -17,6 +17,12 @@ enum BreadcrumbTreeNodeElement<'a, C: IntoContextElement> {
Borrowed(&'a C),
}
impl<'a, C: IntoContextElement> BreadcrumbTreeNode<'a, C> {
pub fn iter(&'a self) -> BreadcrumbTreeIterator<'a> {
BreadcrumbTreeIterator(Some(self))
}
}
impl<'a, C: IntoContextElement> Borrow<dyn IntoContextElement + 'a>
for BreadcrumbTreeNodeElement<'a, C>
{
@ -55,6 +61,6 @@ impl<'a, C: IntoContextElement> IntoIterator for &'a BreadcrumbTreeNode<'a, C> {
type IntoIter = BreadcrumbTreeIterator<'a>;
fn into_iter(self) -> BreadcrumbTreeIterator<'a> {
BreadcrumbTreeIterator(Some(self))
self.iter()
}
}