pub trait WasmTable<E: WasmEngine>:
Clone
+ Sized
+ Send
+ Sync {
// Required methods
fn new(
ctx: impl AsContextMut<E>,
ty: TableType,
init: Value<E>,
) -> Result<Self>;
fn ty(&self, ctx: impl AsContext<E>) -> TableType;
fn size(&self, ctx: impl AsContext<E>) -> u32;
fn grow(
&self,
ctx: impl AsContextMut<E>,
delta: u32,
init: Value<E>,
) -> Result<u32>;
fn get(&self, ctx: impl AsContextMut<E>, index: u32) -> Option<Value<E>>;
fn set(
&self,
ctx: impl AsContextMut<E>,
index: u32,
value: Value<E>,
) -> Result<()>;
}
Expand description
Provides a Wasm table reference.
Required Methods§
Sourcefn new(ctx: impl AsContextMut<E>, ty: TableType, init: Value<E>) -> Result<Self>
fn new(ctx: impl AsContextMut<E>, ty: TableType, init: Value<E>) -> Result<Self>
Creates a new table to the store.
Sourcefn grow(
&self,
ctx: impl AsContextMut<E>,
delta: u32,
init: Value<E>,
) -> Result<u32>
fn grow( &self, ctx: impl AsContextMut<E>, delta: u32, init: Value<E>, ) -> Result<u32>
Grows the table by the given amount of elements.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.