1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//! Simple inmemory stream.
//!
//! Created for use as a buffer. Supports write, peek, read, skip operations.
//!
//! # Examples
//!
//! ### Write, read stream.
//! ```
//! use stream_inmemory::{Stream, TWrite, TRead};
//! let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
//! let mut stream = Stream::new();
//! stream.write(&arr[2..6]);
//! assert_eq!(stream.available(), 4);
//! let mut dest = [0; 10];
//! stream.read(&mut dest);
//! stream.truncate_readied();
//! assert_eq!(dest, [3, 4, 5, 6, 0, 0, 0, 0, 0, 0]);
//! assert_eq!(stream.available(), 0);
//! ```
//!

mod traits;
mod stream;

#[cfg(test)]
mod tests;

pub use stream::{Stream, StreamError};
pub use traits::{TRead, TWrite};