pub use std::io::prelude::*;
use std::io::{self, BufReader};
pub trait ReadExtra
where
Self: Read,
{
fn read_line_trim(&mut self) -> Result<String, io::Error> {
let mut buf = String::new();
let mut reader = BufReader::new(self);
reader.read_line(&mut buf)?;
Ok(buf.trim().to_owned())
}
fn read_everything(&mut self) -> Result<String, io::Error> {
let mut buf = String::new();
self.read_to_string(&mut buf)?;
Ok(buf)
}
}
impl<T: Read> ReadExtra for T {}