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
. -
You can also access the guts of instantiation through
HelloWorldIndices::new_instance
followed byHelloWorldIndices::load
to crate an instance of this type.
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_instance
and
HelloWorldIndices::load
.
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: Host,
pub fn demo(&self) -> &Guest
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