use std::fs::File;
use std::io;
pub trait BufferedReaderWrapper: io::Read + io::Seek + Send {
fn seek_relative(&mut self, offset: i64) -> io::Result<()>;
}
impl BufferedReaderWrapper for io::BufReader<File> {
#[inline]
fn seek_relative(&mut self, offset: i64) -> io::Result<()> {
self.seek_relative(offset)
}
}
impl<T> BufferedReaderWrapper for &mut T
where
T: BufferedReaderWrapper + std::marker::Sync,
{
#[inline]
fn seek_relative(&mut self, offset: i64) -> io::Result<()> {
(*self).seek_relative(offset)
}
}
impl<T> BufferedReaderWrapper for Box<T>
where
T: BufferedReaderWrapper + std::marker::Sync,
{
#[inline]
fn seek_relative(&mut self, offset: i64) -> io::Result<()> {
(**self).seek_relative(offset)
}
}