aboutsummaryrefslogtreecommitdiff
path: root/src/datatypes.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/datatypes.rs')
-rw-r--r--src/datatypes.rs20
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 @@
1use crate::result::ArchiveResult;
2use crate::utils::ReadHelper;
3use std::io::{Read, Write};
4
5pub 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}