12个稳定版本
1.1.10 | 2022年3月18日 |
---|---|
1.1.9 | 2021年4月22日 |
1.1.8 | 2020年7月29日 |
1.1.6 | 2019年9月17日 |
1.1.1 | 2018年11月14日 |
在 数据结构 中排名 582
每月下载量 114
6KB
58 行
Rc Writer
将数据写入引用计数实例的小型实现。
示例
RcWriter
use rc_writer::RcWriter;
use std::rc::Rc;
use std::cell::RefCell;
use std::io::Write;
let data = RefCell::new(Vec::new());
let data_rc = Rc::new(data);
let mut writer = RcWriter::new(data_rc.clone());
writer.write(b"Hello world!").unwrap();
writer.flush().unwrap();
assert_eq!(b"Hello world!".to_vec(), *data_rc.borrow());
RcOptionWriter
use rc_writer::RcOptionWriter;
use std::rc::Rc;
use std::cell::RefCell;
use std::io::Write;
let data = RefCell::new(Some(Vec::new()));
let data_rc = Rc::new(data);
let mut writer = RcOptionWriter::new(data_rc.clone());
writer.write(b"Hello world!").unwrap();
writer.flush().unwrap();
let data = data_rc.borrow_mut().take().unwrap(); // remove out the vec from rc
assert_eq!(b"Hello world!".to_vec(), data);
Crates.io
https://crates.io/crates/rc-writer