3个稳定版本
1.0.2 | 2020年2月17日 |
---|---|
1.0.1 | 2019年3月30日 |
1.0.0 | 2019年3月28日 |
1185在数据结构类别中
每月下载量66次
7KB
WeakSelf
WeakSelf是在数据结构内部拥有指向自身的弱指针的简单方法。
使用场景
有时你想要创建一个包含指向自身的指针或某些其他递归数据结构的struct
。
struct Foo {
me: &Foo
}
impl Foo {
pub fn new() -> Foo {
let foo = Foo{
me: ????
};
foo
}
}
这个库可以帮助你实现这一点
pub struct Foo {
weak_self: WeakSelf<Foo>
}
impl Foo {
pub fn new() -> Arc<Foo> {
let foo = Arc::new(Foo{
weak_self: WeakSelf::new()
});
foo.weak_self.init(&foo);
foo
}
fn weak(&self) -> Weak<Self> {
self.weak_self.get()
}
}
依赖关系
此包仅依赖于std
用法
要使用WeakSelf,将以下内容添加到你的Cargo.toml
[dependencies]
weakself = "1.0.2"
许可协议
根据MIT许可协议和Apache许可协议(版本2.0)许可。
有关详细信息,请参阅LICENSE-MIT和LICENSE-APACHE。