7个版本
| 0.2.2 | 2023年2月25日 |
|---|---|
| 0.2.1 | 2021年1月30日 |
| 0.1.2 | 2021年1月8日 |
| 0.1.1 | 2020年7月30日 |
| 0.0.1 | 2020年5月21日 |
#60 in 无标准库
26,787 每月下载量
在 32 个crate中使用(通过 abi_stable)
210KB
2K SLoC
repr_offset 允许计算并安全地使用具有定义布局的类型字段偏移量。
目前仅支持 #[repr(C)]/#[repr(C,packed)]/#[repr(C,align)] 结构体。
特性
以下是一些该库提供的功能
-
ReprOffset带宏,输出与字段偏移量相关联的常量,并为每个字段实现GetFieldOffset特性。 -
FieldOffset类型(如何表示偏移量),包含通过结构体指针操作字段的方法,包括获取字段引用(或指针)。 -
unsafe_struct_field_offsets宏作为ReprOffset带宏的替代方案,当禁用 "derive" 功能时最有用。 -
《GetFieldOffset》特质,用于获取字段的
FieldOffset,以及用于获取字段FieldOffset的便捷语法的宏OFF!、off、PUB_OFF!和pub_off。 -
ext模块扩展特质,定义了给定FieldOffset操作字段的方法。
示例
有关示例,您可以查看 repr_offset 库根模块的文档示例部分
未来计划
目前没有。
Cargo 功能
以下是 repr_offset 中的 cargo 功能
-
derive(默认禁用):启用ReprOffsetderive 宏。这需要与syn相同的 Rust 版本,目前为>= 1.56.0。 -
"for_examples"(默认禁用):启用for_examples模块,其中包含文档示例中使用的类型。
将 "derive" 功能添加到 Cargo.toml 文件
repr_offset = { version = "0.2", features = ["derive"] }
no-std 支持
这个库无条件地 #![no_std],未来也不太可能改变。
最低 Rust 版本
此 crate 支持 Rust 1.41.0。
许可证
受 Zlib 许可证的许可
依赖项
~74–370KB