pub struct BinaryReader<T: Read> { /* private fields */ }
Expand description
Analogous to the System.IO.BinaryReader
C# Class.
Reads from any Read implementor.
Implementations§
Source§impl<T> BinaryReader<T>where
T: Read,
All functions in this implementation return an error if the underlying Read returns an error,
or if there aren’t enough bytes to read. Individual functions list additional error
conditions.
impl<T> BinaryReader<T>where
T: Read,
All functions in this implementation return an error if the underlying Read returns an error, or if there aren’t enough bytes to read. Individual functions list additional error conditions.
Sourcepub fn new(input: T) -> Self
pub fn new(input: T) -> Self
Creates a new BinaryReader which will read data from the provided Reader.
Sourcepub fn read_byte(&mut self) -> Result<Result<u8, DataDecodeError>, Error>
pub fn read_byte(&mut self) -> Result<Result<u8, DataDecodeError>, Error>
Equivalent to the ReadByte method in C#. Reads one byte from the stream.
Sourcepub fn read_bytes(
&mut self,
num_bytes: usize,
) -> Result<Result<Vec<u8>, DataDecodeError>, Error>
pub fn read_bytes( &mut self, num_bytes: usize, ) -> Result<Result<Vec<u8>, DataDecodeError>, Error>
Equivalent to the ReadBytes method in C#. Reads the specified number of bytes.
Sourcepub fn peek_byte(&mut self) -> Result<Result<u8, DataDecodeError>, Error>
pub fn peek_byte(&mut self) -> Result<Result<u8, DataDecodeError>, Error>
Doesn’t correspond to any specific c# method. Provided for convenience. Gets the next byte without advancing the data stream.
Sourcepub fn peek_bytes(
&mut self,
num_bytes: usize,
) -> Result<Result<&[u8], DataDecodeError>, Error>
pub fn peek_bytes( &mut self, num_bytes: usize, ) -> Result<Result<&[u8], DataDecodeError>, Error>
Doesn’t correspond to any specific c# method. Provided for convenience. Gets the specified number of bytes without advancing the data stream.
Sourcepub fn read_7_bit_encoded_int(
&mut self,
) -> Result<Result<i32, DataDecodeError>, Error>
pub fn read_7_bit_encoded_int( &mut self, ) -> Result<Result<i32, DataDecodeError>, Error>
Equivalent to the Read7BitEncodedInt method in C#. Returns DataDecodeError::IntegerOverflow if the encoded value does not fit within 32 bits.
Sourcepub fn read_7_bit_encoded_int64(
&mut self,
) -> Result<Result<i64, DataDecodeError>, Error>
pub fn read_7_bit_encoded_int64( &mut self, ) -> Result<Result<i64, DataDecodeError>, Error>
Equivalent to the Read7BitEncodedInt64 method in C#. Returns DataDecodeError::IntegerOverflow if the encoded value does not fit within 64 bits.
Sourcepub fn read_boolean(&mut self) -> Result<Result<bool, DataDecodeError>, Error>
pub fn read_boolean(&mut self) -> Result<Result<bool, DataDecodeError>, Error>
Equivalent to the ReadBoolean method in C#.
Sourcepub fn read_f32(&mut self) -> Result<Result<f32, DataDecodeError>, Error>
pub fn read_f32(&mut self) -> Result<Result<f32, DataDecodeError>, Error>
Equivalent to the ReadSingle method in C#.
Sourcepub fn read_f64(&mut self) -> Result<Result<f64, DataDecodeError>, Error>
pub fn read_f64(&mut self) -> Result<Result<f64, DataDecodeError>, Error>
Equivalent to the ReadDouble method in C#.
Sourcepub fn read_f16(&mut self) -> Result<Result<f16, DataDecodeError>, Error>
Available on crate feature f16
only.
pub fn read_f16(&mut self) -> Result<Result<f16, DataDecodeError>, Error>
f16
only.Equivalent to the ReadHalf method in C#.
Requires the f16
feature.
Sourcepub fn read_string(&mut self) -> Result<Result<String, DataDecodeError>, Error>
pub fn read_string(&mut self) -> Result<Result<String, DataDecodeError>, Error>
Equivalent to the ReadString method in C#. Returns an DataDecodeError::InvalidUtf8 if the data read is not valid utf-8.
Sourcepub fn read_i8(&mut self) -> Result<Result<i8, DataDecodeError>, Error>
pub fn read_i8(&mut self) -> Result<Result<i8, DataDecodeError>, Error>
Equivalent to the ReadSByte method in C#.
Sourcepub fn read_i16(&mut self) -> Result<Result<i16, DataDecodeError>, Error>
pub fn read_i16(&mut self) -> Result<Result<i16, DataDecodeError>, Error>
Equivalent to the ReadInt16 method in C#.
Sourcepub fn read_i32(&mut self) -> Result<Result<i32, DataDecodeError>, Error>
pub fn read_i32(&mut self) -> Result<Result<i32, DataDecodeError>, Error>
Equivalent to the ReadInt32 method in C#.
Sourcepub fn read_i64(&mut self) -> Result<Result<i64, DataDecodeError>, Error>
pub fn read_i64(&mut self) -> Result<Result<i64, DataDecodeError>, Error>
Equivalent to the ReadInt64 method in C#.
Sourcepub fn read_u16(&mut self) -> Result<Result<u16, DataDecodeError>, Error>
pub fn read_u16(&mut self) -> Result<Result<u16, DataDecodeError>, Error>
Equivalent to the ReadUint16 method in C#.
Sourcepub fn read_u32(&mut self) -> Result<Result<u32, DataDecodeError>, Error>
pub fn read_u32(&mut self) -> Result<Result<u32, DataDecodeError>, Error>
Equivalent to the ReadUint32 method in C#.
Sourcepub fn read_u64(&mut self) -> Result<Result<u64, DataDecodeError>, Error>
pub fn read_u64(&mut self) -> Result<Result<u64, DataDecodeError>, Error>
Equivalent to the ReadUint64 method in C#.
pub fn read_char(&mut self) -> Result<Result<char, DataDecodeError>, Error>
Trait Implementations§
Source§impl<T: Clone + Read> Clone for BinaryReader<T>
impl<T: Clone + Read> Clone for BinaryReader<T>
Source§fn clone(&self) -> BinaryReader<T>
fn clone(&self) -> BinaryReader<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more