GuestType

Trait GuestType 

Source
pub trait GuestType: Sized {
    // Required methods
    fn guest_size() -> u32;
    fn guest_align() -> usize;
    fn read<M: Memory>(
        memory: &M,
        ptr: GuestPtr<Self>,
    ) -> Result<Self, GuestError>;
    fn write<M: MemoryMut>(
        memory: &mut M,
        ptr: GuestPtr<Self>,
        value: Self,
    ) -> Result<(), GuestError>;
}

Required Methods§

Source

fn guest_size() -> u32

Source

fn guest_align() -> usize

Source

fn read<M: Memory>(memory: &M, ptr: GuestPtr<Self>) -> Result<Self, GuestError>

Source

fn write<M: MemoryMut>( memory: &mut M, ptr: GuestPtr<Self>, value: Self, ) -> Result<(), GuestError>

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.

Implementations on Foreign Types§

Source§

impl GuestType for u8

Source§

fn guest_size() -> u32

Source§

fn guest_align() -> usize

Source§

fn read<M: Memory>(memory: &M, ptr: GuestPtr<Self>) -> Result<Self, GuestError>

Source§

fn write<M: MemoryMut>( memory: &mut M, ptr: GuestPtr<Self>, value: Self, ) -> Result<(), GuestError>

Source§

impl GuestType for u32

Source§

fn guest_size() -> u32

Source§

fn guest_align() -> usize

Source§

fn read<M: Memory>(memory: &M, ptr: GuestPtr<Self>) -> Result<Self, GuestError>

Source§

fn write<M: MemoryMut>( memory: &mut M, ptr: GuestPtr<Self>, value: Self, ) -> Result<(), GuestError>

Source§

impl GuestType for u64

Source§

fn guest_size() -> u32

Source§

fn guest_align() -> usize

Source§

fn read<M: Memory>(memory: &M, ptr: GuestPtr<Self>) -> Result<Self, GuestError>

Source§

fn write<M: MemoryMut>( memory: &mut M, ptr: GuestPtr<Self>, value: Self, ) -> Result<(), GuestError>

Implementors§