17个版本
使用旧的Rust 2015
0.2.2 | 2017年10月3日 |
---|---|
0.2.1 | 2017年7月4日 |
0.1.13 | 2017年7月3日 |
0.1.10 | 2017年6月28日 |
在数据结构中排名1839
每月下载量288,907
在5个crate中(3个直接使用)使用
49KB
1.5K SLoC
一个小尺寸数据存储在栈上的bitset实现。
lib.rs
:
IdSet
是一个bitset实现,用于小尺寸数据(小于196的元素)的栈上存储,并跟踪元素计数。
示例
API通常与bitset crate的类似。
#
let mut set = IdSet::new();
set.insert(42);
assert!(set.contains(42));
set.remove(42);
assert_eq!(set.len(), 0);
此外,IdIter
结构提供对任何遍历Block
值迭代器的位的迭代,允许遍历任意多个集合的并集、交集和差集。
#
let a: IdSet = (0..15).collect();
let b: IdSet = (10..20).collect();
let c: IdSet = (0..5).collect();
assert_eq!(a.intersection(b.union(&c)).collect::<Vec<_>>(),
a.intersection(&b).union(a.intersection(&c)).collect::<Vec<_>>());