pub struct LinearTable { /* private fields */ }Expand description
A table instance.
Implementations§
Source§impl LinearTable
impl LinearTable
Sourcepub fn new(table: &TableType, style: &TableStyle) -> Result<Self, String>
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.
Sourcepub unsafe fn from_definition(
table: &TableType,
style: &TableStyle,
vm_table_location: NonNull<VMTableDefinition>,
) -> Result<Self, String>
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_locationmust point to a valid location in VM memory.
Trait Implementations§
Source§impl Debug for LinearTable
impl Debug for LinearTable
Source§impl Table for LinearTable
impl Table for LinearTable
Source§fn style(&self) -> &TableStyle
fn style(&self) -> &TableStyle
Returns the style for this Table.
Source§fn grow(&self, delta: u32, init_value: TableElement) -> Option<u32>
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>
fn get(&self, index: u32) -> Option<TableElement>
Get reference to the specified element.
Returns None if the index is out of bounds.
Source§fn vmtable(&self) -> NonNull<VMTableDefinition>
fn vmtable(&self) -> NonNull<VMTableDefinition>
Return a VMTableDefinition for exposing the table to compiled wasm code.
impl Send for LinearTable
This is correct because there is no thread-specific data tied to this type.
impl Sync for LinearTable
This is correct because all internal mutability is protected by a mutex.
Auto Trait Implementations§
impl !Freeze for LinearTable
impl !RefUnwindSafe for LinearTable
impl Unpin for LinearTable
impl !UnwindSafe for LinearTable
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.