Struct druid::SingleUse [−][src]
pub struct SingleUse<T>(_);
Expand description
A wrapper type for Command
payloads that should only be used once.
This is useful if you have some resource that cannot be cloned, and you wish to send it to another widget.
Examples
use druid::{Command, Selector, SingleUse, Target};
struct CantClone(u8);
let selector = Selector::new("use-once");
let num = CantClone(42);
let command = selector.with(SingleUse::new(num));
let payload: &SingleUse<CantClone> = command.get_unchecked(selector);
if let Some(num) = payload.take() {
// now you own the data
assert_eq!(num.0, 42);
}
// subsequent calls will return `None`
assert!(payload.take().is_none());
Implementations
Auto Trait Implementations
impl<T> RefUnwindSafe for SingleUse<T>
impl<T> UnwindSafe for SingleUse<T>
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
impl<T> RoundFrom<T> for T
impl<T> RoundFrom<T> for T
pub fn round_from(x: T) -> T
pub fn round_from(x: T) -> T
Performs the conversion.
pub fn round_into(self) -> U
pub fn round_into(self) -> U
Performs the conversion.
type Output = T
type Output = T
Should always be Self
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more