#non-empty #collection #hash-map #hash-set #rest #element #index-map

non-empty-collections

非空哈希映射和哈希集合实现

8 个版本

使用旧的 Rust 2015

0.1.9 2019年9月17日
0.1.8 2018年8月18日
0.1.7 2018年7月24日

#2227 in 数据结构

45 每月下载量

MIT/Apache

45KB
1K SLoC

non-empty-collections

基于 indexmap::IndexMapindexmap::IndexSet 的非空哈希映射和哈希集合实现,Rust 类型系统保证它们不为空。

pipeline status crates.io docs.rs

[发布文档]

[主文档]

目前并未将 IndexMap 或 IndexSet 的所有方法移植到 NonEmptyIndexMap 和 NonEmptyIndexSet,因此如果您缺少某些功能,欢迎提交 PR! :)

目前这两种实现都过于简单:非空性通过将映射和集合类型声明为元素和集合其余部分的配对来实现。虽然这个想法本身不错,但它在基本上每个操作上都增加了额外的开销,因为我们必须对每个操作执行两次:一次在第一个元素上,一次在其余部分上。

许可证:MIT/Apache-2.0

依赖

~1MB
~20K SLoC