3 个版本 (破坏性更新)
0.3.0 | 2022 年 8 月 31 日 |
---|---|
0.2.0 | 2022 年 8 月 15 日 |
0.1.0 | 2022 年 8 月 15 日 |
#1775 在 数据结构
每月 117 次下载
150KB
3K SLoC
bitmac
此库提供了带有自定义比特访问和调整大小的策略的位图实现。
[dependencies]
bitmac = "0.3"
功能
功能 | 描述 |
---|---|
bytes |
为 Bytes 实现 ContainerRead 特性,以及为 BytesMut 实现 ContainerRead 、ContainerWrite 和 Resizable 特性 |
smallvec |
为 SmallVec 实现 ContainerRead 、ContainerWrite 和 Resizable 特性 |
示例
use bitmac::{StaticBitmap, LSB, Intersection, Union};
fn main() {
let mut bitmap = StaticBitmap::<u16, LSB>::default();
assert!(!bitmap.get(0));
assert!(!bitmap.get(7));
bitmap.set(0, true);
bitmap.set(7, true);
assert!(bitmap.get(0));
assert!(bitmap.get(7));
assert_eq!(bitmap.intersection_len(0b0000_1111_0000_0001u16), 1);
assert_eq!(bitmap.union_len(0b0000_1111_0000_0001u16), 6);
}
许可证
根据您的选择,在 Apache License, Version 2.0 或 MIT 许可证下许可。除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在此软件包中的任何贡献,都将如上所述双重许可,不附加任何其他条款或条件。
依赖关系
~0.3–0.8MB
~19K SLoC