| Crates.io | seekable_reader |
| lib.rs | seekable_reader |
| version | 0.1.2 |
| created_at | 2021-11-09 23:44:15.395127+00 |
| updated_at | 2021-11-10 11:38:57.973357+00 |
| description | Seek implementation for every Read |
| homepage | |
| repository | https://github.com/UgnilJoZ/seekable_reader |
| max_upload_size | |
| id | 479184 |
| size | 28,500 |
This crate introduces the SeekableReader, which provides Seek if wrapped around a Read instance.
An example:
use std::io::{Read, Seek, SeekFrom};
use seekable_reader::SeekableReader;
let source = vec![1, 2, 3, 4, 5];
let mut reader = SeekableReader::new(source.as_slice(), 1);
let mut buffer = vec![0; 5];
// Read one byte and seek back
reader.read(&mut buffer[..1]).unwrap();
reader.seek(SeekFrom::Start(0)).unwrap();
// First byte can be read again!
let bytes: Vec<_> = reader.bytes().map(|b| b.unwrap()).collect();
assert_eq!(&source, &bytes);