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 UserData
pub fn new_threadsafe<T: Send + Sync + 'static>(value: T) -> UserData
[src]
pub fn new_threadsafe<T: Send + Sync + 'static>(value: T) -> UserData
Create 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) -> UserData
Create 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() -> UserData
Create 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
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