#bit #operations #macro #pattern #multiple #set #fiddling

bit_fiddler

提供多种便捷模式的常见位操作的宏

5 个版本 (稳定版)

2.1.1 2020 年 11 月 21 日
2.1.0 2020 年 11 月 20 日
2.0.0 2020 年 11 月 20 日
1.0.0 2020 年 11 月 19 日
0.1.0 2020 年 11 月 17 日

#2667Rust 模式

每月 25 次下载
用于 lock-free-freelist

MIT/Apache 许可

39KB
564

bit_fiddler

Crate 用于常见位操作。主要用于设置、切换、取消设置和检查位。

这些操作通过宏提供,可以接受多个模式,以实现方便的位操作。包括对单个位、位范围等的操作。有关详细信息,请参阅宏文档。

此 crate 中的宏不进行溢出/下溢检查。如果提供了无效参数,行为取决于底层运算符,可能会引发 panic。

示例

use bit_fiddler::set;

let mut bitmap = 0b_0000_0000;
set!(in bitmap, u8, [3..6]);
assert_eq!(bitmap, 0b_0011_1000);

文档可在 https://docs.rs/bit_fiddler 上找到


lib.rs:

Crate 用于常见位操作。主要用于设置、切换、取消设置和检查位。

这些操作通过宏提供,可以接受多个模式,以实现方便的位操作。包括对单个位、位范围等的操作。有关详细信息,请参阅宏文档。

此 crate 中的宏不进行溢出/下溢检查。如果提供了无效参数,行为取决于底层运算符,可能会引发 panic。

示例

use bit_fiddler::set;

let mut bitmap = 0b_0000_0000;
set!(in bitmap, u8, [3..6]);
assert_eq!(bitmap, 0b_0011_1000);

无运行时依赖