memoverlay

Puts a writable layer of bytes over some byte stream

memoverlay

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

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

+---------------------------------------------------------------------------------------------------------+ +---------------------------------------------------------------------------------------------------------+ ```

Usage example

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

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

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

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

License: GPL-3.0