vv 0.2.0

A memory-contiguous `Vec<Vec<T>>` with resizable inner vecs.
Documentation
  • Coverage
  • 100%
    18 out of 18 items documented0 out of 17 items with examples
  • Size
  • Source code size: 36.65 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.86 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • atlv24/vv
    2 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • atlv24

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.