netvl / xml-rs

An XML library in Rust
MIT License
461 stars 113 forks source link

Implement the position trait for the Events Iterator #209

Open jose-pr opened 3 years ago

jose-pr commented 3 years ago

I would like to utilize the position from the events iterator without having to consume it to get the reader.

I imagine this is all it would take.

impl<R: Read> Position for Events<R>
{
    fn position(&self) -> xml::common::TextPosition {
        self.reader.position()
    }
}

or have the option to call the EventReader by reference just like it is possible for the source.

impl<R: Read> Events<R> {
    /// Unwraps the iterator, returning the internal `EventReader`.
    #[inline]
    pub fn into_inner(self) -> EventReader<R> {
        self.reader
    }
   pub fn reader(&self) -> &EventReader<R> { &self.reader }
   pub fn reader_mut(&mut self) -> &mut EventReader<R> { &mut self.reader }
   pub fn source(&self) -> &R { &self.reader.source }
   pub fn source_mut(&mut self) -> &mut R { &mut self.reader.source }

}