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 Types§

Required Associated Constants§

Required Methods§

source

fn parse(data: &[u8]) -> MemoryResult<Self::Ty>

source

fn serialize(data: Self::Ty) -> MemoryResult<Vec<u8>>

Provided Methods§

source

fn write(data: Self::Ty, memory: &mut [u8]) -> MemoryResult<()>

source

fn read(memory: &[u8]) -> MemoryResult<Self::Ty>

source

fn range() -> Range<usize>

Implementors§