Struct wasmer_vm::LinearTable

source ·
pub struct LinearTable { /* private fields */ }
Expand description

A table instance.

Implementations§

source§

impl LinearTable

source

pub fn new(table: &TableType, style: &TableStyle) -> Result<Self, String>

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

This creates a LinearTable with metadata owned by a VM, pointed to by vm_table_location: this can be used to create a local table.

source

pub unsafe fn from_definition( table: &TableType, style: &TableStyle, vm_table_location: NonNull<VMTableDefinition> ) -> Result<Self, String>

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

This creates a LinearTable with metadata owned by a VM, pointed to by vm_table_location: this can be used to create a local table.

Safety
  • vm_table_location must point to a valid location in VM memory.

Trait Implementations§

source§

impl Debug for LinearTable

source§

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

Formats the value using the given formatter. Read more
source§

impl Table for LinearTable

source§

fn ty(&self) -> &TableType

Returns the type for this Table.

source§

fn style(&self) -> &TableStyle

Returns the style for this Table.

source§

fn size(&self) -> u32

Returns the number of allocated elements.

source§

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.

source§

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

Get reference to the specified element.

Returns None if the index is out of bounds.

source§

fn set(&self, index: u32, reference: TableElement) -> Result<(), Trap>

Set reference to the specified element.

Errors

Returns an error if the index is out of bounds.

source§

fn vmtable(&self) -> NonNull<VMTableDefinition>

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

source§

fn copy( &self, src_table: &dyn Table, dst_index: u32, src_index: u32, len: u32 ) -> Result<(), Trap>

Copy len elements from src_table[src_index..] into dst_table[dst_index..]. Read more
source§

impl Send for LinearTable

This is correct because there is no thread-specific data tied to this type.

source§

impl Sync for LinearTable

This is correct because all internal mutability is protected by a mutex.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,

source§

fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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.

§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

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

§

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 Twhere U: TryFrom<T>,

§

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.