# Read Collection This crate provides some other variants of the [`Read`] trait. Currently there's only `ReadBack`. Feel free to create PRs for other variants. # Example (`ReadBack`) ```rust use read_collection::ReadBack; use std::io::Read; fn main() { let values = [1, 2, 3]; let mut buffer = [0, 0]; // How it could look like with `Read`: assert_eq!(values.as_slice().read(&mut buffer).ok(), Some(2)); assert_eq!(buffer, [1, 2]); // With `ReadBack`: assert_eq!(values.as_slice().read_back(&mut buffer).ok(), Some(2)); // [----] and the buffer contains the value starting from the back! assert_eq!(buffer, [2, 3]); } ``` # Status Implemented: - [x] `ReadBack` for reading back *duh* - [x] `ReadBack` trait - [x] for `&[u8]` - [x] for [`File`] (and `&File`) - [x] for [`Empty`] - [x] `BufReadBack` trait - [x] for `&[u8]` - [x] for [`Empty`] - [x] `BufReadBacker` struct [`File`]: https://doc.rust-lang.org/std/fs/struct.File.html [`Read`]: https://doc.rust-lang.org/std/io/trait.Read.html [`Empty`]: https://doc.rust-lang.org/std/io/struct.Empty.html