imdl 0.1.16

📦 A 40' shipping container for the internet
Documentation
use crate::common::*;

pub(crate) trait InputStream {
  fn buf_read<'a>(&'a mut self) -> Box<dyn BufRead + 'a>;
}

impl InputStream for io::Stdin {
  fn buf_read<'a>(&'a mut self) -> Box<dyn BufRead + 'a> {
    Box::new(self.lock())
  }
}

impl InputStream for io::Empty {
  fn buf_read<'a>(&'a mut self) -> Box<dyn BufRead + 'a> {
    Box::new(BufReader::new(self))
  }
}

impl InputStream for Cursor<Vec<u8>> {
  fn buf_read<'a>(&'a mut self) -> Box<dyn BufRead + 'a> {
    Box::new(BufReader::new(self))
  }
}