litemap

Crates.iolitemap
lib.rslitemap
version0.7.3
sourcesrc
created_at2021-02-23 01:00:09.087357
updated_at2024-05-28 19:58:23.020218
descriptionA key-value Map implementation based on a flat, sorted Vec.
homepage
repositoryhttps://github.com/unicode-org/icu4x
max_upload_size
id359238
size130,517
icu4x-release (github:unicode-org:icu4x-release)

documentation

https://docs.rs/litemap

README

litemap crates.io

litemap

litemap is a crate providing [LiteMap], a highly simplistic "flat" key-value map based off of a single sorted vector.

The goal of this crate is to provide a map that is good enough for small sizes, and does not carry the binary size impact of HashMap or BTreeMap.

If binary size is not a concern, [std::collections::BTreeMap] may be a better choice for your use case. It behaves very similarly to [LiteMap] for less than 12 elements, and upgrades itself gracefully for larger inputs.

Pluggable Backends

By default, [LiteMap] is backed by a Vec; however, it can be backed by any appropriate random-access data store, giving that data store a map-like interface. See the [store] module for more details.

Const construction

[LiteMap] supports const construction from any store that is const-constructible, such as a static slice, via [LiteMap::from_sorted_store_unchecked()]. This also makes [LiteMap] suitable for use with [databake]. See impl Bake for LiteMap for more details.

More Information

For more information on development, authorship, contributing etc. please visit ICU4X home page.

Commit count: 3247

cargo fmt