[][src]Struct wayland_server::UserDataMap

pub struct UserDataMap { /* fields omitted */ }

A storage able to store several values of UserData of different types. It behaves similarly to a TypeMap.

Methods

impl UserDataMap[src]

pub fn new() -> UserDataMap[src]

Create a new map

pub fn get<T>(&self) -> Option<&T> where
    T: 'static, 
[src]

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]

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]

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]

Auto Trait Implementations

impl Send for UserDataMap

impl Sync for UserDataMap

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Downcast for T where
    T: Any
[src]