diff options
Diffstat (limited to 'src/datatypes.rs')
| -rw-r--r-- | src/datatypes.rs | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/src/datatypes.rs b/src/datatypes.rs deleted file mode 100644 index 59c7552..0000000 --- a/src/datatypes.rs +++ /dev/null | |||
| @@ -1,20 +0,0 @@ | |||
| 1 | use crate::result::ArchiveResult; | ||
| 2 | use crate::utils::ReadHelper; | ||
| 3 | use std::io::{Read, Write}; | ||
| 4 | |||
| 5 | pub trait ArchiveDatatype<const SIZE: usize>: Sized { | ||
| 6 | const SIZE: usize = SIZE; | ||
| 7 | |||
| 8 | fn parse(buf: [u8; SIZE]) -> Self; | ||
| 9 | |||
| 10 | fn dump(&self) -> [u8; SIZE]; | ||
| 11 | |||
| 12 | fn read(mut reader: impl Read) -> ArchiveResult<Self> { | ||
| 13 | Ok(Self::parse(reader.read2buf::<SIZE>()?)) | ||
| 14 | } | ||
| 15 | |||
| 16 | fn write(&self, mut writer: impl Write) -> ArchiveResult<()> { | ||
| 17 | writer.write(&self.dump())?; | ||
| 18 | Ok(()) | ||
| 19 | } | ||
| 20 | } | ||
