Revert "Remove GetIter"
This reverts commit a49522dc86770a741d61d548351ad69dfc56d1fa.
This commit is contained in:
parent
b8cd9c6efa
commit
31e3116b48
1 changed files with 30 additions and 0 deletions
|
@ -200,6 +200,10 @@ pub mod iter {
|
||||||
LinkIter(v.into_iter())
|
LinkIter(v.into_iter())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn into_getter(self, store: &Store) -> GetIter {
|
||||||
|
GetIter(self.0, store)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Iterator for LinkIter {
|
impl Iterator for LinkIter {
|
||||||
|
@ -225,6 +229,32 @@ pub mod iter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// An Iterator that `Store::get()`s the Entries from the store while consumed
|
||||||
|
pub struct GetIter<'a>(IntoIter<Link>, &'a Store);
|
||||||
|
|
||||||
|
impl<'a> GetIter<'a> {
|
||||||
|
pub fn new(i: IntoIter<Link>, store: &'a Store) -> GetIter<'a> {
|
||||||
|
GetIter(i, store)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn store(&self) -> &Store {
|
||||||
|
self.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a> Iterator for GetIter<'a> {
|
||||||
|
type Item = Result<FileLockEntry<'a>>;
|
||||||
|
|
||||||
|
fn next(&mut self) -> Option<Self::Item> {
|
||||||
|
self.0.next().and_then(|id| match self.1.get(id) {
|
||||||
|
Ok(None) => None,
|
||||||
|
Ok(Some(x)) => Some(Ok(x)),
|
||||||
|
Err(e) => Some(Err(e).map_err(From::from)),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl InternalLinker for Entry {
|
impl InternalLinker for Entry {
|
||||||
|
|
Loading…
Reference in a new issue