wbuf 0.1.1

Unified type over stdio, memory and file buffers.
Documentation
  • Coverage
  • 64%
    16 out of 25 items documented1 out of 16 items with examples
  • Size
  • Source code size: 12.08 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.03 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • SolarLiner/buffers
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • SolarLiner

buffers

Collection of unified buffers from stdio, file and memory buffers.

The buffers crate unifies standard IO, memory and file buffers into a unified type, allowing to effectively leave the type of buffer used to the user.

How to use

The buffers crate exposes three types; one for input, one for output, and one for duplex in/out operations. For convenience, each type has a from_arg constructor that takes in the output of a commandline parser (such as clap) and returns the buffer of the appropriate type (see the function docs for more details).

IO Read/Write traits are implemented for the types meaning you can use those wrapper types as a drop-in replacement of "regular" buffers.

Example

use clap::{App, Arg};
use buffers::{Input, Output};

let matches = App::new("app")
    .arg(Arg::with_name("input").index(1))
    .arg(Arg::with_name("output").index(2))
    .get_matches();
let mut input_buf = Input::from_arg(matches.value_of("input"));
let mut output_buf = Output::from_arg(matches.value_of("output"));
parse_input(&mut input_buf).and_then(|ast| transpile(ast, &mut output_buf));