Trait byte_slice_cast::FromByteSlice
source · pub unsafe trait FromByteSlicewhere
Self: Sized,{
// Required methods
fn from_byte_slice<T: AsRef<[u8]> + ?Sized>(_: &T) -> Result<&[Self], Error>;
fn from_mut_byte_slice<T: AsMut<[u8]> + ?Sized>(
_: &mut T,
) -> Result<&mut [Self], Error>;
}
Expand description
Trait for converting from a byte slice to a slice of a fundamental, built-in numeric type.
Usually using the AsSliceOf
and AsMutSliceOf
traits is more convenient.
§Example
use byte_slice_cast::*;
let slice = [1u8, 2u8, 3u8, 4u8, 5u8, 6u8];
let converted_slice = <u16 as FromByteSlice>::from_byte_slice(&slice).unwrap();
if cfg!(target_endian = "big") {
assert_eq!(converted_slice, &[0x0102, 0x0304, 0x0506]);
} else {
assert_eq!(converted_slice, &[0x0201, 0x0403, 0x0605]);
}
Required Methods§
Object Safety§
This trait is not object safe.