#位字段 #位字段 # #定义 #特性 #存储

程序+库 easy-bitfield

为 Rust 提供一个简单易用的位字段库

1 个不稳定版本

0.1.0 2024年6月10日

#16 in #位字段

MIT 许可证

17KB
332

easy-bitfield

一个易于使用的位字段操作包。有关示例,请参阅 examples/sample.rs 和包的文档。


lib.rs:

easy-bitfield

一个易于使用的位字段包,允许你使用任何可想象的存储和值类型定义位字段类型(即实现 ToBitfieldFromBitfield 特性)。

示例

use easy_bitfield::*;

pub type X = BitField<usize, bool, 0, 1, false>;
pub type Y = BitField<usize, u16, { X::NEXT_BIT }, 16, false>;
pub type Z = BitField<usize, i32, { Y::NEXT_BIT }, 32, true>;

let storage = AtomicBitfieldContainer::new(0);

storage.update::<X>(true);
storage.update::<Y>(42);
storage.update::<Z>(-42);

assert_eq!(-42, storage.read::<Z>());
assert_eq!(42, storage.read::<Y>());
assert!(storage.read::<X>());

依赖项

~645KB
~12K SLoC