Skip to content

atlv24/vv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 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).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.

About

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

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages