3 releases
0.1.2 | Dec 6, 2020 |
---|---|
0.1.1 | Dec 6, 2020 |
0.1.0 | Dec 6, 2020 |
#3 in #implementors
Used in nop-json
7KB
117 lines
read_iter
To any std::io::Read
implementor, add also Iterator<Item=u8>
implementation.
Installation
In Cargo.toml
of your project add:
[dependencies]
read_iter = "0.1"
Examples
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();
lib.rs
:
To any std::io::Read
implementor, add also Iterator<Item=u8>
implementation.
Installation
In Cargo.toml
of your project add:
[dependencies]
read_iter = "1.0"
Examples
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();