#key-value #id #integer #order-id #maps #automatic #vec

idmap

基于底层Vec的整数id键到值的有效映射

24次发布

0.2.21 2021年9月6日
0.2.19 2020年6月7日
0.2.16 2018年8月24日
0.2.14 2018年5月22日
0.2.3 2017年10月29日

#1654数据结构

Download history 34/week @ 2024-03-11 23/week @ 2024-03-18 13/week @ 2024-03-25 75/week @ 2024-04-01 145/week @ 2024-04-08 78/week @ 2024-04-15 20/week @ 2024-04-22 8/week @ 2024-04-29 10/week @ 2024-05-06 5/week @ 2024-05-13 21/week @ 2024-05-20 14/week @ 2024-05-27 78/week @ 2024-06-03 37/week @ 2024-06-10 18/week @ 2024-06-17 22/week @ 2024-06-24

每月157次下载

MIT许可

84KB
2K SLoC

rust-idmap Crates.io 文档

基于底层Vec的整数id键到值的有效映射。

功能

  • 在稳定版Rust上编译
    • 我只官方支持最新的稳定版 ;)
  • 自动为枚举和新类型结构体推导IntegerId
    • idmap-derive proc_macro包中实现
  • 保持条目的插入顺序,因为有类似于OrderMap的间接引用。
    • 因此,不存在的条目占用的空间很少,因为只需要存储一个u32
    • 可以通过使用不保留顺序的DirectIdMap来避免这种间接引用,这在映射的键的id密集且大部分存在时可以节省空间。

lib.rs:

基于底层Vec的整数id键到值的有效映射。

然而,除非使用CompactIdMap,否则空间需求为O(n)的最大键。任何实现IntegerId的类型都可以用作键,但如果键可以由id表示,则不会浪费存储。

依赖关系

~78–660KB
~11K SLoC