pub struct Linker { /* private fields */ }
Expand description

Provides the ability to define imports for a component and create Instances of it.

Implementations§

source§

impl Linker

source

pub fn root(&self) -> &LinkerInstance

Immutably obtains the root interface for this linker.

source

pub fn root_mut(&mut self) -> &mut LinkerInstance

Mutably obtains the root interface for this linker.

source

pub fn define_instance( &mut self, name: InterfaceIdentifier ) -> Result<&mut LinkerInstance>

Creates a new instance in the linker with the provided name. Returns an error if an instance with that name already exists.

source

pub fn instance(&self, name: &InterfaceIdentifier) -> Option<&LinkerInstance>

Immutably obtains the instance with the given name, if any.

source

pub fn instance_mut( &mut self, name: &InterfaceIdentifier ) -> Option<&mut LinkerInstance>

Mutably obtains the instance with the given name, if any.

source

pub fn instances( &self ) -> impl ExactSizeIterator<Item = (&InterfaceIdentifier, &LinkerInstance)>

Gets an immutable iterator over all instances defined in this linker.

source

pub fn instances_mut( &mut self ) -> impl ExactSizeIterator<Item = (&InterfaceIdentifier, &mut LinkerInstance)>

Gets a mutable iterator over all instances defined in this linker.

source

pub fn instantiate( &self, ctx: impl AsContextMut, component: &Component ) -> Result<Instance>

Instantiates a component for the provided store, filling in its imports with externals defined in this linker. All imports must be defined for instantiation to succeed.

Trait Implementations§

source§

impl Clone for Linker

source§

fn clone(&self) -> Linker

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Linker

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Linker

source§

fn default() -> Linker

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for Linker

§

impl Send for Linker

§

impl Sync for Linker

§

impl Unpin for Linker

§

impl !UnwindSafe for Linker

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.