#owner #pointers #data #smart-pointers #reference #content #address

ownref

提供捆绑数据与其所有者的智能指针类型

4个版本 (2个重大更新)

0.3.1 2022年1月9日
0.3.0 2022年1月9日
0.2.0 2022年1月9日
0.1.0 2022年1月8日

#2941 in Rust模式


5 个crate中使用 (通过 nuscenes-data)

MIT 许可证

57KB
1.5K SLoC

ownref

[ 文档 | crates.io ]

此crate提供了捆绑数据与其所有者的智能指针类型。它具有以下功能:

  • 数据是所有者部分引用或可能包含所有者引用的数据类型。
  • 引用可以按数据内容或数据指针地址排序。
  • 所有者包含在BoxArc中。

以下表格显示了基于Box的引用类型。泛型O表示所有者类型,I表示数据类型。

数据类型 (I) \ 排序 内容排序 指针地址排序
引用 BoxRefC<O, I> BoxRefA<O, I>
拥有 BoxOwnedC<O, I> BoxOwnedA<O, I>

以下表格显示了基于Arc的引用类型。

数据类型 (I) \ 排序 内容排序 指针地址排序
引用 ArcRefC<O, I> ArcRefA<O, I>
拥有 ArcOwnedC<O, I> ArcOwnedA<O, I>

例如,

  • BoxRefA<Vec<str>, str>是对所有者Vec<str>str的引用,按指针地址排序。
  • ArcOwnedC<Vec<str>>, Option<&str>>存储数据类型Option<&str>,其中包含在拥有者Vec<str>内部的引用。引用按数据内容排序。

许可证

MIT许可证。请参阅许可证文件

无运行时依赖