#io-read #read #adapter #add #implementors #iter #iterator-item-u8

read_iter

为任何 std::io::Read 实现,添加 Iterator 实现

3 个版本

0.1.2 2020 年 12 月 6 日
0.1.1 2020 年 12 月 6 日
0.1.0 2020 年 12 月 6 日

#3 in #implementors


用于 nop-json

MIT 许可证

7KB
117 代码行

read_iter

Documentation crates.io

为任何 std::io::Read 实现,添加 Iterator<Item=u8> 实现。

安装

在您的项目的 Cargo.toml 中添加

[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();

lib.rs:

为任何 std::io::Read 实现,添加 Iterator<Item=u8> 实现。

安装

在您的项目的 Cargo.toml 中添加

[dependencies]
read_iter = "1.0"

示例

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();

无运行时依赖