Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
last: Some(0),
iter: memchr::Memchr::new(b'\n', buf),
} }
last: Some(0),
iter: memchr::Memchr::new(b'\n', buf),
} }
+
+ #[throws(AE)]
+ pub fn parse<T>(&mut self) -> Option<T>
+ where T: FromStr,
+ T::Err: std::error::Error + Sync + Send + 'static,
+ {
+ let s = if let Some(r) = self.next() { r? } else { return None };
+ Some(s.parse()?)
+ }
}
impl<'b> Iterator for MetadataFieldIterator<'b> {
}
impl<'b> Iterator for MetadataFieldIterator<'b> {