13 个版本 (6 个稳定版)
| 2.0.0 | 2022年12月8日 |
|---|---|
| 2.0.0-pre0 | 2022年3月10日 |
| 1.1.3 | 2022年3月3日 |
| 0.5.0 | 2022年1月24日 |
#826 in 并发
每月 22 次下载
10KB
171 代码行
- RCell,因为
所有大多数其方法都以 "r" 开头
引用计数的包装器,可以是 Strong<T>, Weak<T> 或 Empty,允许有选择地保留值。
当需要存储对某些数据的引用时,但此引用是否需要保持活跃是在运行时决定的。
默认启用的功能 sync 选择 std::sync::Arc<T> 和 std::sync::Weak<T> 作为 rcell::Strong<T> 和 rcell::Weak<T>。当禁用 sync 功能时,非同步的 std::rc::Rc<T> 和 std::rc::Weak<T> 被选为 rcell::Strong<T> 和 rcell::Weak<T>。
lib.rs:
示例
use rcell::*;
// Our Type
#[derive(Debug, PartialEq)]
struct MyType<T>(T);
let my_rcell = RCell::new(MyType(100u8));
assert_eq!(*my_rcell.request().unwrap(), MyType(100));