[−][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. |