Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/servo/rust-smallvec
"Small vector" optimization for Rust: store up to a small number of items on the stack
https://github.com/servo/rust-smallvec
Last synced: 5 days ago
JSON representation
"Small vector" optimization for Rust: store up to a small number of items on the stack
- Host: GitHub
- URL: https://github.com/servo/rust-smallvec
- Owner: servo
- License: apache-2.0
- Created: 2015-04-05T21:42:27.000Z (over 9 years ago)
- Default Branch: v2
- Last Pushed: 2024-05-14T20:57:32.000Z (6 months ago)
- Last Synced: 2024-05-15T17:10:31.817Z (6 months ago)
- Language: Rust
- Size: 637 KB
- Stars: 1,250
- Watchers: 26
- Forks: 141
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
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.[v1 branch]: https://github.com/servo/rust-smallvec/tree/v1
[#183]: https://github.com/servo/rust-smallvec/issues/183
[#240]: https://github.com/servo/rust-smallvec/issues/240
[#284]: https://github.com/servo/rust-smallvec/issues/284## About smallvec
[Documentation](https://docs.rs/smallvec/)
[Release notes](https://github.com/servo/rust-smallvec/releases)
"Small vector" optimization for Rust: store up to a small number of items on the stack
## Example
```rust
use smallvec::{SmallVec, smallvec};
// This SmallVec can hold up to 4 items on the stack:
let mut v: SmallVec = 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();
```