mirror of
https://gitee.com/openharmony/third_party_rust_tinyvec
synced 2024-11-23 13:50:17 +00:00
055d6199c3
Merge pull request !4 from peizhe/master |
||
---|---|---|
.github/workflows | ||
benches | ||
fuzz | ||
src | ||
src-backup | ||
tests | ||
.gitignore | ||
BUILD.gn | ||
Cargo.toml | ||
CHANGELOG.md | ||
compare_benchmarks.py | ||
gen-array-impls.sh | ||
LICENSE-APACHE.md | ||
LICENSE-MIT.md | ||
LICENSE-ZLIB.md | ||
OAT.xml | ||
README.md | ||
README.OpenSource | ||
rustfmt.toml |
tinyvec
A 100% safe crate of vec-like types. #![forbid(unsafe_code)]
Main types are as follows:
ArrayVec
is an array-backed vec-like data structure. It panics on overflow.SliceVec
is the same deal, but using a&mut [T]
.TinyVec
(alloc
feature) is an enum that's either anInline(ArrayVec)
or aHeap(Vec)
. If aTinyVec
isInline
and would overflow it automatically transitions toHeap
and 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