pub trait BasicDecode {
Show 18 methods
// Required methods
fn endianness(&self) -> Endianness;
fn decode_us<S>(&self, source: S) -> Result<u16>
where S: Read;
fn decode_ul<S>(&self, source: S) -> Result<u32>
where S: Read;
fn decode_uv<S>(&self, source: S) -> Result<u64>
where S: Read;
fn decode_ss<S>(&self, source: S) -> Result<i16>
where S: Read;
fn decode_sl<S>(&self, source: S) -> Result<i32>
where S: Read;
fn decode_sv<S>(&self, source: S) -> Result<i64>
where S: Read;
fn decode_fl<S>(&self, source: S) -> Result<f32>
where S: Read;
fn decode_fd<S>(&self, source: S) -> Result<f64>
where S: Read;
// Provided methods
fn decode_us_into<S>(&self, source: S, dst: &mut [u16]) -> Result<()>
where S: Read { ... }
fn decode_ul_into<S>(&self, source: S, dst: &mut [u32]) -> Result<()>
where S: Read { ... }
fn decode_uv_into<S>(&self, source: S, dst: &mut [u64]) -> Result<()>
where S: Read { ... }
fn decode_ss_into<S>(&self, source: S, dst: &mut [i16]) -> Result<()>
where S: Read { ... }
fn decode_sl_into<S>(&self, source: S, dst: &mut [i32]) -> Result<()>
where S: Read { ... }
fn decode_sv_into<S>(&self, source: S, dst: &mut [i64]) -> Result<()>
where S: Read { ... }
fn decode_fl_into<S>(&self, source: S, dst: &mut [f32]) -> Result<()>
where S: Read { ... }
fn decode_fd_into<S>(&self, source: S, dst: &mut [f64]) -> Result<()>
where S: Read { ... }
fn decode_tag<S>(&self, source: S) -> Result<Tag>
where S: Read { ... }
}
Expand description
Type trait for reading and decoding basic data values from a data source.
This trait aims to provide methods for reading binary numbers based on the
source’s endianness. Unlike Decode
, this trait is not object safe.
However, it doesn’t have to because there are, and only will be, two
possible implementations (LittleEndianBasicDecoder
and
BigEndianBasicDecoder
).
Required Methods§
Sourcefn endianness(&self) -> Endianness
fn endianness(&self) -> Endianness
Retrieve the source’s endianness, as expected by this decoder.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Provided Methods§
Sourcefn decode_us_into<S>(&self, source: S, dst: &mut [u16]) -> Result<()>where
S: Read,
fn decode_us_into<S>(&self, source: S, dst: &mut [u16]) -> Result<()>where
S: Read,
Decode a sequence of unsigned shorts value from the given source into the given destination.
Sourcefn decode_ul_into<S>(&self, source: S, dst: &mut [u32]) -> Result<()>where
S: Read,
fn decode_ul_into<S>(&self, source: S, dst: &mut [u32]) -> Result<()>where
S: Read,
Decode a sequence of unsigned long values from the given source into the given destination.
Sourcefn decode_uv_into<S>(&self, source: S, dst: &mut [u64]) -> Result<()>where
S: Read,
fn decode_uv_into<S>(&self, source: S, dst: &mut [u64]) -> Result<()>where
S: Read,
Decode a sequence of unsigned very long values from the given source into the given destination.
Sourcefn decode_ss_into<S>(&self, source: S, dst: &mut [i16]) -> Result<()>where
S: Read,
fn decode_ss_into<S>(&self, source: S, dst: &mut [i16]) -> Result<()>where
S: Read,
Decode a sequence of signed short values from the given source into the given destination.
Sourcefn decode_sl_into<S>(&self, source: S, dst: &mut [i32]) -> Result<()>where
S: Read,
fn decode_sl_into<S>(&self, source: S, dst: &mut [i32]) -> Result<()>where
S: Read,
Decode a sequence of signed long values from the given source into the given destination.
Sourcefn decode_sv_into<S>(&self, source: S, dst: &mut [i64]) -> Result<()>where
S: Read,
fn decode_sv_into<S>(&self, source: S, dst: &mut [i64]) -> Result<()>where
S: Read,
Decode a sequence of signed very long values from the given source into the given destination.
Sourcefn decode_fl_into<S>(&self, source: S, dst: &mut [f32]) -> Result<()>where
S: Read,
fn decode_fl_into<S>(&self, source: S, dst: &mut [f32]) -> Result<()>where
S: Read,
Decode a sequence of single precision float values from the given source into the given destination.
Sourcefn decode_fd_into<S>(&self, source: S, dst: &mut [f64]) -> Result<()>where
S: Read,
fn decode_fd_into<S>(&self, source: S, dst: &mut [f64]) -> Result<()>where
S: Read,
Decode a sequence of double precision float values from the given source into the given destination.
Sourcefn decode_tag<S>(&self, source: S) -> Result<Tag>where
S: Read,
fn decode_tag<S>(&self, source: S) -> Result<Tag>where
S: Read,
Decode a DICOM attribute tag from the given source.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.