#io-read #iterator #read #reader #byte-reader

iter-read

A Read implementation for iterators over u8 and related types

8 releases (3 stable)

1.1.0 Aug 24, 2024
1.0.1 Nov 30, 2023
0.3.1 Jan 24, 2022
0.3.0 Jun 17, 2020
0.1.0 Apr 24, 2016

#95 in Rust patterns

Download history 36299/week @ 2024-11-15 36991/week @ 2024-11-22 38560/week @ 2024-11-29 41682/week @ 2024-12-06 38950/week @ 2024-12-13 20997/week @ 2024-12-20 19335/week @ 2024-12-27 38340/week @ 2025-01-03 38430/week @ 2025-01-10 42921/week @ 2025-01-17 43716/week @ 2025-01-24 56863/week @ 2025-01-31 73460/week @ 2025-02-07 70150/week @ 2025-02-14 81432/week @ 2025-02-21 73652/week @ 2025-02-28

313,130 downloads per month
Used in 142 crates (10 directly)

MIT/Apache

16KB
310 lines

iter-read

Build status Latest Version

Documentation

This crate is a small library that provides a type that implements std::io::Read for iterators over bytes (u8) and sequences of it, and also Result<u8, E>, Result<Vec<u8>, E> etc.

Installation

This crate works with Cargo and can be found on crates.io with a Cargo.toml like:

[dependencies]
iter-read = "1.0"

Requirements

Minimum supported Rust version is 1.58.0. No other dependencies.

Usage

A simple example:

use std::io::Read;
use iter_read::IterRead;
let source = vec![1, 2, 7, 42, 123];
let mut reader = IterRead::new(source.iter());
let mut buf = vec![0; 3];
reader.read_exact(&mut buf).unwrap();
assert_eq!(buf, b"\x01\x02\x07");

No runtime deps

Features