tree: 5e63d154504d9c4c67f993dea423654c56ad4a74 [path history] [tgz]
  1. benches/
  2. examples/
  3. src/
  4. tests/
  5. .android-checksum.json
  6. .cargo-checksum.json
  7. Android.bp
  8. Cargo.lock
  9. Cargo.toml
  10. cargo_embargo.json
  11. icu4x_bionic_dep.bp.fragment
  12. LICENSE
  13. METADATA
  14. MODULE_LICENSE_UNICODE_3
  15. README.md
crates/litemap/README.md

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.