3 个版本
0.1.2 | 2021年11月10日 |
---|---|
0.1.1 | 2021年11月10日 |
0.1.0 | 2021年11月9日 |
#4 in #seekable
15KB
252 代码行(不包括注释)
seekable_reader
此crate引入了 SeekableReader,它为围绕 Read
实例包装的对象提供 Seek
功能。
示例
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);