Enum soroban_wasmi::Extern
source · pub enum Extern {
Global(Global),
Table(Table),
Memory(Memory),
Func(Func),
}
Expand description
An external item to a WebAssembly module.
This is returned from Instance::exports
or Instance::get_export
.
Variants§
Global(Global)
A WebAssembly global which acts like a Cell<T>
of sorts, supporting get
and set
operations.
Table(Table)
A WebAssembly table which is an array of funtion references.
Memory(Memory)
A WebAssembly linear memory.
Func(Func)
A WebAssembly function which can be called.
Implementations§
source§impl Extern
impl Extern
sourcepub fn into_global(self) -> Option<Global>
pub fn into_global(self) -> Option<Global>
Returns the underlying global variable if self
is a global variable.
Returns None
otherwise.
sourcepub fn into_table(self) -> Option<Table>
pub fn into_table(self) -> Option<Table>
Returns the underlying table if self
is a table.
Returns None
otherwise.
sourcepub fn into_memory(self) -> Option<Memory>
pub fn into_memory(self) -> Option<Memory>
Returns the underlying linear memory if self
is a linear memory.
Returns None
otherwise.
Trait Implementations§
impl Copy for Extern
Auto Trait Implementations§
impl RefUnwindSafe for Extern
impl Send for Extern
impl Sync for Extern
impl Unpin for Extern
impl UnwindSafe for Extern
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.