19 releases
0.2.2 | Jul 28, 2024 |
---|---|
0.2.1 | Jan 3, 2024 |
0.2.0 | Dec 25, 2023 |
0.1.12 | Sep 19, 2023 |
0.1.8 | Oct 30, 2022 |
#154 in Data structures
10,849 downloads per month
Used in 58 crates
(5 directly)
140KB
2K
SLoC
vecmap-rs
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
.
Cargo features
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.
License
The source code of vecmap-rs is licensed under either of Apache License, Version 2.0 or MIT license at your option.
Dependencies
~165KB