vecmap-rs

Crates.iovecmap-rs
lib.rsvecmap-rs
version0.2.2
sourcesrc
created_at2022-09-14 19:24:16.832884
updated_at2024-07-28 19:35:21.094403
descriptionA vector-based map and set implementation
homepage
repositoryhttps://github.com/martinohmann/vecmap-rs
max_upload_size
id666015
size159,428
(martinohmann)

documentation

https://docs.rs/vecmap-rs/

README

vecmap-rs

Build Status crates.io docs.rs License: Apache 2.0 License: MIT

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: Provides Serialize and Deserialize implementations for VecMap and VecSet. This feature is disabled by default. Enabling it will pull in serde 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.

Commit count: 73

cargo fmt