pub struct VMTable { /* private fields */ }
Expand description
A table instance.
Implementations
sourceimpl VMTable
impl VMTable
sourcepub fn new(table: &TableType, style: &TableStyle) -> Result<VMTable, String>
pub fn new(table: &TableType, style: &TableStyle) -> Result<VMTable, String>
Create a new linear table instance with specified minimum and maximum number of elements.
This creates a Table
with metadata owned by a VM, pointed to by
vm_table_location
: this can be used to create a local table.
sourcepub unsafe fn from_definition(
table: &TableType,
style: &TableStyle,
vm_table_location: NonNull<VMTableDefinition>
) -> Result<VMTable, String>
pub unsafe fn from_definition(
table: &TableType,
style: &TableStyle,
vm_table_location: NonNull<VMTableDefinition>
) -> Result<VMTable, String>
Create a new linear table instance with specified minimum and maximum number of elements.
This creates a Table
with metadata owned by a VM, pointed to by
vm_table_location
: this can be used to create a local table.
Safety
vm_table_location
must point to a valid location in VM memory.
sourcepub fn style(&self) -> &TableStyle
pub fn style(&self) -> &TableStyle
Returns the style for this Table.
sourcepub fn grow(&mut self, delta: u32, init_value: TableElement) -> Option<u32>
pub fn grow(&mut self, delta: u32, init_value: TableElement) -> Option<u32>
Grow table by the specified amount of elements.
Returns None
if table can’t be grown by the specified amount
of elements, otherwise returns the previous size of the table.
sourcepub fn get(&self, index: u32) -> Option<TableElement>
pub fn get(&self, index: u32) -> Option<TableElement>
Get reference to the specified element.
Returns None
if the index is out of bounds.
sourcepub fn vmtable(&self) -> NonNull<VMTableDefinition>
pub fn vmtable(&self) -> NonNull<VMTableDefinition>
Return a VMTableDefinition
for exposing the table to compiled wasm code.
Auto Trait Implementations
impl !RefUnwindSafe for VMTable
impl !Send for VMTable
impl !Sync for VMTable
impl Unpin for VMTable
impl UnwindSafe for VMTable
Blanket Implementations
impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more