#set #map #anymap #typemap

no-std erased_set

擦除类型集合

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

Download history 1854/week @ 2024-04-23 1559/week @ 2024-04-30 1380/week @ 2024-05-07 1874/week @ 2024-05-14 1759/week @ 2024-05-21 1446/week @ 2024-05-28 2260/week @ 2024-06-04 1168/week @ 2024-06-11 1721/week @ 2024-06-18 1887/week @ 2024-06-25 2203/week @ 2024-07-02 1984/week @ 2024-07-09 2330/week @ 2024-07-16 2114/week @ 2024-07-23 2926/week @ 2024-07-30 2923/week @ 2024-08-06

每月下载量 10,562
20 个crate中使用 (直接使用3个)

MIT许可证

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

没有运行时依赖