#vec #content #heap-allocator #no-std

no-std opt_vec

A wrapper around Vec<Option<T> that makes deletion fast

3 releases

0.1.2 Aug 9, 2023
0.1.1 Aug 8, 2023
0.1.0 Aug 8, 2023

#988 in Memory management


Used in wasper

MIT license

8KB
116 lines

A contiguous growable array type with heap-allocated contents with fast deletion process.

This is a wrapper for Vec<Option<T>>

Use an OptVec when:

  • You want fast random access and deletion, but don't want to use expensive structures like HashMap.
  • You want to guarantee that the same index keeps the same value even if another element is removed.

Getting Started

Cargo.toml

[dependencies]
opt_vec = "*"

and then

use opt_vec::OptVec;

let mut v = OptVec::new();
v.push(1);

Support no_std

Cargo.toml

[dependencies.opt_vec]
version = "*"
default-features = false
features = ["alloc"]

opt_vec

Crate

A contiguous growable array type with heap-allocated contents with fast deletion process.

This is a wrapper for Vec<Option<T>>

No runtime deps

Features