This crate provides convenience methods for reading and writing data to binary buffers. It supports writing primitive types, as well as Strings and Vectors to in-memory streams and files. ### Installation This crate works with Cargo and is on [crates.io](https://crates.io/crates/buffer_io). Add it to your `Cargo.toml` like so: ```toml [dependencies] buffer_io = "1" ``` If you want to write data to a buffer you do it like so: ```rust use crate::buffer::{BufferReader, BufferWriter, SeekOrigin}; use std::io::Cursor; let mut buffer = BufferWriter::new(Cursor::new(Vec::new())); buffer.write_u32(9001)?; buffer.write_u32(9002).unwrap()?; buffer.write_string("Hello World!")?; ``` You can then return the full buffer as a vector: ```rust let data = buffer.to_vec()?; ``` Reading buffers is just as simple. ```rust let mut reader = BufferReader::new(File::open("test.bin")?); let magic = reader.read_u32()?; let body = reader.read_string()?; ```