pub trait Table:
Debug
+ Send
+ Sync {
// Required methods
fn style(&self) -> &TableStyle;
fn ty(&self) -> &TableType;
fn size(&self) -> u32;
fn grow(&self, delta: u32, init_value: TableElement) -> Option<u32>;
fn get(&self, index: u32) -> Option<TableElement>;
fn set(&self, index: u32, reference: TableElement) -> Result<(), Trap>;
fn vmtable(&self) -> NonNull<VMTableDefinition>;
// Provided method
fn copy(
&self,
src_table: &dyn Table,
dst_index: u32,
src_index: u32,
len: u32,
) -> Result<(), Trap> { ... }
}Expand description
Trait for implementing the interface of a Wasm table.
Required Methods§
Sourcefn style(&self) -> &TableStyle
fn style(&self) -> &TableStyle
Returns the style for this Table.
Sourcefn 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.
Sourcefn 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.
Sourcefn vmtable(&self) -> NonNull<VMTableDefinition>
fn vmtable(&self) -> NonNull<VMTableDefinition>
Return a VMTableDefinition for exposing the table to compiled wasm code.
Provided Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".