3 个版本 (破坏性更新)

0.3.0 2022 年 8 月 31 日
0.2.0 2022 年 8 月 15 日
0.1.0 2022 年 8 月 15 日

#1775数据结构

Download history 93/week @ 2024-03-31 13/week @ 2024-04-07 1/week @ 2024-04-14

每月 117 次下载

MIT/Apache

150KB
3K SLoC

bitmac

此库提供了带有自定义比特访问和调整大小的策略的位图实现。

crates.io docs.rs build

[dependencies]
bitmac = "0.3"

功能

功能 描述
bytes Bytes 实现 ContainerRead 特性,以及为 BytesMut 实现 ContainerReadContainerWriteResizable 特性
smallvec SmallVec 实现 ContainerReadContainerWriteResizable 特性

示例

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