pub struct Store {}Expand description
Auto-generated bindings for an instance a component which
implements the world store.
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
Store::instantiatewhich only needs aStore,Component, andLinker. -
Alternatively you can create a
StorePreahead of time with aComponentto front-load string lookups of exports once instead of per-instantiation. This method then usesStorePre::instantiateto create aStore. -
If you’ve instantiated the instance yourself already then you can use
Store::new.
These methods are all equivalent to one another and move around the tradeoff of what work is performed when.
Implementations§
Source§impl Store
impl Store
Sourcepub fn instantiate<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Store, Error>
pub fn instantiate<_T>( store: impl AsContextMut<Data = _T>, component: &Component, linker: &Linker<_T>, ) -> Result<Store, Error>
Convenience wrapper around StorePre::new and
StorePre::instantiate.
Sourcepub fn new(
store: impl AsContextMut,
instance: &Instance,
) -> Result<Store, Error>
pub fn new( store: impl AsContextMut, instance: &Instance, ) -> Result<Store, Error>
Convenience wrapper around StoreIndices::new and
StoreIndices::load.
pub fn add_to_linker<T, D>(
linker: &mut Linker<T>,
host_getter: fn(&mut T) -> <D as HasData>::Data<'_>,
) -> Result<(), Error>where
D: HostWithStore + HostWithStore,
<D as HasData>::Data<'a>: for<'a> Host + for<'a> Host,
T: 'static,
Auto Trait Implementations§
impl Freeze for Store
impl RefUnwindSafe for Store
impl Send for Store
impl Sync for Store
impl Unpin for Store
impl UnsafeUnpin for Store
impl UnwindSafe for Store
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