vv

Crates.iovv
lib.rsvv
version0.2.0
created_at2025-10-28 06:32:54.730227+00
updated_at2025-10-28 07:14:12.42804+00
descriptionA memory-contiguous `Vec>` with resizable inner vecs.
homepage
repositoryhttps://github.com/atlv24/vv
max_upload_size
id1904268
size37,164
atlv (atlv24)

documentation

README

vv

Vv<T> is a lot like a Vec<Vec<T>> except contiguous in memory. It is unlike other contiguous "jagged array" implementations in that it allows opportunistic growing and shrinking of inner vecs, sometimes requirement moving an entry to achieve the change.

Please consult the documentation for more information.

Add it to your Cargo.toml:

[dependencies]
vv = "0.2"

Example

use vv::Vv;

let mut vv = Vv::<i32>::new();
let first = vv.push([1, 2, 3]);
let second = vv.push([7, 8, 9]);
vv.get_mut(first).rotate_right();
let first = vv.insert(first, 0, 1);

assert_eq!(vv.get(first), [1, 3, 1, 2]);

License

vv is dual-licensed under either:

at your option.

Your contributions

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.

Commit count: 0

cargo fmt