diff --git a/src/reader.rs b/src/reader.rs index 5e2eb0e..79c4bc4 100644 --- a/src/reader.rs +++ b/src/reader.rs @@ -250,3 +250,17 @@ impl<'buf> Reader<'buf> { self.data_buf.buf_read() } } + +impl<'a> Iterator for Reader<'a> { + type Item = NodeDefinition<'a>; + + fn next(&mut self) -> Option> { + match self.read_node_definition() { + Ok(v) => Some(v), + Err(e) => { + error!("Error reading node definition in `next()`: {}", e); + None + }, + } + } +}