rof_rs/rof_compat/inbuilt_type_extensions/
int_ext.rs1use crate::{object_format::data_value::integer::DataValueInteger, rof_compat::RofCompat};
2
3impl RofCompat for u8 {
4    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
5        Box::new(DataValueInteger::U8(*self))
6    }
7
8    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
9        rof_object.as_u8()
10    }
11}
12
13impl RofCompat for i8 {
14    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
15        Box::new(DataValueInteger::I8(*self))
16    }
17
18    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
19        rof_object.as_i8()
20    }
21}
22
23impl RofCompat for u16 {
24    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
25        Box::new(DataValueInteger::U16(*self))
26    }
27
28    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
29        rof_object.as_u16()
30    }
31}
32
33impl RofCompat for i16 {
34    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
35        Box::new(DataValueInteger::I16(*self))
36    }
37
38    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
39        rof_object.as_i16()
40    }
41}
42
43impl RofCompat for u32 {
44    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
45        Box::new(DataValueInteger::U32(*self))
46    }
47
48    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
49        rof_object.as_u32()
50    }
51}
52
53impl RofCompat for i32 {
54    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
55        Box::new(DataValueInteger::I32(*self))
56    }
57
58    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
59        rof_object.as_i32()
60    }
61}
62
63impl RofCompat for u64 {
64    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
65        Box::new(DataValueInteger::U64(*self))
66    }
67
68    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
69        rof_object.as_u64()
70    }
71}
72
73impl RofCompat for i64 {
74    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
75        Box::new(DataValueInteger::I64(*self))
76    }
77
78    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
79        rof_object.as_i64()
80    }
81}
82
83impl RofCompat for u128 {
84    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
85        Box::new(DataValueInteger::U128(*self))
86    }
87
88    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
89        rof_object.as_u128()
90    }
91}
92
93impl RofCompat for i128 {
94    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
95        Box::new(DataValueInteger::I128(*self))
96    }
97
98    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
99        rof_object.as_i128()
100    }
101}
102
103impl RofCompat for usize {
104    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
105        Box::new(DataValueInteger::USIZE(*self))
106    }
107
108    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
109        rof_object.as_usize()
110    }
111}
112
113impl RofCompat for isize {
114    fn serialize(&self) -> Box<dyn crate::object_format::DataValue> {
115        Box::new(DataValueInteger::ISIZE(*self))
116    }
117
118    fn deserialize(rof_object: Box<dyn crate::object_format::DataValue>) -> Self {
119        rof_object.as_isize()
120    }
121}