1 个不稳定版本
| 0.1.0 | 2024年6月30日 |
|---|
#1516 在 嵌入式开发
15KB
317 行
拥有或借用您的数据。
此crate提供了一种名为OwnOrBorrow的类型,它封装了拥有的数据或对其的RefCell借用引用。借用时类似于Cow。
示例
您可以从一个拥有的值创建一个OwnOrBorrow
use own_or_borrow::OwnOrBorrow;
fn example() {
let mut value = OwnOrBorrow::own(42);
assert_eq!(value.borrow().as_ref(), &42);
assert_eq!(value.borrow_mut().as_mut(), &mut 42);
}
您可以从一个RefCell创建一个OwnOrBorrow并将其以相同的方式处理
use own_or_borrow::OwnOrBorrow;
use core::cell::RefCell;
fn example() {
let refcell = RefCell::new(42);
let mut value = OwnOrBorrow::from(refcell);
assert_eq!(value.borrow().as_ref(), &42);
assert_eq!(value.borrow_mut().as_mut(), &mut 42);
}
依赖项
~160KB