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())
|
||||
}
|
||||
|
||||
pub fn into_getter(self, store: &Store) -> GetIter {
|
||||
GetIter(self.0, store)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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 {
|
||||
|
|
Loading…
Reference in a new issue