49 releases (21 stable)
new 2.0.0-alpha.8 | Dec 10, 2024 |
---|---|
2.0.0-alpha.7 | Jul 27, 2024 |
2.0.0-alpha.6 | May 10, 2024 |
2.0.0-alpha.5 | Mar 23, 2024 |
0.1.5 | Jun 30, 2015 |
#4 in Data structures
13,133,845 downloads per month
Used in 51,241 crates
(1,649 directly)
105KB
2.5K
SLoC
rust-smallvec
⚠️ Note: This is the code for smallvec 2.0, which is not yet ready for release. For details about the changes in version 2.0, please see #183, #240, and #284.
The source code for the latest smallvec 1.x.y release can be found on the v1 branch. Bug fixes for smallvec 1 should be based on that branch, while new feature development should go on the v2 branch.
About smallvec
"Small vector" optimization for Rust: store up to a small number of items on the stack
Example
use smallvec::{SmallVec, smallvec};
// This SmallVec can hold up to 4 items on the stack:
let mut v: SmallVec<i32, 4> = smallvec![1, 2, 3, 4];
// It will automatically move its contents to the heap if
// contains more than four items:
v.push(5);
// SmallVec points to a slice, so you can use normal slice
// indexing and other methods to access its contents:
v[0] = v[1] + v[2];
v.sort();
Dependencies
~160KB