Trait byte_slice_cast::FromByteSlice[][src]

pub unsafe trait FromByteSlice where
    Self: Sized
{ 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>; }

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

Convert from an immutable byte slice to a immutable slice of a fundamental, built-in numeric type

Convert from an mutable byte slice to a mutable slice of a fundamental, built-in numeric type

Implementations on Foreign Types

impl FromByteSlice for u8
[src]

impl FromByteSlice for u16
[src]

impl FromByteSlice for u32
[src]

impl FromByteSlice for u64
[src]

impl FromByteSlice for u128
[src]

impl FromByteSlice for i8
[src]

impl FromByteSlice for i16
[src]

impl FromByteSlice for i32
[src]

impl FromByteSlice for i64
[src]

impl FromByteSlice for i128
[src]

impl FromByteSlice for f32
[src]

impl FromByteSlice for f64
[src]

Implementors