pub trait Register {
type Ty;
const ADDRESS: usize;
const LENGTH: usize;
const ACCESS_RIGHT: AccessRight;
// Required methods
fn parse(data: &[u8]) -> MemoryResult<Self::Ty>;
fn serialize(data: Self::Ty) -> MemoryResult<Vec<u8>>;
// Provided methods
fn write(data: Self::Ty, memory: &mut [u8]) -> MemoryResult<()> { ... }
fn read(memory: &[u8]) -> MemoryResult<Self::Ty> { ... }
fn range() -> Range<usize> { ... }
}
Required Associated Constants§
Required Associated Types§
Required Methods§
fn parse(data: &[u8]) -> MemoryResult<Self::Ty>
fn serialize(data: Self::Ty) -> MemoryResult<Vec<u8>>
Provided Methods§
fn write(data: Self::Ty, memory: &mut [u8]) -> MemoryResult<()>
fn read(memory: &[u8]) -> MemoryResult<Self::Ty>
fn range() -> Range<usize>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.