#reference-counting #u8 #rc #read #arc #in-memory #io-read

rc-u8-reader

A tiny implement for reading u8 data from a reference counted instance

17 stable releases

2.0.16 Nov 3, 2022
2.0.15 Mar 18, 2022
2.0.14 Apr 26, 2021
2.0.12 Jul 29, 2020
1.0.1 May 26, 2019

#166 in Data structures

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 downloads per month
Used in 10 crates (3 directly)

MIT license

18KB
405 lines

Rc U8 Reader

CI

A tiny implement for reading u8 data from a reference counted instance.

Examples

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

Documentation

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

License

MIT

Dependencies

~0–1.2MB
~20K SLoC