logo
pub struct WasmSlice<'a, T: ValueType> { /* private fields */ }
Expand description

Reference to an array of values in Wasm memory.

The type of the value must satisfy the requirements of the ValueType trait which guarantees that reading and writing such a value to untrusted memory is safe.

The address is not required to be aligned: unaligned accesses are fully supported.

This wrapper safely handles concurrent modifications of the data by another thread.

Implementations

Creates a new WasmSlice starting at the given offset in memory and with the given number of elements.

Returns a MemoryAccessError if the slice length overflows.

Get the offset into Wasm linear memory for this WasmSlice.

Get a 32-bit WasmPtr for this WasmRef.

Get a 64-bit WasmPtr for this WasmRef.

Get the number of elements in this slice.

Returns true if the number of elements is 0.

Get a WasmRef to an element in the slice.

Get a WasmSlice for a subslice of this slice.

Get an iterator over the elements in this slice.

Reads an element of this slice.

Writes to an element of this slice.

Reads the entire slice into the given buffer.

The length of the buffer must match the length of the slice.

Reads the entire slice into the given uninitialized buffer.

The length of the buffer must match the length of the slice.

This method returns an initialized view of the buffer.

Write the given slice into this WasmSlice.

The length of the slice must match the length of the WasmSlice.

Reads this WasmSlice into a Vec.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

The archived version of the pointer metadata for this type.

Converts some archived metadata to the pointer metadata for itself.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Deserializes using the given deserializer

Returns the argument unchanged.

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

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

Calls U::from(self).

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

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

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

The type for metadata in pointers and references to Self.

The resulting type after obtaining ownership.

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

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more