byte_slice_cast

Trait AsSliceOf

Source
pub trait AsSliceOf {
    // Required method
    fn as_slice_of<T: FromByteSlice>(&self) -> Result<&[T], Error>;
}
Expand description

Trait for converting from a byte slice to a slice of a fundamental, built-in numeric type.

§Example

use byte_slice_cast::*;

let slice = [1u8, 2u8, 3u8, 4u8, 5u8, 6u8];
let converted_slice = slice.as_slice_of::<u16>().unwrap();

if cfg!(target_endian = "big") {
    assert_eq!(converted_slice, &[0x0102, 0x0304, 0x0506]);
} else {
    assert_eq!(converted_slice, &[0x0201, 0x0403, 0x0605]);
}

Required Methods§

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.

Implementors§

Source§

impl<U: AsRef<[u8]> + ?Sized> AsSliceOf for U