Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jeremiah-shaulov/read_iter

Rust: to any std::io::Read implementor, add also Iterator<Item=u8> implementation.
https://github.com/jeremiah-shaulov/read_iter

Last synced: about 2 months ago
JSON representation

Rust: to any std::io::Read implementor, add also Iterator<Item=u8> implementation.

Awesome Lists containing this project

README

        

# read_iter

[![Documentation](https://docs.rs/read_iter/badge.svg)](https://docs.rs/read_iter)
[![crates.io](https://img.shields.io/crates/v/read_iter.svg)](https://crates.io/crates/read_iter)

To any `std::io::Read` implementor, add also `Iterator` implementation.

## Installation

In `Cargo.toml` of your project add:
```toml
[dependencies]
read_iter = "0.1"
```

## Examples

```rust
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
// 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();
```