pub enum BindingAny<PluginId, Ctx, Instance = PluginInstanceSync<Ctx>>where
PluginId: Hash + Eq + Clone + Send + Sync + 'static,
Ctx: PluginContext + 'static,
Instance: Send + 'static,{
ExactlyOne(Binding<PluginId, Ctx, ExactlyOne<PluginId, Instance>, Instance>),
AtMostOne(Binding<PluginId, Ctx, AtMostOne<PluginId, Instance>, Instance>),
AtLeastOne(Binding<PluginId, Ctx, AtLeastOne<PluginId, Instance>, Instance>),
Any(Binding<PluginId, Ctx, Any<PluginId, Instance>, Instance>),
}Expand description
Type-erased binding wrapper for heterogeneous socket lists.
Use when a plugin’s sockets include bindings with different cardinalities.
Variants§
ExactlyOne(Binding<PluginId, Ctx, ExactlyOne<PluginId, Instance>, Instance>)
Exactly one plugin implementation.
AtMostOne(Binding<PluginId, Ctx, AtMostOne<PluginId, Instance>, Instance>)
Zero or one plugin implementation.
AtLeastOne(Binding<PluginId, Ctx, AtLeastOne<PluginId, Instance>, Instance>)
One or more plugin implementations.
Any(Binding<PluginId, Ctx, Any<PluginId, Instance>, Instance>)
Zero or more plugin implementations.
Trait Implementations§
Source§impl<PluginId, Ctx, Instance> Clone for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance> Clone for BindingAny<PluginId, Ctx, Instance>
Source§impl<PluginId, Ctx, Instance> Debug for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance> Debug for BindingAny<PluginId, Ctx, Instance>
Source§impl<PluginId, Ctx, Instance> From<Binding<PluginId, Ctx, Any<PluginId, Instance>, Instance>> for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance> From<Binding<PluginId, Ctx, Any<PluginId, Instance>, Instance>> for BindingAny<PluginId, Ctx, Instance>
Source§impl<PluginId, Ctx, Instance> From<Binding<PluginId, Ctx, AtLeastOne<PluginId, Instance>, Instance>> for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance> From<Binding<PluginId, Ctx, AtLeastOne<PluginId, Instance>, Instance>> for BindingAny<PluginId, Ctx, Instance>
Source§fn from(
binding: Binding<PluginId, Ctx, AtLeastOne<PluginId, Instance>, Instance>,
) -> Self
fn from( binding: Binding<PluginId, Ctx, AtLeastOne<PluginId, Instance>, Instance>, ) -> Self
Converts to this type from the input type.
Source§impl<PluginId, Ctx, Instance> From<Binding<PluginId, Ctx, AtMostOne<PluginId, Instance>, Instance>> for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance> From<Binding<PluginId, Ctx, AtMostOne<PluginId, Instance>, Instance>> for BindingAny<PluginId, Ctx, Instance>
Source§impl<PluginId, Ctx, Instance> From<Binding<PluginId, Ctx, ExactlyOne<PluginId, Instance>, Instance>> for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance> From<Binding<PluginId, Ctx, ExactlyOne<PluginId, Instance>, Instance>> for BindingAny<PluginId, Ctx, Instance>
Source§fn from(
binding: Binding<PluginId, Ctx, ExactlyOne<PluginId, Instance>, Instance>,
) -> Self
fn from( binding: Binding<PluginId, Ctx, ExactlyOne<PluginId, Instance>, Instance>, ) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<PluginId, Ctx, Instance = PluginInstanceSync<Ctx>> !RefUnwindSafe for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance = PluginInstanceSync<Ctx>> !UnwindSafe for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance> Freeze for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance> Send for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance> Sync for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance> Unpin for BindingAny<PluginId, Ctx, Instance>
impl<PluginId, Ctx, Instance> UnsafeUnpin for BindingAny<PluginId, Ctx, Instance>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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