#bit #bit-field #slice #field #struct-fields #bitstruct

slicefields

允许使用数据结构,其成员是子字节对齐的(例如,一个位对齐)

5 个稳定版本

1.0.4 2023 年 11 月 9 日
1.0.3 2023 年 8 月 30 日
1.0.2 2023 年 7 月 15 日
1.0.1 2023 年 7 月 12 日

#2153Rust 模式

每月 31 次下载

MPL-2.0 许可证

29KB
624

slicefields

slice_fields 库提供了一种零成本的方式,将位切片用于结构体字段,就像它们是真实字段一样。
它非常灵活,与任何实现必要特质的类型(不仅仅是 Rust 的内置类型)一起工作,包括位操作,并且支持所有架构上的可变读/写以及对未对齐指针的访问。

性能

slice_fields 的目标是生成尽可能高效的机器代码,即使没有启用编译器优化。虽然这确实会导致生成的 Rust 代码看起来非常奇怪,但它应该大部分时间都能实现目标。
在编写 slice_fields 的过程中,大量使用了神奇的 Godbolt 编译器探索器。

文档

https://docs.rs/slicefields
上述所有功能的示例也可以在其 测试 中找到

贡献

此项目欢迎任何形式的贡献,无论是通知我库的问题,还是直接贡献代码。然而,由于我希望保持此库小巧简单,因此请在开始工作之前打开一个问题来讨论您想做的更改。

许可证

版权 2023,TeleportAura
此软件根据 MPL 2.0 许可证授权

依赖关系

~17–290KB