Skip to main content

calimero_sys/types/
register.rs

1use super::PtrSizedInt;
2
3#[repr(C)]
4#[derive(Copy, Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct RegisterId(PtrSizedInt);
6
7impl RegisterId {
8    #[inline]
9    pub const fn new(value: usize) -> Self {
10        Self(PtrSizedInt::new(value))
11    }
12
13    pub fn as_usize(self) -> usize {
14        self.0.as_usize()
15    }
16}
17
18impl From<usize> for RegisterId {
19    #[inline]
20    fn from(value: usize) -> Self {
21        Self::new(value)
22    }
23}