1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
use crate::{ Endian, PackedBytes, PackedSize, }; use core::convert::Infallible; impl PackedSize for i64 { const BYTES: usize = 8; } impl PackedBytes<[u8; Self::BYTES]> for i64 { type Error = Infallible; fn to_bytes<En: Endian>(&self) -> Result<[u8; Self::BYTES], Self::Error> { Ok(if En::IS_LITTLE { self.to_le_bytes() } else { self.to_be_bytes() }) } fn from_bytes<En: Endian>(bytes: [u8; Self::BYTES]) -> Result<Self, Self::Error> { Ok(if En::IS_LITTLE { Self::from_le_bytes(bytes) } else { Self::from_be_bytes(bytes) }) } }