1个不稳定版本
0.0.1 | 2019年4月30日 |
---|
#21 in #typenum
13KB
277 行
fixed-bitset
编译时大小固定的bitset。
use fixed_bitset::Bitset;
use typenum::consts::*;
let mut set = Bitset::<U100>::new();
set.insert(20);
set.insert(70);
// set.insert(100); // WILL PANIC!
let values: Vec<usize> = set.iter().collect();
assert_eq!(values, vec![20, 70]);
let mut superset = set.clone();
superset.insert(50);
assert!(superset.is_superset(&set));
assert!(set.is_subset(&superset));
let difference = &superset - &set;
assert_eq!(difference.iter().collect::<Vec<_>>(), vec![50]);
assert!(difference.is_disjoint(&set));
lib.rs
:
一个固定大小的、堆分配的bitset。
use fixed_bitset::Bitset;
use typenum::consts::*;
let mut set = Bitset::<U100>::new();
set.insert(20);
set.insert(70);
// set.insert(100); // WILL PANIC!
let values: Vec<usize> = set.iter().collect();
assert_eq!(values, vec![20, 70]);
let mut superset = set.clone();
superset.insert(50);
assert!(superset.is_superset(&set));
assert!(set.is_subset(&superset));
let difference = &superset - &set;
assert_eq!(difference.iter().collect::<Vec<_>>(), vec![50]);
assert!(difference.is_disjoint(&set));
依赖项
~410KB