🦀 ErasedSet
You may be looking for:
This crate provides a new collection: The [ErasedSet
].
It can store any type T: Any
.
Example
# #[derive(Debug, PartialEq)]
# struct ClickEvent(u32, u32);
# #[derive(Debug, PartialEq)]
# struct KeyDownEvent(char);
#
use erased_set::ErasedSet;
let mut set = ErasedSet::new();
set.insert(ClickEvent(128, 256));
set.insert(KeyDownEvent('z'));
assert_eq!(set.get::<ClickEvent>(), Some(&ClickEvent(128, 256)));
assert_eq!(set.insert(KeyDownEvent('e')), Some(KeyDownEvent('z')));
set.remove::<ClickEvent>();
assert_eq!(set.len(), 1);
Features
name | default ? | description |
---|---|---|
send |
yes | Enables [ErasedSendSet ] |
sync |
yes | Enables [ErasedSyncSet ] |
no_std
support
This crate is no_std
compatible, however it still requires alloc
.