#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct DeviceId(pub u16);
impl DeviceId
{
const AnyOrInvalidRaw: u16 = 0xFFFF;
#[inline(always)]
pub fn new(deviceId: u16) -> Option<Self>
{
if deviceId == Self::AnyOrInvalidRaw
{
None
}
else
{
Some(DeviceId(deviceId))
}
}
pub const AnyOrInvalid: DeviceId = DeviceId(Self::AnyOrInvalidRaw);
#[inline(always)]
pub fn isAnyOrInvalid(&self) -> bool
{
self.0 == Self::AnyOrInvalidRaw
}
#[inline(always)]
pub fn is(&self, other: u16) -> bool
{
self.0 == other
}
}