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