Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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();
```