|
|
||
|---|---|---|
| .. | ||
| .github/workflows | ||
| benches | ||
| patches | ||
| src | ||
| src-backup | ||
| tests | ||
| .cargo_vcs_info.json | ||
| Android.bp | ||
| CHANGELOG.md | ||
| Cargo.toml | ||
| Cargo.toml.orig | ||
| LICENSE | ||
| LICENSE-APACHE.md | ||
| LICENSE-MIT.md | ||
| LICENSE-ZLIB.md | ||
| METADATA | ||
| MODULE_LICENSE_APACHE2 | ||
| OWNERS | ||
| README.md | ||
| TEST_MAPPING | ||
| cargo2android.json | ||
| compare_benchmarks.py | ||
| gen-array-impls.sh | ||
| rustfmt.toml | ||
README.md
tinyvec
A 100% safe crate of vec-like types. #![forbid(unsafe_code)]
Main types are as follows:
ArrayVecis an array-backed vec-like data structure. It panics on overflow.SliceVecis the same deal, but using a&mut [T].TinyVec(allocfeature) is an enum that's either anInline(ArrayVec)or aHeap(Vec). If aTinyVecisInlineand would overflow it automatically transitions toHeapand continues whatever it was doing.
To attain this "100% safe code" status there is one compromise: the element type of the vecs must implement Default.
For more details, please see the docs.rs documentation