Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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).unwrap().rotate_right(1);
let first = vv.insert(first, 0, 1);

assert_eq!(vv.get(first).unwrap(), [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.

About

A memory-contiguous `Vec<Vec<T>>` with resizable inner vecs.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages