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;
40 std::string_view name()
const {
42 return std::string_view(name->data, name->size);
47 Ref ref()
const {
return Ref(ptr.get()); }
60 List(
const List &other) =
delete;
62 List(List &&other) noexcept : list(other.list) { other.list.
size = 0; }
69 List &operator=(
const List &other) =
delete;
71 List &operator=(List &&other)
noexcept {
72 std::swap(list, other.list);
78 typedef const Ref *iterator;
80 iterator begin()
const {
81 return reinterpret_cast<iterator
>(&list.
data[0]);
84 iterator end()
const {
85 return reinterpret_cast<iterator
>(&list.
data[list.
size]);
88 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:319
size_t size
Length of this vector.
Definition: wasm.h:319
wasm_exporttype_t ** data
Pointer to the base of this vector.
Definition: wasm.h:319
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.