#arena #generation #no-std #linked-list

no-std triple_arena

支持非 Clone 类型、删除等操作的常规、链式、单射和有序竞技场

16 个版本 (重大更改)

0.13.0 2024 年 2 月 20 日
0.12.1 2023 年 8 月 29 日
0.11.0 2023 年 8 月 20 日
0.9.0 2023 年 6 月 5 日
0.1.0 2021 年 6 月 2 日

数据结构 中排名 586

Download history 36/week @ 2024-04-22 35/week @ 2024-04-29 57/week @ 2024-05-06 31/week @ 2024-05-13 31/week @ 2024-05-20 88/week @ 2024-05-27 37/week @ 2024-06-03 64/week @ 2024-06-10 44/week @ 2024-06-17 25/week @ 2024-06-24 8/week @ 2024-07-01 51/week @ 2024-07-08 90/week @ 2024-07-15 122/week @ 2024-07-22 53/week @ 2024-07-29 64/week @ 2024-08-05

每月下载量 329
9 仓库中使用(直接使用 3 个)

MIT/Apache

365KB
7K SLoC

Triple Arena

提供 4 种非常灵活的竞技场类型。所有类型都支持非 Clone 类型的条目插入和删除。所有类型都使用 P: Ptr 泛型进行索引,该泛型包含一个可选的生成计数器以检查无效性(省略时无成本)。兼容 no_std

  • Arena<P, T> 是基本的不关联且非继承的竞技场类型
  • ChainArena<P, T> 允许将条目组合成多个线性或循环链,表示在竞技场中存储的理想化双链表
  • SurjectArena<P, K, V> 是一种特殊的并查集数据结构,可以将键条目关联到具有共同值条目的非继承集合中
  • OrdArena<P, K, V> 是有序平衡树和竞技场的融合。所有条目都是键值对,这些键值对都按键排序。支持继承和非继承插入。与大多数 BTreeMapHashMap 不同,对条目的 P: Ptr 引用是稳定的,可以轻易地用于 O(1) 操作。

依赖项

~200KB