memoverlay

Crates.iomemoverlay
lib.rsmemoverlay
version0.1.3
sourcesrc
created_at2023-01-02 17:13:55.882762
updated_at2024-04-12 08:06:36.666756
descriptionPuts a writable layer of bytes over some byte stream
homepage
repositoryhttps://github.com/janstarke/memoverlay
max_upload_size
id749530
size61,879
Jan Starke (janstarke)

documentation

README

memoverlay

Puts a writable layer of bytes over some byte stream

memoverlay

+-----------------+------------+-----------------+-------+----------------------+-------+-----------------+
|    chunk 0      |  chunk 1   |    chunk 2      |   3   |       chunk 4        |   5   |     chunk 6     |
+-----------------+------------+-----------------+-------+----------------------+-------+-----------------+

                               +-----------------+       +----------------------+
                               +-----------------+       +----------------------+
                  +-------------------+                           +---------------------+
                  +-------------------+                           +---------------------+
+---------------------------------------------------------------------------------------------------------+
+---------------------------------------------------------------------------------------------------------+

Usage example

use std::io::{Cursor, Read, Seek, SeekFrom};
use memoverlay::MemOverlay;
use memoverlay::overlay;

let message1 = "hello, world!";
let mut overlay = overlay!(message1.as_bytes());
overlay.add_bytes_at(7, "peter".as_bytes()).unwrap();

let mut message2 = String::new();
let _ = overlay.read_to_string(&mut message2).unwrap();

assert_eq!(message2, "hello, peter!");

License: GPL-3.0

Commit count: 10

cargo fmt