pub struct LinearTable { /* private fields */ }
Expand description
A table instance.
Implementations§
Source§impl LinearTable
impl LinearTable
Sourcepub fn new(table: &TableType, style: &TableStyle) -> Result<Self, String>
pub fn new(table: &TableType, style: &TableStyle) -> Result<Self, String>
Create a new linear table instance with specified minimum and maximum number of elements.
This creates a LinearTable
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<Self, String>
pub unsafe fn from_definition( table: &TableType, style: &TableStyle, vm_table_location: NonNull<VMTableDefinition>, ) -> Result<Self, String>
Create a new linear table instance with specified minimum and maximum number of elements.
This creates a LinearTable
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.
Trait Implementations§
Source§impl Debug for LinearTable
impl Debug for LinearTable
Source§impl Table for LinearTable
impl Table for LinearTable
Source§fn style(&self) -> &TableStyle
fn style(&self) -> &TableStyle
Returns the style for this Table.
Source§fn grow(&self, delta: u32, init_value: TableElement) -> Option<u32>
fn grow(&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.
Source§fn get(&self, index: u32) -> Option<TableElement>
fn get(&self, index: u32) -> Option<TableElement>
Get reference to the specified element.
Returns None
if the index is out of bounds.
Source§fn vmtable(&self) -> NonNull<VMTableDefinition>
fn vmtable(&self) -> NonNull<VMTableDefinition>
Return a VMTableDefinition
for exposing the table to compiled wasm code.
impl Send for LinearTable
This is correct because there is no thread-specific data tied to this type.
impl Sync for LinearTable
This is correct because all internal mutability is protected by a mutex.