pub struct State { /* private fields */ }Implementations§
Source§impl State
impl State
pub fn new(stack_size: usize, memory_size: usize) -> Self
pub fn stack_size(&self) -> usize
pub fn memory_size(&self) -> usize
pub fn all_size(&self) -> usize
pub fn stack_pos(&self) -> usize
pub fn stack_free(&self) -> usize
pub fn memory_free(&self) -> usize
pub fn all_free(&self) -> usize
pub fn stack_push_data<T>(&mut self, value: &T) -> SimpleResult<Value>
pub fn stack_push_bytes(&mut self, source: &[u8]) -> SimpleResult<Value>
pub fn stack_push_move( &mut self, source: usize, size: usize, ) -> SimpleResult<Value>
pub fn stack_pop_bytes(&mut self, size: usize) -> SimpleResult<Vec<u8>>
pub fn stack_pop_data<T: Default>(&mut self) -> SimpleResult<T>
pub fn stack_pop_move( &mut self, destination: usize, size: usize, ) -> SimpleResult<()>
pub fn stack_reset(&mut self, position: usize) -> SimpleResult<()>
pub fn memory_move( &mut self, source: usize, size: usize, destination: usize, ) -> SimpleResult<()>
pub fn store_data<T>( &mut self, destination: usize, value: &T, ) -> SimpleResult<()>
pub fn store_bytes( &mut self, destination: usize, value: &[u8], ) -> SimpleResult<()>
pub fn load_data<T: Default>(&self, source: usize) -> SimpleResult<T>
pub fn load_bytes(&self, source: usize, size: usize) -> SimpleResult<Vec<u8>>
pub fn load_bytes_while<P>(&self, source: usize, predicate: P) -> Vec<u8> ⓘ
pub fn load_bytes_while_non_zero(&self, source: usize) -> Vec<u8> ⓘ
pub fn map(&self, value: Value) -> SimpleResult<&[u8]>
pub fn map_mut(&mut self, value: Value) -> SimpleResult<&mut [u8]>
pub fn map_stack(&self) -> &[u8] ⓘ
pub fn map_stack_mut(&mut self) -> &mut [u8] ⓘ
pub fn map_memory(&self) -> &[u8] ⓘ
pub fn map_memory_mut(&mut self) -> &mut [u8] ⓘ
pub fn map_all(&self) -> &[u8] ⓘ
pub fn map_all_mut(&mut self) -> &mut [u8] ⓘ
pub fn alloc_stack_value(&mut self, size: usize) -> SimpleResult<Value>
pub fn alloc_memory_value(&mut self, size: usize) -> SimpleResult<Value>
pub fn dealloc_memory_value(&mut self, value: &Value) -> SimpleResult<()>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for State
impl RefUnwindSafe for State
impl Send for State
impl Sync for State
impl Unpin for State
impl UnsafeUnpin for State
impl UnwindSafe for State
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more