| Crates.io | stack-vec |
| lib.rs | stack-vec |
| version | 0.1.0 |
| created_at | 2020-11-11 15:16:08.621428+00 |
| updated_at | 2020-11-11 15:16:08.621428+00 |
| description | Ad-hoc compile-time sized `Vec |
| homepage | |
| repository | |
| max_upload_size | |
| id | 311257 |
| size | 18,993 |
This crate defines the macro stack![], which can be used to create ad-hoc Vec<T> like structs of a specific compile-time size on the stack.
These structs never allocate on the heap, and expose an API similar to Vec<T>.
The macro can be used like vec!, with optional type inference.
let sv = stack![100]; // Implicitly typed. Will cause a type inference error if the compiler cannot find the type of `sv` later.
let sv = stack![usize; 100]; // Explicitly typed, circumvents that error.
To see documentation of the types themselves, see one of the pre-defined StackVec types in the crate's root.
StackVec types of powers of 2 up until 4096 are defined in this crate too.
You can use the macro to create your own named non-opaque StackVec types as well.
stack!(pub type S10Elements S10IntoIter 10); // A `StackVec` type with a capacity of 10.
MIT