15 lines
365 B
Rust
15 lines
365 B
Rust
use std::mem::size_of;
|
|
|
|
use zerocopy::{FromBytes, FromZeroes, Ref};
|
|
|
|
use crate::{FilePointer, FileRange, RawFilePointer};
|
|
|
|
pub trait ReaderTrait {
|
|
fn read_raw(&self, ptr: FileRange) -> &[u8];
|
|
fn read<T: FromBytes>(&self, ptr: FilePointer<T>) -> &T {
|
|
Ref::<_, T>::new(self.read_raw(ptr.range()))
|
|
.unwrap()
|
|
.into_ref()
|
|
}
|
|
}
|