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 内存管理

Apache-2.0/MIT

44KB
840

obj-pool

Build Status License Documentation

这是什么?

简单的对象竞技场。

你想构建一个双向链表?或者可能是一个双向树?也许是一个更复杂的对象图?

管理所有权和生命周期可能很困难。你的选择归结为

  1. 使用不安全的代码来逃离Rust的所有权规则。
  2. 将每个对象包裹在 Rc<RefCell<T>>
  3. 使用 Vec<T> 存储对象,然后使用索引访问它们。

如果最后一个选项对你最有吸引力,那么可能 ObjPool<T> 就是你的选择。它将提供一个比普通的 Vec<T> 更方便的API。

示例

使用 ObjPool<T> 构建的一些数据结构

依赖项

~0.4–6MB
~15K SLoC