4个版本 (2个重大更改)
0.8.0 | 2024年2月20日 |
---|---|
0.7.0 | 2022年5月30日 |
0.6.1 | 2022年5月28日 |
0.6.0 | 2022年5月11日 |
在 数据结构 中排名第 532
每月下载量 10,562
在 20 个crate中使用 (直接使用3个)
21KB
205 行
🦀 ErasedSet
擦除类型的集合。
你可能还在寻找
许可证
在 MIT许可证 下授权。
lib.rs
:
🦀 ErasedSet
你可能还在寻找
该crate提供了一个新的集合:ErasedSet
。它允许在一个集合中存储不同的类型(只要它们实现了 Any
)。
示例
#
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);
功能
名称 | 默认值 ? | 描述 |
---|---|---|
发送 |
是 | 启用 ErasedSendSet |
同步 |
是 | 启用 ErasedSyncSet |
no_std
支持
该crate与 no_std
兼容,但仍然需要 alloc
。