Trait vm_value::VM

source ·
pub trait VM<Op, Val, T: VMValue<Op, Val, T>> {
    type Error;

    // Required methods
    fn run(&mut self) -> Result<VMStatus<Op, Val>, Self::Error>;
    fn execute(&mut self) -> Result<(), Self::Error>;
    fn next_byte(&mut self) -> u8;
    fn next_n_bytes<const N: usize>(&mut self) -> [u8; N];
    fn next_n_bytes_vec(&mut self, n: Length) -> Vec<u8>;

    // Provided methods
    fn next_len(&mut self) -> Length { ... }
    fn next_small_len(&mut self) -> SmallLength { ... }
    fn next_str(&mut self) -> String { ... }
}

Required Associated Types§

Required Methods§

source

fn run(&mut self) -> Result<VMStatus<Op, Val>, Self::Error>

source

fn execute(&mut self) -> Result<(), Self::Error>

source

fn next_byte(&mut self) -> u8

source

fn next_n_bytes<const N: usize>(&mut self) -> [u8; N]

source

fn next_n_bytes_vec(&mut self, n: Length) -> Vec<u8>

Provided Methods§

source

fn next_len(&mut self) -> Length

source

fn next_small_len(&mut self) -> SmallLength

source

fn next_str(&mut self) -> String

Object Safety§

This trait is not object safe.

Implementors§