use traitful::extend;
use crate::result::LenResult;
#[extend]
pub trait Read: crate::Read {
fn u16(&mut self) -> LenResult<u16> {
Ok(u16::from_be_bytes(self.array()?))
}
fn u32(&mut self) -> LenResult<u32> {
Ok(u32::from_be_bytes(self.array()?))
}
fn u64(&mut self) -> LenResult<u64> {
Ok(u64::from_be_bytes(self.array()?))
}
fn u128(&mut self) -> LenResult<u128> {
Ok(u128::from_be_bytes(self.array()?))
}
fn i16(&mut self) -> LenResult<i16> {
Ok(i16::from_be_bytes(self.array()?))
}
fn i32(&mut self) -> LenResult<i32> {
Ok(i32::from_be_bytes(self.array()?))
}
fn i64(&mut self) -> LenResult<i64> {
Ok(i64::from_be_bytes(self.array()?))
}
fn i128(&mut self) -> LenResult<i128> {
Ok(i128::from_be_bytes(self.array()?))
}
}