diff options
Diffstat (limited to 'native/src/widget/id.rs')
-rw-r--r-- | native/src/widget/id.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/native/src/widget/id.rs b/native/src/widget/id.rs index 4c0ab999..4b8fedf1 100644 --- a/native/src/widget/id.rs +++ b/native/src/widget/id.rs @@ -3,14 +3,19 @@ use std::sync::atomic::{self, AtomicUsize}; static NEXT_ID: AtomicUsize = AtomicUsize::new(0); +/// The identifier of a generic widget. #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct Id(Internal); impl Id { + /// Creates a custom [`Id`]. pub fn new(id: impl Into<borrow::Cow<'static, str>>) -> Self { Self(Internal::Custom(id.into())) } + /// Creates a unique [`Id`]. + /// + /// This function produces a different [`Id`] every time it is called. pub fn unique() -> Self { let id = NEXT_ID.fetch_add(1, atomic::Ordering::Relaxed); |