dicom_encoding::decode

Trait BasicDecode

Source
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§

Source

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,

Decode an unsigned short value from the given source.

Source

fn decode_ul<S>(&self, source: S) -> Result<u32>
where S: Read,

Decode an unsigned long value from the given source.

Source

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_ss<S>(&self, source: S) -> Result<i16>
where S: Read,

Decode a signed short value from the given source.

Source

fn decode_sl<S>(&self, source: S) -> Result<i32>
where S: Read,

Decode a signed long value from the given source.

Source

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_fl<S>(&self, source: S) -> Result<f32>
where S: Read,

Decode a single precision float value from the given source.

Source

fn decode_fd<S>(&self, source: S) -> Result<f64>
where S: Read,

Decode a double precision float value from the given source.

Provided Methods§

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Implementations on Foreign Types§

Source§

impl<T> BasicDecode for &T
where T: BasicDecode + ?Sized,

Source§

fn endianness(&self) -> Endianness

Source§

fn decode_us<S>(&self, source: S) -> Result<u16>
where S: Read,

Source§

fn decode_us_into<S>(&self, source: S, dst: &mut [u16]) -> Result<()>
where S: Read,

Source§

fn decode_ul<S>(&self, source: S) -> Result<u32>
where S: Read,

Source§

fn decode_ul_into<S>(&self, source: S, dst: &mut [u32]) -> Result<()>
where S: Read,

Source§

fn decode_uv<S>(&self, source: S) -> Result<u64>
where S: Read,

Source§

fn decode_uv_into<S>(&self, source: S, dst: &mut [u64]) -> Result<()>
where S: Read,

Source§

fn decode_ss<S>(&self, source: S) -> Result<i16>
where S: Read,

Source§

fn decode_ss_into<S>(&self, source: S, dst: &mut [i16]) -> Result<()>
where S: Read,

Source§

fn decode_sl<S>(&self, source: S) -> Result<i32>
where S: Read,

Source§

fn decode_sl_into<S>(&self, source: S, dst: &mut [i32]) -> Result<()>
where S: Read,

Source§

fn decode_sv<S>(&self, source: S) -> Result<i64>
where S: Read,

Source§

fn decode_sv_into<S>(&self, source: S, dst: &mut [i64]) -> Result<()>
where S: Read,

Source§

fn decode_fl<S>(&self, source: S) -> Result<f32>
where S: Read,

Source§

fn decode_fl_into<S>(&self, source: S, dst: &mut [f32]) -> Result<()>
where S: Read,

Source§

fn decode_fd<S>(&self, source: S) -> Result<f64>
where S: Read,

Source§

fn decode_fd_into<S>(&self, source: S, dst: &mut [f64]) -> Result<()>
where S: Read,

Source§

fn decode_tag<S>(&self, source: S) -> Result<Tag>
where S: Read,

Source§

impl<T> BasicDecode for Box<T>
where T: BasicDecode + ?Sized,

Source§

fn endianness(&self) -> Endianness

Source§

fn decode_us<S>(&self, source: S) -> Result<u16>
where S: Read,

Source§

fn decode_us_into<S>(&self, source: S, dst: &mut [u16]) -> Result<()>
where S: Read,

Source§

fn decode_ul<S>(&self, source: S) -> Result<u32>
where S: Read,

Source§

fn decode_ul_into<S>(&self, source: S, dst: &mut [u32]) -> Result<()>
where S: Read,

Source§

fn decode_uv<S>(&self, source: S) -> Result<u64>
where S: Read,

Source§

fn decode_uv_into<S>(&self, source: S, dst: &mut [u64]) -> Result<()>
where S: Read,

Source§

fn decode_ss<S>(&self, source: S) -> Result<i16>
where S: Read,

Source§

fn decode_ss_into<S>(&self, source: S, dst: &mut [i16]) -> Result<()>
where S: Read,

Source§

fn decode_sl<S>(&self, source: S) -> Result<i32>
where S: Read,

Source§

fn decode_sl_into<S>(&self, source: S, dst: &mut [i32]) -> Result<()>
where S: Read,

Source§

fn decode_sv<S>(&self, source: S) -> Result<i64>
where S: Read,

Source§

fn decode_sv_into<S>(&self, source: S, dst: &mut [i64]) -> Result<()>
where S: Read,

Source§

fn decode_fl<S>(&self, source: S) -> Result<f32>
where S: Read,

Source§

fn decode_fl_into<S>(&self, source: S, dst: &mut [f32]) -> Result<()>
where S: Read,

Source§

fn decode_fd<S>(&self, source: S) -> Result<f64>
where S: Read,

Source§

fn decode_fd_into<S>(&self, source: S, dst: &mut [f64]) -> Result<()>
where S: Read,

Source§

fn decode_tag<S>(&self, source: S) -> Result<Tag>
where S: Read,

Implementors§