Struct Table

Source
pub struct Table { /* private fields */ }
Expand description

A table instance.

Implementations§

Source§

impl Table

Source

pub fn new(plan: &TablePlan) -> Self

Create a new table instance with specified minimum and maximum number of elements.

Source

pub fn size(&self) -> u32

Returns the number of allocated elements.

Source

pub fn grow(&self, delta: u32) -> Option<u32>

Grow table by the specified amount of elements.

Returns None if table can’t be grown by the specified amount of elements. Returns the previous size of the table if growth is successful.

Source

pub fn get(&self, index: u32) -> Option<VMCallerCheckedAnyfunc>

Get reference to the specified element.

Returns None if the index is out of bounds.

Source

pub fn set(&self, index: u32, func: VMCallerCheckedAnyfunc) -> Result<(), ()>

Set reference to the specified element.

§Panics

Panics if index is out of bounds.

Source

pub fn copy( dst_table: &Self, src_table: &Self, dst_index: u32, src_index: u32, len: u32, ) -> Result<(), Trap>

Copy len elements from src_table[src_index..] into dst_table[dst_index..].

§Errors

Returns an error if the range is out of bounds of either the source or destination tables.

Source

pub fn vmtable(&self) -> VMTableDefinition

Return a VMTableDefinition for exposing the table to compiled wasm code.

Trait Implementations§

Source§

impl Debug for Table

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl !Freeze for Table

§

impl !RefUnwindSafe for Table

§

impl !Send for Table

§

impl !Sync for Table

§

impl Unpin for Table

§

impl UnwindSafe for Table

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.