Struct wayland_client::UserData [−][src]
pub struct UserData { /* fields omitted */ }
Expand description
A wrapper for user data, able to store any type, and correctly handling access from a wrong thread
Implementations
Sets the UserData to a given value
The provided closure is called to init the UserData, does nothing is the UserData had already been set.
Sets the UserData to a given threadsafe value
The provided closure is called to init the UserData, does nothing is the UserData had already been set.
Attempt to access the wrapped user data
Will return None
if either:
- The requested type
T
does not match the type used for construction - This
UserData
has been created using the non-threadsafe variant and access is attempted from an other thread than the one it was created on
Trait Implementations
Auto Trait Implementations
Blanket Implementations
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more