6 个版本

0.3.0 2023年11月24日
0.2.1 2022年9月8日
0.2.0 2021年12月22日
0.1.2 2020年6月4日
0.1.0 2020年1月18日

1821数据结构

Download history 48/week @ 2024-04-14 14/week @ 2024-04-21 20/week @ 2024-04-28 6/week @ 2024-05-05 3/week @ 2024-05-19 34/week @ 2024-05-26 5/week @ 2024-06-02 9/week @ 2024-06-23 138/week @ 2024-06-30 4/week @ 2024-07-07 52/week @ 2024-07-14 48/week @ 2024-07-21 71/week @ 2024-07-28

175 每月下载量

BSL-1.0 许可证

15KB
328

ttmap (简单类型映射)

Crates.io Documentation Build

简单的类型映射实现

实现使用类型擦除值,以类型作为索引。由于 TypeId 的限制,仅支持无非静态引用的类型。(未来可以更改)

类型擦除

每个插入的值都存储在堆上,使用类型擦除指针,使用类型作为键。当检索值时,使用类型信息作为键,并将指针转换为相应的类型。这是安全的,因为 Rust 允许在指针实际上指向类型的情况下(在这种情况下是)进行指针的来回转换。

允许静态引用,但在当前实现中存储在堆上。未来可能会更改。

哈希实现

该映射使用简化的 Hasher,它依赖于 TypeId 仅生成唯一值的事实。实际上没有底层的哈希,类型的 id 就是直接返回的。

要求

  • 启用全局分配器的 alloc

无运行时依赖