Expand description
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: ProvidesSerializeandDeserializeimplementations forVecMapandVecSet. This feature is disabled by default. Enabling it will pull inserdeas 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.
Modules
VecMapis a vector-based map implementation which retains the order of inserted entries.VecSetis a vector-based set implementation which retains the order of inserted elements.
Macros
- Create an
VecMapfrom a list of key-value pairs - Create an
VecSetfrom a list of values
Structs
- A vector-based map implementation which retains the order of inserted entries.
- A vector-based set implementation which retains the order of inserted elements.