#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct SubByte {
bit : u8
}
impl SubByte {
pub const MIN : Self = unsafe { Self::new_unchecked(0) };
pub const MAX : Self = unsafe { Self::new_unchecked(7) };
#[inline]
pub const fn new(bit : u8) -> Option<Self> {
if (bit >= 8) { None }
else { Some(Self { bit }) }
}
#[inline(always)]
pub const unsafe fn new_unchecked(bit : u8) -> Self { Self { bit } }
#[inline]
pub const fn get(&self) -> u8 { self.bit }
}