rpb 0.1.5

A simple implementation of progress bar for rust
Documentation
use crate::bar::Bar;
use std::io;

#[derive(Debug)]
pub struct BarIter<T> {
    pub it: T,
    pub bar: Bar,
}

impl<R: io::Read> io::Read for BarIter<R> {
    fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
        let n = self.it.read(buf)?;
        self.bar.add(n);
        Ok(n)
    }
}

impl<W: io::Write> io::Write for BarIter<W> {
    fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
        let n = self.it.write(buf)?;
        self.bar.add(n);
        Ok(n)
    }

    fn flush(&mut self) -> io::Result<()> {
        Ok(())
    }

    fn write_all(&mut self, buf: &[u8]) -> io::Result<()> {
        let n = self.it.write(buf)?;
        self.bar.add(n);
        Ok(())
    }
}