#[derive(Default, Debug, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
#[derive(Deserialize, Serialize)]
#[repr(transparent)]
pub struct Inode(ino_t);
impl From<ino_t> for Inode
{
#[inline(always)]
fn from(value: ino_t) -> Self
{
Self(value)
}
}
impl Into<ino_t> for Inode
{
#[inline(always)]
fn into(self) -> ino_t
{
self.0
}
}
impl ParseNumber for Inode
{
#[inline(always)]
fn parse_number(bytes: &[u8], radix: Radix, parse_byte: impl Fn(Radix, u8) -> Result<u8, ParseNumberError>) -> Result<Self, ParseNumberError>
{
Ok(Self(u64::parse_number(bytes, radix, parse_byte)?))
}
}
impl Inode
{
pub const Zero: Self = Self(0);
}