Trait integer_encoding::FixedInt
source · pub trait FixedInt: Sized + Copy {
const REQUIRED_SPACE: usize;
// Required methods
fn required_space() -> usize;
fn encode_fixed(self, dst: &mut [u8]);
fn decode_fixed(src: &[u8]) -> Self;
fn encode_fixed_light<'a>(&'a self) -> &'a [u8] ⓘ;
// Provided methods
fn encode_fixed_vec(self) -> Vec<u8> { ... }
fn decode_fixed_vec(v: &Vec<u8>) -> Self { ... }
}
Expand description
FixedInt
provides encoding/decoding to and from fixed int representations.
The emitted bytestring contains the bytes of the integer in machine endianness.
Required Associated Constants§
const REQUIRED_SPACE: usize
Required Methods§
sourcefn required_space() -> usize
fn required_space() -> usize
Returns how many bytes are required to represent the given type.
sourcefn encode_fixed(self, dst: &mut [u8])
fn encode_fixed(self, dst: &mut [u8])
Encode a value into the given slice. dst
must be exactly REQUIRED_SPACE
bytes.
sourcefn decode_fixed(src: &[u8]) -> Self
fn decode_fixed(src: &[u8]) -> Self
Decode a value from the given slice. src
must be exactly REQUIRED_SPACE
bytes.
sourcefn encode_fixed_light<'a>(&'a self) -> &'a [u8] ⓘ
fn encode_fixed_light<'a>(&'a self) -> &'a [u8] ⓘ
Perform a transmute, i.e. return a “view” into the integer’s memory, which is faster than performing a copy.
Provided Methods§
sourcefn encode_fixed_vec(self) -> Vec<u8>
fn encode_fixed_vec(self) -> Vec<u8>
Helper: Encode the value and return a Vec.
sourcefn decode_fixed_vec(v: &Vec<u8>) -> Self
fn decode_fixed_vec(v: &Vec<u8>) -> Self
Helper: Decode the value from the Vec.