kutil_std/foster/
iterator.rs1use super::{super::iter::*, foster::*};
2
3pub type FosterIterator<ItemT, OwnedItemT, FosteredItemT, OwnedIteratorT, FosteredIteratorT> = Foster<
11 ConvertingIterator<ItemT, OwnedIteratorT, OwnedItemT>,
12 ConvertingIterator<ItemT, FosteredIteratorT, FosteredItemT>,
13>;
14
15impl<ItemT, OwnedItemT, FosteredItemT, OwnedIteratorT, FosteredIteratorT> Iterator
16 for FosterIterator<ItemT, OwnedItemT, FosteredItemT, OwnedIteratorT, FosteredIteratorT>
17where
18 OwnedIteratorT: Iterator<Item = OwnedItemT>,
19 FosteredIteratorT: Iterator<Item = FosteredItemT>,
20{
21 type Item = ItemT;
22
23 fn next(&mut self) -> Option<Self::Item> {
24 match self {
25 Self::Owned(iterator) => iterator.next(),
26 Self::Fostered(iterator) => iterator.next(),
27 }
28 }
29}