1个不稳定版本

0.0.1 2019年4月30日

#21 in #typenum

MIT 许可证

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