1 unstable release

0.1.1 Jan 3, 2021
0.1.0 Feb 26, 2019

#436 in Memory management

Download history 19/week @ 2024-02-19 49/week @ 2024-02-26 7/week @ 2024-03-04 8/week @ 2024-03-11

83 downloads per month

MIT/Apache

14KB
216 lines

BRA

Latest Version Build Status dependency status Minimum Rust Version 1.31

Buffered Random Access (BRA) provides easy random memory access to a sequential source of data in Rust. This is achieved by greedily retaining all memory read from a given source.

Example

Please see the documentation for additional info.

use std::io::Read;
use bra::GreedyAccessReader;

let reader = get_reader();
let mut reader = GreedyAccessReader::new(reader);

// random access to bytes!
let k: u8 = reader.get(12)?;
// random slicing!
let s: &[u8] = reader.slice(20..48)?;
assert_eq!(s.len(), 28);
// also functions as a buffered reader
let mut chunk = [0; 20];
reader.read_exact(&mut chunk)?;

License

Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps