Crate stack_vec

Source
Expand description

§Ad-hoc stack vectors

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>.

§Usage

The macro can be used like vec!, with optional type inference.

let mut sv = stack![100]; // Implicitly typed.
sv.push(10usize);
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.

§Pre-defined types

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.

Macros§

stack
Create an ad-hoc sized Vec-like array on the stack.

Structs§

StackVec1
A sized stack vector
StackVec2
A sized stack vector
StackVec4
A sized stack vector
StackVec8
A sized stack vector
StackVec1IntoIter
Consuming iterator type for a StackVec
StackVec2IntoIter
Consuming iterator type for a StackVec
StackVec4IntoIter
Consuming iterator type for a StackVec
StackVec8IntoIter
Consuming iterator type for a StackVec
StackVec16
A sized stack vector
StackVec32
A sized stack vector
StackVec64
A sized stack vector
StackVec16IntoIter
Consuming iterator type for a StackVec
StackVec32IntoIter
Consuming iterator type for a StackVec
StackVec64IntoIter
Consuming iterator type for a StackVec
StackVec128
A sized stack vector
StackVec256
A sized stack vector
StackVec512
A sized stack vector
StackVec128IntoIter
Consuming iterator type for a StackVec
StackVec256IntoIter
Consuming iterator type for a StackVec
StackVec512IntoIter
Consuming iterator type for a StackVec
StackVec1024
A sized stack vector
StackVec2048
A sized stack vector
StackVec4096
A sized stack vector
StackVec1024IntoIter
Consuming iterator type for a StackVec
StackVec2048IntoIter
Consuming iterator type for a StackVec
StackVec4096IntoIter
Consuming iterator type for a StackVec