#collection #multimap #found #set #map #index-map #backed

more_collections

不在std::collections中找到的附加集合

23个版本 (13个破坏性版本)

0.14.0 2024年6月14日
0.13.4 2024年3月22日
0.12.0 2023年12月22日
0.10.0 2023年11月21日
0.1.0 2021年12月24日

#590 in 数据结构

Download history 148/week @ 2024-05-02 78/week @ 2024-05-09 38/week @ 2024-05-16 49/week @ 2024-05-23 39/week @ 2024-05-30 45/week @ 2024-06-06 229/week @ 2024-06-13 60/week @ 2024-06-20 71/week @ 2024-06-27 109/week @ 2024-07-04 21/week @ 2024-07-11 34/week @ 2024-07-18 96/week @ 2024-07-25 42/week @ 2024-08-01 42/week @ 2024-08-08 12/week @ 2024-08-15

每月202次下载

Apache-2.0

195KB
4.5K SLoC

更多集合   最新版本 文档徽章 许可: Apache-2.0

不在std::collections中找到的附加Rust集合。

小型*集合

基于出色的smallvec crate构建,如果包含的值少于(静态选择的)容量C,则SmallMapSmallSet分别是一个MapSet,否则它们是堆分配的,并由一个IndexMap支持。

完成 名称 行为
🟩🟩🟨⬜️⬜️ SmallMap IndexMap<K, V>
🟩🟩🟨⬜️⬜️ SmallSet IndexSet<T>
⬜️⬜️⬜️⬜️⬜️ SmallSortedMap BTreeMap<K, V>
⬜️⬜️⬜️⬜️⬜️ SmallSortedSet BTreeSet<T>

多映射

完成 名称 行为
🟩🟩🟩🟩🟨 HashSetMultimap HashMap<K, HashSet<V>>
🟩🟩🟩🟩🟨 HashVecMultimap HashMap<K,Vec<V>>
🟩🟩🟩🟩🟨 IndexSetMultimap IndexMap<K, IndexSet<V>>
🟩🟩🟩🟩🟨 IndexVecMultimap IndexMap<K,Vec<V>>
⬜️⬜️⬜️⬜️⬜️ BTreeSetMultimap BTreeMap<K, BTreeSet<V>>
⬜️⬜️⬜️⬜️⬜️ BTreeVecMultimap BTreeMap<K,Vec<V>>
⬜️⬜️⬜️⬜️⬜️ EnumHashSetMultimap EnumMap<K, HashSet<V>>
⬜️⬜️⬜️⬜️⬜️ EnumIndexSetMultimap EnumMap<K, IndexSet<V>>
⬜️⬜️⬜️⬜️⬜️ EnumVecMultimap EnumMap<K,Vec<V>>
⬜️⬜️⬜️⬜️⬜️ EnumEnumMultimap EnumMap<K, EnumSet<V>>

详细概述.

VecMap

完成 名称 替换 实现方式 特色功能
🟩🟩🟩🟨⬜️ VecMap IndexMap<K,V> Vec<Option<T>> 快速随机访问

点击此处查看API的详细描述和概述.

多重集

完成 名称 行为
⬜️⬜️⬜️⬜️⬜️ IndexMultiset IndexMap<K,usize>
⬜️⬜️⬜️⬜️⬜️ HashMultiset HashMap<K,usize>
⬜️⬜️⬜️⬜️⬜️ BTreeMultiset BTreeMap<K,usize>
⬜️⬜️⬜️⬜️⬜️ EnumMultiset EnumMap<K,usize>

在此PR中已完成一些工作 https://github.com/rinde/more_collections/pull/8.

依赖

~185KB