[][src]Struct wasmi::TableInstance

pub struct TableInstance { /* fields omitted */ }

Runtime representation of a table.

A table is a array of untyped functions. It allows wasm code to call functions indirectly through a dynamic index into a table. For example, this allows emulating function pointers by way of table indices.

Table is created with an initial size but can be grown dynamically via grow method. Growth can be limited by an optional maximum size.

In future, a table might be extended to be able to hold not only functions but different types.


impl TableInstance[src]

pub fn alloc(
    initial_size: u32,
    maximum_size: Option<u32>
) -> Result<TableRef, Error>

Allocate a table instance.

The table allocated with initial size, specified by initial_size. Maximum size can be specified by maximum_size.

All table elements are allocated uninitialized.


Returns Err if initial_size is greater than maximum_size.

pub fn initial_size(&self) -> u32[src]

Returns size this table was created with.

pub fn maximum_size(&self) -> Option<u32>[src]

Returns maximum size TableInstance can grow to.

pub fn current_size(&self) -> u32[src]

Returns current size of the table.

pub fn grow(&self, by: u32) -> Result<(), Error>[src]

Increases the size of the table by given number of elements.


Returns Err if tried to allocate more elements than permited by limit.

pub fn get(&self, offset: u32) -> Result<Option<FuncRef>, Error>[src]

Get the specific value in the table

pub fn set(&self, offset: u32, value: Option<FuncRef>) -> Result<(), Error>[src]

Set the table element to the specified function.

Trait Implementations

impl Debug for TableInstance[src]

Auto Trait Implementations

impl !RefUnwindSafe for TableInstance

impl !Send for TableInstance

impl !Sync for TableInstance

impl Unpin for TableInstance

impl !UnwindSafe for TableInstance

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Send + Sync + Any

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.