5#ifndef WASMTIME_TYPES_EXPORT_HH
6#define WASMTIME_TYPES_EXPORT_HH
10#include <wasmtime/helpers.hh>
19#define wasm_exporttype_clone wasm_exporttype_copy
20 WASMTIME_CLONE_WRAPPER(ExportType, wasm_exporttype);
21#undef wasm_exporttype_clone
27 friend class ExternType;
38 std::string_view name() {
40 return std::string_view(name->data, name->size);
45 Ref ref()
const {
return Ref(ptr.get()); }
58 List(
const List &other) =
delete;
60 List(List &&other) noexcept : list(other.list) { other.list.
size = 0; }
67 List &operator=(
const List &other) =
delete;
69 List &operator=(List &&other)
noexcept {
70 std::swap(list, other.list);
76 typedef const Ref *iterator;
78 iterator begin()
const {
79 return reinterpret_cast<iterator
>(&list.
data[0]);
82 iterator end()
const {
83 return reinterpret_cast<iterator
>(&list.
data[list.
size]);
86 size_t size()
const {
return list.
size; }
Type information about a WebAssembly export.
Definition: export.hh:17
An opaque object representing the type of an export.
A list of wasm_exporttype_t values.
Definition: wasm.h:305
size_t size
Length of this vector.
Definition: wasm.h:305
wasm_exporttype_t ** data
Pointer to the base of this vector.
Definition: wasm.h:305
An opaque object representing the type of a external value. Can be seen as a superclass of wasm_funct...
const wasm_name_t * wasm_exporttype_name(const wasm_exporttype_t *)
Returns the name of this export.
const wasm_externtype_t * wasm_exporttype_type(const wasm_exporttype_t *)
Returns the type of this export.
void wasm_exporttype_vec_delete(wasm_exporttype_vec_t *)
Deallocates export for a vector.