pub struct HelloWorld { /* private fields */ }
runtime
and crate feature component-model
and docsrs
only.Expand description
Auto-generated bindings for an instance a component which
implements the world hello-world
.
This structure can be created through a number of means depending on your requirements and what you have on hand:
-
The most convenient way is to use
HelloWorld::instantiate
which only needs aStore
,Component
, andLinker
. -
Alternatively you can create a
HelloWorldPre
ahead of time with aComponent
to front-load string lookups of exports once instead of per-instantiation. This method then usesHelloWorldPre::instantiate
to create aHelloWorld
. -
If you’ve instantiated the instance yourself already then you can use
HelloWorld::new
.
These methods are all equivalent to one another and move around the tradeoff of what work is performed when.
Implementations§
Source§impl HelloWorld
impl HelloWorld
Sourcepub fn instantiate<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<HelloWorld>
pub fn instantiate<_T>( store: impl AsContextMut<Data = _T>, component: &Component, linker: &Linker<_T>, ) -> Result<HelloWorld>
Convenience wrapper around HelloWorldPre::new
and
HelloWorldPre::instantiate
.
Sourcepub fn new(store: impl AsContextMut, instance: &Instance) -> Result<HelloWorld>
pub fn new(store: impl AsContextMut, instance: &Instance) -> Result<HelloWorld>
Convenience wrapper around HelloWorldIndices::new
and
HelloWorldIndices::load
.
pub fn add_to_linker_imports_get_host<T, G>( linker: &mut Linker<T>, host_getter: G, ) -> Result<()>
pub fn add_to_linker<T, U>(
linker: &mut Linker<T>,
get: impl Fn(&mut T) -> &mut U + Send + Sync + Copy + 'static,
) -> Result<()>where
U: HelloWorldImports,
pub fn call_greet<S: AsContextMut>(&self, store: S) -> Result<()>
Auto Trait Implementations§
impl Freeze for HelloWorld
impl RefUnwindSafe for HelloWorld
impl Send for HelloWorld
impl Sync for HelloWorld
impl Unpin for HelloWorld
impl UnwindSafe for HelloWorld
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more