1 个不稳定版本
0.1.0 | 2022 年 3 月 18 日 |
---|
#2238 在 数据结构
10KB
184 行
Rust 的指针和值包装类型
此包提供了 PointerAndValue
类型,它是一个原始 *const T
指针的包装器,同时也将一个小整数值打包在对齐位中,并保证 mem::size_of::<PointerAndValue<T>>() == mem::size_of::<*const T>()
.
它受到了来自 LLVM 的 llvm::PointerIntPair 和 USD 的 TfPointerAndBits 的启发。
它还提供了 Cow
,它类似于 std::borrow::Cow,但存储 &'a T
或 Box<T>
,并保证与 *const T
具有相同的大小。
待办事项和限制
- 由于
mem::align_of
返回最小对齐为 1,因此目前无法与零大小类型的指针一起使用。 - 支持动态大小类型