Struct GenericReader
pub struct GenericReader<'a>(/* private field */);
A wrapper around a type-erased trait object that implements Read and Seek.
Trait Implementations
impl BufRead for GenericReader<'_>
fn fill_buf(&mut self) -> Result<&[u8]>fn consume(&mut self, amt: usize)fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize>fn read_line(&mut self, buf: &mut String) -> Result<usize>
impl Read for GenericReader<'_>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>fn read_to_string(&mut self, buf: &mut String) -> Result<usize>fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
impl Seek for GenericReader<'_>
fn seek(&mut self, pos: SeekFrom) -> Result<u64>fn rewind(&mut self) -> Result<()>fn stream_position(&mut self) -> Result<u64>
Auto Trait Implementations
impl<'a> !RefUnwindSafe for GenericReader<'a>
impl<'a> !Send for GenericReader<'a>
impl<'a> !Sync for GenericReader<'a>
impl<'a> !UnwindSafe for GenericReader<'a>
impl<'a> Freeze for GenericReader<'a>
impl<'a> Unpin for GenericReader<'a>
impl<'a> UnsafeUnpin for GenericReader<'a>
Blanket Implementations
impl<R> ReadBytesExt for GenericReader<'a>
where
R: Read + ?Sized,
impl<R> ReadEndian<[f32]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [f32]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [f32]) -> Result<(), Error>
impl<R> ReadEndian<[f64]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [f64]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [f64]) -> Result<(), Error>
impl<R> ReadEndian<[i128]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [i128]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [i128]) -> Result<(), Error>
impl<R> ReadEndian<[i16]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [i16]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [i16]) -> Result<(), Error>
impl<R> ReadEndian<[i32]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [i32]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [i32]) -> Result<(), Error>
impl<R> ReadEndian<[i64]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [i64]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [i64]) -> Result<(), Error>
impl<R> ReadEndian<[i8]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [i8]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [i8]) -> Result<(), Error>
impl<R> ReadEndian<[u128]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [u128]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [u128]) -> Result<(), Error>
impl<R> ReadEndian<[u16]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [u16]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [u16]) -> Result<(), Error>
impl<R> ReadEndian<[u32]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [u32]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [u32]) -> Result<(), Error>
impl<R> ReadEndian<[u64]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [u64]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [u64]) -> Result<(), Error>
impl<R> ReadEndian<[u8]> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut [u8]) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut [u8]) -> Result<(), Error>
impl<R> ReadEndian<f32> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut f32) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut f32) -> Result<(), Error>
impl<R> ReadEndian<f64> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut f64) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut f64) -> Result<(), Error>
impl<R> ReadEndian<i128> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut i128) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut i128) -> Result<(), Error>
impl<R> ReadEndian<i16> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut i16) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut i16) -> Result<(), Error>
impl<R> ReadEndian<i32> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut i32) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut i32) -> Result<(), Error>
impl<R> ReadEndian<i64> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut i64) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut i64) -> Result<(), Error>
impl<R> ReadEndian<i8> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut i8) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut i8) -> Result<(), Error>
impl<R> ReadEndian<u128> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut u128) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut u128) -> Result<(), Error>
impl<R> ReadEndian<u16> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut u16) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut u16) -> Result<(), Error>
impl<R> ReadEndian<u32> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut u32) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut u32) -> Result<(), Error>
impl<R> ReadEndian<u64> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut u64) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut u64) -> Result<(), Error>
impl<R> ReadEndian<u8> for GenericReader<'a>
where
R: Read,
fn read_from_little_endian_into(&mut self, value: &mut u8) -> Result<(), Error>fn read_from_big_endian_into(&mut self, value: &mut u8) -> Result<(), Error>
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for GenericReader<'a>
where
ST: ?Sized,
DT: ?Sized,
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for GenericReader<'a>
where
ST: ?Sized,
DT: ?Sized,
impl<T> Any for GenericReader<'a>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for GenericReader<'a>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for GenericReader<'a>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for GenericReader<'a>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> IntoEither for GenericReader<'a>
impl<T> Pointable for GenericReader<'a>
const ALIGN: usize = _;type Init = T;unsafe fn init(init: <T as Pointable>::Init) -> usizeunsafe fn deref<'a>(ptr: usize) -> &'a Tunsafe fn deref_mut<'a>(ptr: usize) -> &'a mut Tunsafe fn drop(ptr: usize)
impl<T> Read<Exclusive, BecauseExclusive> for GenericReader<'a>
where
T: ?Sized,
impl<T> ZByteReaderTrait for GenericReader<'a>
where
T: BufRead + Seek,
fn read_byte_no_error(&mut self) -> u8fn read_exact_bytes(&mut self, buf: &mut [u8]) -> Result<(), ZByteIoError>fn read_bytes(&mut self, buf: &mut [u8]) -> Result<usize, ZByteIoError>fn peek_bytes(&mut self, buf: &mut [u8]) -> Result<usize, ZByteIoError>fn peek_exact_bytes(&mut self, buf: &mut [u8]) -> Result<(), ZByteIoError>fn z_seek(&mut self, from: ZSeekFrom) -> Result<u64, ZByteIoError>fn is_eof(&mut self) -> Result<bool, ZByteIoError>fn z_position(&mut self) -> Result<u64, ZByteIoError>fn read_remaining(&mut self, sink: &mut Vec<u8>) -> Result<usize, ZByteIoError>
impl<T, U> Into<U> for GenericReader<'a>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for GenericReader<'a>
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for GenericReader<'a>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>