read_collection 0.1.5

A collection of different variants of the `std::io::Read` trait.
Documentation

Read Collection

This crate provides some other variants of the Read trait. Currently there's only ReadBack. Feel free to create PRs for other variants.

Example (ReadBack)

use read_collection::ReadBack;
use std::io::Read;

fn main() {
    let values = [1, 2, 3];
    let mut buffer = [0, 0];

    // How it could look like with `Read`:
    assert_eq!(values.as_slice().read(&mut buffer).ok(), Some(2));
    assert_eq!(buffer, [1, 2]);

    // With `ReadBack`:
    assert_eq!(values.as_slice().read_back(&mut buffer).ok(), Some(2));
    //                 [----] and the buffer contains the value starting from the back!
    assert_eq!(buffer, [2, 3]);
}

Status

Implemented:

  • ReadBack for reading back duh
    • ReadBack trait
    • BufReadBack trait
      • for &[u8]
      • for Empty
      • BufReadBacker struct