#set #heap #vec #heap-allocated

dense_bitset

使用无unsafe代码实现的可变大小、堆分配的密集bitset

2个版本

0.1.1 2019年12月19日
0.1.0 2019年12月16日

#1762 in 数据结构

MIT许可证

23KB
393

密集bitset

使用仅安全代码实现的密集bitset。

示例

use dense_bitset::BitSet;

let mut set = BitSet::new();

set.insert(7);
set.set(4, true);
set.flip(5);

assert_eq!(set, [7, 4, 5].iter().collect());

set.remove(7);
set.flip(4);
set.set(5, false);

assert!(set.is_empty());

let a: BitSet = [2, 5, 12, 17].iter().collect();
let b: BitSet = [2, 12].iter().collect();

assert!(!a.is_disjoint(&b));
assert!(b.is_subset(&a));
assert!(a.is_superset(&b));

lib.rs:

仅使用安全代码实现的密集bitset实现。

示例

use dense_bitset::BitSet;

let mut set = BitSet::new();

set.insert(5);
set.insert(42);
set.insert(7);
assert!(set.get(5));

assert_eq!(set, [5, 7, 42].iter().collect());

无运行时依赖