Struct wayland_server::UserDataMap [−][src]
A storage able to store several values of UserData
of different types. It behaves similarly to a TypeMap.
Implementations
impl UserDataMap[src]
pub fn new() -> UserDataMap[src]
Create a new map
pub fn get<T>(&self) -> Option<&T> where
T: 'static, [src]
T: 'static,
Attempt to access the wrapped user data of a given type
Will return None if no value of type T is stored in this UserDataMap
and accessible from this thread
pub fn insert_if_missing<T, F>(&self, init: F) -> bool where
F: FnOnce() -> T,
T: 'static, [src]
F: FnOnce() -> T,
T: 'static,
Insert a value in the map if it is not already there
This is the non-threadsafe variant, the type you insert don't have to be threadsafe, but they will not be visible from other threads (even if they are actually threadsafe).
If the value does not already exists, the closure is called to create it and
this function returns true. If the value already exists, the closure is not
called, and this function returns false.
pub fn insert_if_missing_threadsafe<T, F>(&self, init: F) -> bool where
F: FnOnce() -> T,
T: 'static + Send + Sync, [src]
F: FnOnce() -> T,
T: 'static + Send + Sync,
Insert a value in the map if it is not already there
This is the threadsafe variant, the type you insert must be threadsafe and will be visible from all threads.
If the value does not already exists, the closure is called to create it and
this function returns true. If the value already exists, the closure is not
called, and this function returns false.
Trait Implementations
impl Default for UserDataMap[src]
pub fn default() -> UserDataMap[src]
Auto Trait Implementations
impl RefUnwindSafe for UserDataMap
impl Send for UserDataMap
impl Sync for UserDataMap
impl Unpin for UserDataMap
impl !UnwindSafe for UserDataMap
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Downcast for T where
T: Any, [src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>[src]
pub fn as_any(&self) -> &(dyn Any + 'static)[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any, [src]
T: Send + Sync + Any,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,