A vector-based ordered map and set implementation with zero dependencies and
support for #![no_std]
.
Map keys are not required to be hashable and do not need to form a total order.
Therefore, VecMap<K, V>
and VecSet<T>
can be used with key types which neither implement
Hash
nor
Ord
.
Since vecmap-rs is a Vec<(K, V)>
under the hood, worst case lookup and insertion performance is O(n)
and
scales with the number of map entries. Thus, its main use case are small
collections with unhashable keys.
For key types that implement Hash
and Ord
consider using a map or set
implementation with better performance such as
HashMap
/HashSet
and
BTreeMap
/BTreeSet
from the standard library or popular alternatives like
IndexMap
/IndexSet
.
The following features are available:
serde
: ProvidesSerialize
andDeserialize
implementations forVecMap
andVecSet
. This feature is disabled by default. Enabling it will pull inserde
as a dependency.
The source code of vecmap-rs is licensed under either of Apache License, Version 2.0 or MIT license at your option.