4 个版本
使用旧版 Rust 2015
0.1.3 | 2018年4月10日 |
---|---|
0.1.2 | 2018年4月10日 |
0.1.1 | 2018年4月10日 |
0.1.0 | 2018年4月10日 |
在 Rust 模式 中排名 #2800
每月下载量 2,558
在 9 个 crate 中使用(直接使用 4 个)
7KB
119 代码行
借出-或-拥有
提供借出-或-拥有智能指针。
为不需要封装类型实现 Clone
特性的情况替代 Cow
。
如果你想要一个类似 Cow
的东西,但你的类型无法克隆,请使用此 crate。
你可以在这里找到 rustdoc 链接。
如何使用
extern crate boow;
use boow::Bow;
// This struct contains a type for which we cannot know at compile time
// whether it will be owned or borrowed.
struct MyStruct<'a> {
borrowed_or_owned: Bow<'a, InnerStruct>,
}
struct InnerStruct {
_stuff: String,
}
impl<'a> MyStruct<'a> {
// Use borrowed value
fn from_borrowed(inner: &'a InnerStruct) -> Self {
Self { borrowed_or_owned: Bow::Borrowed(inner) }
}
// Use owned value
fn from_owned(inner: InnerStruct) -> Self {
Self { borrowed_or_owned: Bow::Owned(inner) }
}
}
no_std
如果你有兴趣使用此 crate 并与 no_std
和 alloc
crate 一起,请在 Cargo.toml
中添加以下内容
[dependencies]
boow = { version = "0.1", default-features = false }
依赖
~8KB