pub enum BindingAny<PluginId, Ctx>{
ExactlyOne(Binding<PluginId, Ctx, ExactlyOne<PluginId, PluginInstance<Ctx>>>),
AtMostOne(Binding<PluginId, Ctx, AtMostOne<PluginId, PluginInstance<Ctx>>>),
AtLeastOne(Binding<PluginId, Ctx, AtLeastOne<PluginId, PluginInstance<Ctx>>>),
Any(Binding<PluginId, Ctx, Any<PluginId, PluginInstance<Ctx>>>),
}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, PluginInstance<Ctx>>>)
Exactly one plugin implementation.
AtMostOne(Binding<PluginId, Ctx, AtMostOne<PluginId, PluginInstance<Ctx>>>)
Zero or one plugin implementation.
AtLeastOne(Binding<PluginId, Ctx, AtLeastOne<PluginId, PluginInstance<Ctx>>>)
One or more plugin implementations.
Any(Binding<PluginId, Ctx, Any<PluginId, PluginInstance<Ctx>>>)
Zero or more plugin implementations.
Trait Implementations§
Source§impl<PluginId, Ctx> Clone for BindingAny<PluginId, Ctx>
impl<PluginId, Ctx> Clone for BindingAny<PluginId, Ctx>
Source§fn clone(&self) -> BindingAny<PluginId, Ctx>
fn clone(&self) -> BindingAny<PluginId, Ctx>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<PluginId, Ctx> Debug for BindingAny<PluginId, Ctx>
impl<PluginId, Ctx> Debug for BindingAny<PluginId, Ctx>
Source§impl<PluginId, Ctx> From<Binding<PluginId, Ctx>> for BindingAny<PluginId, Ctx>
impl<PluginId, Ctx> From<Binding<PluginId, Ctx>> for BindingAny<PluginId, Ctx>
Source§fn from(
binding: Binding<PluginId, Ctx, ExactlyOne<PluginId, PluginInstance<Ctx>>>,
) -> Self
fn from( binding: Binding<PluginId, Ctx, ExactlyOne<PluginId, PluginInstance<Ctx>>>, ) -> Self
Converts to this type from the input type.
Source§impl<PluginId, Ctx> From<Binding<PluginId, Ctx, Any<PluginId, PluginInstance<Ctx>>>> for BindingAny<PluginId, Ctx>
impl<PluginId, Ctx> From<Binding<PluginId, Ctx, Any<PluginId, PluginInstance<Ctx>>>> for BindingAny<PluginId, Ctx>
Source§impl<PluginId, Ctx> From<Binding<PluginId, Ctx, AtLeastOne<PluginId, PluginInstance<Ctx>>>> for BindingAny<PluginId, Ctx>
impl<PluginId, Ctx> From<Binding<PluginId, Ctx, AtLeastOne<PluginId, PluginInstance<Ctx>>>> for BindingAny<PluginId, Ctx>
Source§fn from(
binding: Binding<PluginId, Ctx, AtLeastOne<PluginId, PluginInstance<Ctx>>>,
) -> Self
fn from( binding: Binding<PluginId, Ctx, AtLeastOne<PluginId, PluginInstance<Ctx>>>, ) -> Self
Converts to this type from the input type.
Source§impl<PluginId, Ctx> From<Binding<PluginId, Ctx, AtMostOne<PluginId, PluginInstance<Ctx>>>> for BindingAny<PluginId, Ctx>
impl<PluginId, Ctx> From<Binding<PluginId, Ctx, AtMostOne<PluginId, PluginInstance<Ctx>>>> for BindingAny<PluginId, Ctx>
Auto Trait Implementations§
impl<PluginId, Ctx> Freeze for BindingAny<PluginId, Ctx>
impl<PluginId, Ctx> RefUnwindSafe for BindingAny<PluginId, Ctx>where
PluginId: RefUnwindSafe,
impl<PluginId, Ctx> Send for BindingAny<PluginId, Ctx>
impl<PluginId, Ctx> Sync for BindingAny<PluginId, Ctx>
impl<PluginId, Ctx> Unpin for BindingAny<PluginId, Ctx>
impl<PluginId, Ctx> UnsafeUnpin for BindingAny<PluginId, Ctx>
impl<PluginId, Ctx> UnwindSafe for BindingAny<PluginId, Ctx>where
PluginId: RefUnwindSafe,
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