bufrw 0.2.0

This crate provides a single adapter that buffers reads and writes on the same stream
Documentation
  • Coverage
  • 91.67%
    11 out of 12 items documented3 out of 12 items with examples
  • Size
  • Source code size: 83.7 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 226.8 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 5s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • tmontaigu/bufrw
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • tmontaigu

bufrw

Buffered reading and writing over a single stream.

[dependencies]
bufrw = "0.1"
use bufrw::BufReaderWriter;
use std::io::{Cursor, Read, Seek, SeekFrom, Write};

fn main() -> std::io::Result<()> {
    let inner = Cursor::new(b"Hello _____".to_vec());
    let mut rw = BufReaderWriter::new(inner);

    // Read
    let mut s = String::new();
    rw.read_to_string(&mut s)?;
    assert_eq!(s, "Hello _____");

    // Write after seeking back
    rw.seek(SeekFrom::Current(-5))?;
    rw.write_all(b"World")?;
    rw.seek(SeekFrom::Start(0))?;

    s.clear();
    rw.read_to_string(&mut s)?;
    assert_eq!(s, "Hello World");
    Ok(())
}