11个版本
0.5.1 | 2022年10月7日 |
---|---|
0.5.0 | 2022年7月20日 |
0.4.4 | 2020年4月20日 |
0.4.3 | 2019年9月30日 |
0.1.0 | 2018年8月17日 |
#268 in 内存管理
44KB
840 行
obj-pool
这是什么?
简单的对象竞技场。
你想构建一个双向链表?或者可能是一个双向树?也许是一个更复杂的对象图?
管理所有权和生命周期可能很困难。你的选择归结为
- 使用不安全的代码来逃离Rust的所有权规则。
- 将每个对象包裹在
Rc<RefCell<T>>
。 - 使用
Vec<T>
存储对象,然后使用索引访问它们。
如果最后一个选项对你最有吸引力,那么可能 ObjPool<T>
就是你的选择。它将提供一个比普通的 Vec<T>
更方便的API。
示例
使用 ObjPool<T>
构建的一些数据结构
依赖项
~0.4–6MB
~15K SLoC