#引用计数 #u8 #rc #读取 #arc #内存 #IO读取

rc-u8-reader

从引用计数实例中读取 u8 数据的小型实现

17个稳定版本

2.0.16 2022年11月3日
2.0.15 2022年3月18日
2.0.14 2021年4月26日
2.0.12 2020年7月29日
1.0.1 2019年5月26日

#166数据结构

Download history 91/week @ 2024-03-11 66/week @ 2024-03-18 78/week @ 2024-03-25 140/week @ 2024-04-01 48/week @ 2024-04-08 70/week @ 2024-04-15 65/week @ 2024-04-22 59/week @ 2024-04-29 84/week @ 2024-05-06 115/week @ 2024-05-13 132/week @ 2024-05-20 155/week @ 2024-05-27 60/week @ 2024-06-03 37/week @ 2024-06-10 50/week @ 2024-06-17 71/week @ 2024-06-24

239 每月下载量
用于 10 包 (3 直接使用)

MIT 许可证

18KB
405

Rc U8 Reader

CI

从引用计数实例中读取 u8 数据的小型实现。

示例

RcU8Reader

use std::rc::Rc;
use std::io::Read;

use rc_u8_reader::RcU8Reader;

let data = b"Hello world!".to_vec();

let mut reader = RcU8Reader::new(Rc::new(data));

let mut result = String::new();

reader.read_to_string(&mut result).unwrap();

assert_eq!("Hello world!".to_string(), result);

RcRefCellU8Reader

use std::cell::RefCell;
use std::rc::Rc;
use std::io::Read;

use rc_u8_reader::RcRefCellU8Reader;

let data = b"Hello world!".to_vec();

let mut reader = RcRefCellU8Reader::new(Rc::new(RefCell::new(data)));

let mut result = String::new();

reader.read_to_string(&mut result).unwrap();

assert_eq!("Hello world!".to_string(), result);

ArcU8Reader

use std::sync::Arc;
use std::io::Read;

use rc_u8_reader::ArcU8Reader;

let data = b"Hello world!".to_vec();

let mut reader = ArcU8Reader::new(Arc::new(data));

let mut result = String::new();

reader.read_to_string(&mut result).unwrap();

assert_eq!("Hello world!".to_string(), result);

ArcMutexU8Reader

use std::sync::{Arc, Mutex};
use std::io::Read;

use rc_u8_reader::ArcMutexU8Reader;

let data = b"Hello world!".to_vec();

let mut reader = ArcMutexU8Reader::new(Arc::new(Mutex::new(data)));

let mut result = String::new();

reader.read_to_string(&mut result).unwrap();

assert_eq!("Hello world!".to_string(), result);

Crates.io

https://crates.io/crates/rc-u8-reader

文档

https://docs.rs/rc-u8-reader

许可证

MIT

依赖

~0–1.2MB
~20K SLoC