7#ifndef WASMTIME_ARRAYREF_H
8#define WASMTIME_ARRAYREF_H
12#ifdef WASMTIME_FEATURE_GC
WASM_API_EXTERN wasmtime_error_t * wasmtime_arrayref_new(wasmtime_context_t *context, const wasmtime_array_ref_pre_t *pre, const wasmtime_val_t *elem, uint32_t len, wasmtime_arrayref_t *out)
Allocate a new array instance.
struct wasmtime_array_ref_pre wasmtime_array_ref_pre_t
An opaque pre-allocated array layout for fast allocation.
Definition: arrayref.h:29
WASM_API_EXTERN wasmtime_array_ref_pre_t * wasmtime_array_ref_pre_new(wasmtime_context_t *context, const wasmtime_array_type_t *ty)
Create a new array pre-allocator.
WASM_API_EXTERN void wasmtime_arrayref_unroot(wasmtime_arrayref_t *ref)
Unroot an arrayref to allow garbage collection.
WASM_API_EXTERN void wasmtime_array_ref_pre_delete(wasmtime_array_ref_pre_t *pre)
Delete an array pre-allocator.
WASM_API_EXTERN void wasmtime_arrayref_to_anyref(const wasmtime_arrayref_t *arrayref, wasmtime_anyref_t *out)
Upcast an arrayref to an anyref.
WASM_API_EXTERN void wasmtime_arrayref_clone(const wasmtime_arrayref_t *arrayref, wasmtime_arrayref_t *out)
Clone an arrayref, creating a new root.
WASM_API_EXTERN wasmtime_error_t * wasmtime_arrayref_set(wasmtime_context_t *context, const wasmtime_arrayref_t *arrayref, uint32_t index, const wasmtime_val_t *val)
Set an element of an array.
WASM_API_EXTERN wasmtime_error_t * wasmtime_arrayref_len(wasmtime_context_t *context, const wasmtime_arrayref_t *arrayref, uint32_t *out)
Get the length of an array.
WASM_API_EXTERN wasmtime_error_t * wasmtime_arrayref_get(wasmtime_context_t *context, const wasmtime_arrayref_t *arrayref, uint32_t index, wasmtime_val_t *out)
Read an element from an array.
WASM_API_EXTERN void wasmtime_arrayref_to_eqref(const wasmtime_arrayref_t *arrayref, wasmtime_eqref_t *out)
Upcast an arrayref to an eqref.
Build-time defines for how the C API was built.
A WebAssembly value in the any hierarchy of GC types.
Definition: val.h:77
A WebAssembly arrayref value.
Definition: val.h:210
uint64_t store_id
Internal metadata.
Definition: val.h:212
An interior pointer into a wasmtime_store_t which is used as "context" for many functions.
A WebAssembly eqref value.
Definition: val.h:163
Errors generated by Wasmtime.
Container for different kinds of wasm values.
Definition: val.h:376
struct wasmtime_array_type wasmtime_array_type_t
An opaque handle to a WebAssembly array type definition.
Definition: types/arrayref.h:29