[][src]Crate stack_vec

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

StackVec1IntoIter

Consuming iterator type for a StackVec

StackVec2

A sized stack vector

StackVec2IntoIter

Consuming iterator type for a StackVec

StackVec4

A sized stack vector

StackVec4IntoIter

Consuming iterator type for a StackVec

StackVec8

A sized stack vector

StackVec8IntoIter

Consuming iterator type for a StackVec

StackVec16

A sized stack vector

StackVec16IntoIter

Consuming iterator type for a StackVec

StackVec32

A sized stack vector

StackVec32IntoIter

Consuming iterator type for a StackVec

StackVec64

A sized stack vector

StackVec64IntoIter

Consuming iterator type for a StackVec

StackVec128

A sized stack vector

StackVec128IntoIter

Consuming iterator type for a StackVec

StackVec256

A sized stack vector

StackVec256IntoIter

Consuming iterator type for a StackVec

StackVec512

A sized stack vector

StackVec512IntoIter

Consuming iterator type for a StackVec

StackVec1024

A sized stack vector

StackVec1024IntoIter

Consuming iterator type for a StackVec

StackVec2048

A sized stack vector

StackVec2048IntoIter

Consuming iterator type for a StackVec

StackVec4096

A sized stack vector

StackVec4096IntoIter

Consuming iterator type for a StackVec