Crates.io | read_iter |
lib.rs | read_iter |
version | 0.1.2 |
source | src |
created_at | 2020-12-06 19:54:23.607617 |
updated_at | 2020-12-06 22:34:37.825415 |
description | To any std::io::Read implementor, add also Iterator<Item=u8> implementation |
homepage | |
repository | https://github.com/jeremiah-shaulov/read_iter |
max_upload_size | |
id | 320214 |
size | 7,117 |
To any std::io::Read
implementor, add also Iterator<Item=u8>
implementation.
In Cargo.toml
of your project add:
[dependencies]
read_iter = "0.1"
use std::fs::File;
use read_iter::ReadIter;
let file = File::open("/tmp/test.txt").unwrap();
// "file" implements std::io::Read
let mut it = ReadIter::new(file);
// now "it" also implements std::io::Read
// and "&mut it" implements Iterator<Item=u8>
// also "it" has internal buffer, and implements std::io::BufRead
for byte in &mut it
{ // ...
}
// in case of i/o error, the iteration ends, and take_last_error() will return Err
it.take_last_error().unwrap();