rc_u8_reader/
lib.rs

1/*!
2# Rc U8 Reader
3
4A tiny implement for reading `u8` data from a reference counted instance.
5
6## Examples
7
8### RcU8Reader
9
10```rust
11use std::rc::Rc;
12use std::io::Read;
13
14use rc_u8_reader::RcU8Reader;
15
16let data = b"Hello world!".to_vec();
17
18let mut reader = RcU8Reader::new(Rc::new(data));
19
20let mut result = String::new();
21
22reader.read_to_string(&mut result).unwrap();
23
24assert_eq!("Hello world!".to_string(), result);
25```
26
27### RcRefCellU8Reader
28
29```rust
30use std::cell::RefCell;
31use std::rc::Rc;
32use std::io::Read;
33
34use rc_u8_reader::RcRefCellU8Reader;
35
36let data = b"Hello world!".to_vec();
37
38let mut reader = RcRefCellU8Reader::new(Rc::new(RefCell::new(data)));
39
40let mut result = String::new();
41
42reader.read_to_string(&mut result).unwrap();
43
44assert_eq!("Hello world!".to_string(), result);
45```
46
47### ArcU8Reader
48
49```rust
50use std::sync::Arc;
51use std::io::Read;
52
53use rc_u8_reader::ArcU8Reader;
54
55let data = b"Hello world!".to_vec();
56
57let mut reader = ArcU8Reader::new(Arc::new(data));
58
59let mut result = String::new();
60
61reader.read_to_string(&mut result).unwrap();
62
63assert_eq!("Hello world!".to_string(), result);
64```
65
66### ArcMutexU8Reader
67
68```rust
69use std::sync::{Arc, Mutex};
70use std::io::Read;
71
72use rc_u8_reader::ArcMutexU8Reader;
73
74let data = b"Hello world!".to_vec();
75
76let mut reader = ArcMutexU8Reader::new(Arc::new(Mutex::new(data)));
77
78let mut result = String::new();
79
80reader.read_to_string(&mut result).unwrap();
81
82assert_eq!("Hello world!".to_string(), result);
83```
84*/
85
86#![cfg_attr(feature = "nightly", feature(read_initializer, seek_convenience))]
87
88mod rc_refcell_u8_reader;
89mod rc_u8_reader;
90
91mod arc_mutex_u8_reader;
92mod arc_u8_reader;
93
94pub use self::rc_u8_reader::RcU8Reader;
95pub use rc_refcell_u8_reader::RcRefCellU8Reader;
96
97pub use arc_mutex_u8_reader::ArcMutexU8Reader;
98pub use arc_u8_reader::ArcU8Reader;