5 releases

0.1.4 Aug 14, 2022
0.1.3 Nov 14, 2020
0.1.2 Sep 5, 2018
0.1.1 Sep 2, 2018
0.1.0 Sep 1, 2018

#1279 in Data structures

Download history 90/week @ 2024-08-21 147/week @ 2024-08-28 231/week @ 2024-09-04 204/week @ 2024-09-11 103/week @ 2024-09-18 161/week @ 2024-09-25 122/week @ 2024-10-02 166/week @ 2024-10-09 214/week @ 2024-10-16 110/week @ 2024-10-23 117/week @ 2024-10-30 223/week @ 2024-11-06 65/week @ 2024-11-13 198/week @ 2024-11-20 236/week @ 2024-11-27 154/week @ 2024-12-04

673 downloads per month
Used in 5 crates (2 directly)

MIT/Apache

45KB
1K SLoC

gapbuf-rs

Crates.io Docs.rs Actions Status

Generic gap buffer implementation in Rust.

This crate provides the type GapBuffer. This type has methods similar to Vec.

Examples

use gapbuf::gap_buffer;

let mut b = gap_buffer![1, 2, 3];
b.insert(1, 10);
assert_eq!(b, [1, 10, 2, 3]);

b.remove(2);
assert_eq!(b, [1, 10, 3]);

License

This project is dual licensed under Apache-2.0/MIT. See the two LICENSE-* files for details.

Contribution

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.


lib.rs:

gapbuf provides the type GapBuffer. GapBuffer has methods similar to Vec.

Examples

use gapbuf::gap_buffer;

let mut b = gap_buffer![1, 2, 3];

b.insert(1, 10);
assert_eq!(b, [1, 10, 2, 3]);

b.remove(2);
assert_eq!(b, [1, 10, 3]);

No runtime deps