Struct wasmer_c_api::wasm_c_api::value::wasm_val_t[][src]

#[repr(C)]pub struct wasm_val_t {
    pub kind: wasm_valkind_t,
    pub of: wasm_val_inner,
}

A WebAssembly value composed of its type and its value.

Note that wasm.h defines macros to create Wasm values more easily: WASM_I32_VAL, WASM_I64_VAL, WASM_F32_VAL, WASM_F64_VAL, and WASM_REF_VAL.

Example

int main() {
    // Create a 32-bit integer Wasm value.
    wasm_val_t value1 = {
        .kind = WASM_I32,
        .of = { .i32 = 7 },
    };

    // Create the same value with the `wasm.h` macro.
    wasm_val_t value2 = WASM_I32_VAL(7);

    assert(value2.kind == WASM_I32);
    assert(value1.of.i32 == value2.of.i32);

    return 0;
}

Fields

kind: wasm_valkind_t

The kind of the value.

of: wasm_val_inner

The real value.

Trait Implementations

impl Clone for wasm_val_t[src]

impl Debug for wasm_val_t[src]

impl TryFrom<&'_ Value<Function>> for wasm_val_t[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryFrom<Value<Function>> for wasm_val_t[src]

type Error = &'static str

The type returned in the event of a conversion error.

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Pointable for T

type Init = T

The type for initializers.

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

type Owned = T

The resulting type after obtaining ownership.

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.

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,