Struct wasmer::TableType[][src]

pub struct TableType {
    pub ty: Type,
    pub minimum: u32,
    pub maximum: Option<u32>,
}
Expand description

A descriptor for a table in a WebAssembly module.

Tables are contiguous chunks of a specific element, typically a funcref or an externref. The most common use for tables is a function table through which call_indirect can invoke other functions.

Fields

ty: Type

The type of data stored in elements of the table.

minimum: u32

The minimum number of elements in the table.

maximum: Option<u32>

The maximum number of elements in the table.

Implementations

impl TableType[src]

pub fn new(ty: Type, minimum: u32, maximum: Option<u32>) -> TableType[src]

Creates a new table descriptor which will contain the specified element and have the limits applied to its length.

Trait Implementations

impl Archive for TableType where
    Type: Archive,
    u32: Archive,
    Option<u32>: Archive, 
[src]

type Archived = ArchivedTableType

The archived version of this type.

type Resolver = TableTypeResolver

The resolver for this type. It must contain all the information needed to make the archived type from the normal type. Read more

pub fn resolve(
    &self,
    pos: usize,
    resolver: <TableType as Archive>::Resolver,
    out: &mut MaybeUninit<<TableType as Archive>::Archived>
)
[src]

Creates the archived version of this value at the given position and writes it to the given output. Read more

impl Clone for TableType[src]

pub fn clone(&self) -> TableType[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for TableType[src]

pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl<'de> Deserialize<'de> for TableType[src]

pub fn deserialize<__D>(
    __deserializer: __D
) -> Result<TableType, <__D as Deserializer<'de>>::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl<__D> Deserialize<TableType, __D> for <TableType as Archive>::Archived where
    __D: Fallible + ?Sized,
    Type: Archive,
    <Type as Archive>::Archived: Deserialize<Type, __D>,
    u32: Archive,
    <u32 as Archive>::Archived: Deserialize<u32, __D>,
    Option<u32>: Archive,
    <Option<u32> as Archive>::Archived: Deserialize<Option<u32>, __D>, 
[src]

pub fn deserialize(
    &self,
    deserializer: &mut __D
) -> Result<TableType, <__D as Fallible>::Error>
[src]

Deserializes using the given deserializer

impl Display for TableType[src]

pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl Hash for TableType[src]

pub fn hash<__H>(&self, state: &mut __H) where
    __H: Hasher
[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl MemoryUsage for TableType[src]

pub fn size_of_val(&self, visited: &mut dyn MemoryUsageTracker) -> usize[src]

Returns the size of the referenced value in bytes. Read more

impl PartialEq<TableType> for TableType[src]

pub fn eq(&self, other: &TableType) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

pub fn ne(&self, other: &TableType) -> bool[src]

This method tests for !=.

impl Serialize for TableType[src]

pub fn serialize<__S>(
    &self,
    __serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

impl<__S> Serialize<__S> for TableType where
    __S: Fallible + ?Sized,
    Type: Serialize<__S>,
    u32: Serialize<__S>,
    Option<u32>: Serialize<__S>, 
[src]

pub fn serialize(
    &self,
    serializer: &mut __S
) -> Result<<TableType as Archive>::Resolver, <__S as Fallible>::Error>
[src]

Writes the dependencies for the object and returns a resolver that can create the archived type. Read more

impl Copy for TableType[src]

impl Eq for TableType[src]

impl StructuralEq for TableType[src]

impl StructuralPartialEq for TableType[src]

Auto Trait Implementations

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> ArchivePointee for T

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.

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

Converts some archived metadata to the pointer metadata for itself.

impl<T> ArchiveUnsized for T where
    T: Archive, 

type Archived = <T as Archive>::Archived

The archived counterpart of this type. Unlike Archive, it may be unsized.

type MetadataResolver = ()

The resolver for the metadata of this type.

pub fn resolve_metadata(
    &self,
    usize,
    <T as ArchiveUnsized>::MetadataResolver,
    &mut MaybeUninit<<<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata>
)

Creates the archived version of the metadata for this value at the given position and writes it to the given output. Read more

fn resolve_unsized(
    &self,
    from: usize,
    to: usize,
    resolver: Self::MetadataResolver,
    out: &mut MaybeUninit<RelPtr<Self::Archived>>
)

Resolves a relative pointer to this value with the given from and to and writes it to the given output. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

pub fn equivalent(&self, key: &K) -> bool[src]

Compare self to key and return true if they are equal.

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

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

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

Initializes a with the given initializer. Read more

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

Dereferences the given pointer. Read more

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

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

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

impl<T> Pointee for T

type Metadata = ()

The type for metadata in pointers and references to Self.

impl<T, S> SerializeUnsized<S> for T where
    T: Serialize<S>,
    S: Serializer + ?Sized

pub fn serialize_unsized(
    &self,
    serializer: &mut S
) -> Result<usize, <S as Fallible>::Error>

Writes the object and returns the position of the archived type.

pub fn serialize_metadata(
    &self,
    &mut S
) -> Result<<<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, <S as Fallible>::Error>

Serializes the metadata for the given type.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T> ToString for T where
    T: Display + ?Sized
[src]

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]