[][src]Crate lazy_bytes_cast

This crate provides simple methods to cast from and into byte arrays.

Example


 use lazy_bytes_cast::{FromBytes, IntoBytes, read_u32, read_u64, read_u128, read_u16, ReadBytes};

 let val = 9999999u32;
 let bytes = [127u8, 150, 152, 0];
 let mut bytes_slice = &bytes[..];
 assert_eq!(val.into_bytes(), bytes);

 assert_eq!(u32::from_bytes(bytes), val);
 assert_eq!(u32::from_bytes(bytes), read_u32(&bytes, 0));
 assert_eq!(u32::from_bytes(bytes), bytes_slice.read_value::<u32>().unwrap());
 assert_eq!(bytes_slice.len(), 0);
 assert!(bytes_slice.read_value::<u32>().is_none());

 assert_eq!(read_u16(&u16::max_value().to_ne_bytes(), 0), u16::max_value());
 assert_eq!(read_u64(&u64::max_value().to_ne_bytes(), 0), u64::max_value());
 assert_eq!(read_u128(&u128::max_value().to_ne_bytes(), 0), u128::max_value());

Traits

AsBytes

Allow to borrow type as slice of bytes

Bits

Bits manipulation interface.

FromBytes

Describes conversion from bytes representation

IntoBytes

Describes conversion to bytes representation

ReadBytes

Utility to read values from sequence of bytes

Functions

read_u16

Read u16 at compile time.

read_u32

Read u32 at compile time.

read_u64

Read u64 at compile time.

read_u128

Read u128 at compile time.