pub enum BasicDecoder {
LE(LittleEndianBasicDecoder),
BE(BigEndianBasicDecoder),
}
Expand description
A basic decoder with support for both Little Endian an Big Endian encoding, decided at run-time. Since only two values are possible, this enum may become more efficient than the use of a trait object.
Variants§
Implementations§
Source§impl BasicDecoder
impl BasicDecoder
Sourcepub fn new(endianness: Endianness) -> Self
pub fn new(endianness: Endianness) -> Self
Create a basic decoder for the given byte order.
Trait Implementations§
Source§impl BasicDecode for BasicDecoder
impl BasicDecode for BasicDecoder
Source§fn endianness(&self) -> Endianness
fn endianness(&self) -> Endianness
Retrieve the source’s endianness, as expected by this decoder.
Source§fn decode_us<S>(&self, source: S) -> Result<u16>where
S: Read,
fn decode_us<S>(&self, source: S) -> Result<u16>where
S: Read,
Decode an unsigned short value from the given source.
Source§fn decode_us_into<S>(&self, source: S, target: &mut [u16]) -> Result<()>where
S: Read,
fn decode_us_into<S>(&self, source: S, target: &mut [u16]) -> Result<()>where
S: Read,
Decode a sequence of unsigned shorts value from the given source
into the given destination.
Source§fn decode_ul<S>(&self, source: S) -> Result<u32>where
S: Read,
fn decode_ul<S>(&self, source: S) -> Result<u32>where
S: Read,
Decode an unsigned long value from the given source.
Source§fn decode_ul_into<S>(&self, source: S, target: &mut [u32]) -> Result<()>where
S: Read,
fn decode_ul_into<S>(&self, source: S, target: &mut [u32]) -> Result<()>where
S: Read,
Decode a sequence of unsigned long values from the given source
into the given destination.
Source§fn decode_uv<S>(&self, source: S) -> Result<u64>where
S: Read,
fn decode_uv<S>(&self, source: S) -> Result<u64>where
S: Read,
Decode an unsigned very long value from the given source.
Source§fn decode_uv_into<S>(&self, source: S, target: &mut [u64]) -> Result<()>where
S: Read,
fn decode_uv_into<S>(&self, source: S, target: &mut [u64]) -> Result<()>where
S: Read,
Decode a sequence of unsigned very long values from the given source
into the given destination.
Source§fn decode_ss<S>(&self, source: S) -> Result<i16>where
S: Read,
fn decode_ss<S>(&self, source: S) -> Result<i16>where
S: Read,
Decode a signed short value from the given source.
Source§fn decode_ss_into<S>(&self, source: S, target: &mut [i16]) -> Result<()>where
S: Read,
fn decode_ss_into<S>(&self, source: S, target: &mut [i16]) -> Result<()>where
S: Read,
Decode a sequence of signed short values from the given source
into the given destination.
Source§fn decode_sl<S>(&self, source: S) -> Result<i32>where
S: Read,
fn decode_sl<S>(&self, source: S) -> Result<i32>where
S: Read,
Decode a signed long value from the given source.
Source§fn decode_sl_into<S>(&self, source: S, target: &mut [i32]) -> Result<()>where
S: Read,
fn decode_sl_into<S>(&self, source: S, target: &mut [i32]) -> Result<()>where
S: Read,
Decode a sequence of signed long values from the given source
into the given destination.
Source§fn decode_sv<S>(&self, source: S) -> Result<i64>where
S: Read,
fn decode_sv<S>(&self, source: S) -> Result<i64>where
S: Read,
Decode a signed very long value from the given source.
Source§fn decode_sv_into<S>(&self, source: S, target: &mut [i64]) -> Result<()>where
S: Read,
fn decode_sv_into<S>(&self, source: S, target: &mut [i64]) -> Result<()>where
S: Read,
Decode a sequence of signed very long values from the given source
into the given destination.
Source§fn decode_fl<S>(&self, source: S) -> Result<f32>where
S: Read,
fn decode_fl<S>(&self, source: S) -> Result<f32>where
S: Read,
Decode a single precision float value from the given source.
Source§fn decode_fl_into<S>(&self, source: S, target: &mut [f32]) -> Result<()>where
S: Read,
fn decode_fl_into<S>(&self, source: S, target: &mut [f32]) -> Result<()>where
S: Read,
Decode a sequence of single precision float values from the given source
into the given destination.
Source§fn decode_fd<S>(&self, source: S) -> Result<f64>where
S: Read,
fn decode_fd<S>(&self, source: S) -> Result<f64>where
S: Read,
Decode a double precision float value from the given source.
Source§impl Clone for BasicDecoder
impl Clone for BasicDecoder
Source§fn clone(&self) -> BasicDecoder
fn clone(&self) -> BasicDecoder
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for BasicDecoder
impl Debug for BasicDecoder
Source§impl From<Endianness> for BasicDecoder
impl From<Endianness> for BasicDecoder
Source§fn from(endianness: Endianness) -> Self
fn from(endianness: Endianness) -> Self
Converts to this type from the input type.
Source§impl PartialEq for BasicDecoder
impl PartialEq for BasicDecoder
impl StructuralPartialEq for BasicDecoder
Auto Trait Implementations§
impl Freeze for BasicDecoder
impl RefUnwindSafe for BasicDecoder
impl Send for BasicDecoder
impl Sync for BasicDecoder
impl Unpin for BasicDecoder
impl UnwindSafe for BasicDecoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more