pub struct State<'a, Buffer: IoWrite> { /* private fields */ }
Expand description
State of the virtual machine
Implementations§
Source§impl<'a, Buffer: IoWrite> State<'a, Buffer>
impl<'a, Buffer: IoWrite> State<'a, Buffer>
Sourcepub fn get_string_by_id(&self, id: usize) -> Option<&str>
pub fn get_string_by_id(&self, id: usize) -> Option<&str>
Get string by string id
Return None if id is invalid. If id is provided by parameters, it can never be invalid and thus is safe to unwrap.
Sourcepub fn create_str(&mut self, s: String) -> usize
pub fn create_str(&mut self, s: String) -> usize
Create a new string
Return reference id to the string which can be put into DiatomValue::Str()
.
pub fn create_user_data(&mut self, data: Box<dyn Any + Send>) -> usize
Sourcepub fn get_obj_mut(
&mut self,
ref_id: usize,
) -> Option<DiatomObjectMut<'_, Buffer>>
pub fn get_obj_mut( &mut self, ref_id: usize, ) -> Option<DiatomObjectMut<'_, Buffer>>
Get a mutable reference by reference id
Return None if id is invalid. If id is provided by parameters, it can never be invalid and thus is safe to unwrap.
Sourcepub fn get_obj(&self, ref_id: usize) -> Option<DiatomObject<'_, Buffer>>
pub fn get_obj(&self, ref_id: usize) -> Option<DiatomObject<'_, Buffer>>
Same as get_obj_mut
but this is immutable
This is much cheaper than a mutable borrow.
pub fn print(&self, value: &DiatomValue) -> String
Sourcepub fn collect_garbage(&mut self)
pub fn collect_garbage(&mut self)
Immediately collect garbage
Auto Trait Implementations§
impl<'a, Buffer> Freeze for State<'a, Buffer>
impl<'a, Buffer> !RefUnwindSafe for State<'a, Buffer>
impl<'a, Buffer> Send for State<'a, Buffer>
impl<'a, Buffer> !Sync for State<'a, Buffer>
impl<'a, Buffer> Unpin for State<'a, Buffer>
impl<'a, Buffer> !UnwindSafe for State<'a, Buffer>
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