Struct wayland_commons::utils::UserData [−][src]
pub struct UserData { /* fields omitted */ }A wrapper for user data, able to store any type, and correctly handling access from a wrong thread
Methods
impl UserData[src]
impl UserDatapub fn new_threadsafe<T: Send + Sync + 'static>(value: T) -> UserData[src]
pub fn new_threadsafe<T: Send + Sync + 'static>(value: T) -> UserDataCreate a new UserData using a threadsafe type
Its contents can be accessed from any thread.
pub fn new<T: 'static>(value: T) -> UserData[src]
pub fn new<T: 'static>(value: T) -> UserDataCreate a new UserData using a non-threadsafe type
Its contents can only be accessed from the same thread as the one you are creating it.
pub fn empty() -> UserData[src]
pub fn empty() -> UserDataCreate a new UserData containing nothing
pub fn get<T: 'static>(&self) -> Option<&T>[src]
pub fn get<T: 'static>(&self) -> Option<&T>Attempt to access the wrapped user data
Will return None if either:
- The requested type
Tdoes not match the type used for construction - This
UserDatahas been created using the non-threadsafe variant and access is attempted from an other thread than the one it was created on