[−][src]Struct wasmi::TableInstance
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.
Methods
impl TableInstance
[src]
impl TableInstance
pub fn alloc(
initial_size: u32,
maximum_size: Option<u32>
) -> Result<TableRef, Error>
[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.
Errors
Returns Err
if initial_size
is greater than maximum_size
.
pub fn initial_size(&self) -> u32
[src]
pub fn initial_size(&self) -> u32
Returns size this table was created with.
pub fn maximum_size(&self) -> Option<u32>
[src]
pub fn maximum_size(&self) -> Option<u32>
Returns maximum size TableInstance
can grow to.
pub fn current_size(&self) -> u32
[src]
pub fn current_size(&self) -> u32
Returns current size of the table.
pub fn grow(&self, by: u32) -> Result<(), Error>
[src]
pub fn grow(&self, by: u32) -> Result<(), Error>
Increases the size of the table by given number of elements.
Errors
Returns Err
if tried to allocate more elements than permited by limit.
pub fn get(&self, offset: u32) -> Result<Option<FuncRef>, Error>
[src]
pub fn get(&self, offset: u32) -> Result<Option<FuncRef>, Error>
Get the specific value in the table
pub fn set(&self, offset: u32, value: Option<FuncRef>) -> Result<(), Error>
[src]
pub fn set(&self, offset: u32, value: Option<FuncRef>) -> Result<(), Error>
Set the table element to the specified function.
Trait Implementations
impl Debug for TableInstance
[src]
impl Debug for TableInstance
Auto Trait Implementations
impl !Send for TableInstance
impl !Send for TableInstance
impl !Sync for TableInstance
impl !Sync for TableInstance
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,