4 个稳定版本
使用旧 Rust 2015
3.0.1 | 2021 年 4 月 21 日 |
---|---|
3.0.0 | 2018 年 10 月 28 日 |
2.0.1 | 2018 年 9 月 3 日 |
2.0.0 | 2018 年 9 月 2 日 |
#1948 in Rust 模式
每月 30 次下载
7KB
100 行
bitutils
提供位字段及相关功能
API
bitutils 核心是一个宏,bf!
。
语法
bf!(BitfieldName[uXX] {
field1: lower:upper, // e.g. field1: 0:3, which would encompass the least significant nibble
field2: 4:6,
field3: 7:8,
field5: 9:9,
// ...
});
用法
let mut bf = BitfieldName::new(0xFFFF);
bf.field1();
bf.set_field2(0x3);
bf.val &= 0xFF;
println!("{:x?}", bf);
Bitutils 还提供了 bits!
和 bit!
宏。
let foo = bits!(0xFFFF, 0:3);
assert_eq!(0xFF, foo);
let bar = bit!(0xF, 7);
assert_eq!(1, bar);
依赖项
~2MB
~46K SLoC