README.md
1# litemap [](https://crates.io/crates/litemap)
2
3<!-- cargo-rdme start -->
4
5## `litemap`
6
7`litemap` is a crate providing [`LiteMap`], a highly simplistic "flat" key-value map
8based off of a single sorted vector.
9
10The goal of this crate is to provide a map that is good enough for small
11sizes, and does not carry the binary size impact of [`HashMap`](std::collections::HashMap)
12or [`BTreeMap`](alloc::collections::BTreeMap).
13
14If binary size is not a concern, [`std::collections::BTreeMap`] may be a better choice
15for your use case. It behaves very similarly to [`LiteMap`] for less than 12 elements,
16and upgrades itself gracefully for larger inputs.
17
18### Pluggable Backends
19
20By default, [`LiteMap`] is backed by a [`Vec`]; however, it can be backed by any appropriate
21random-access data store, giving that data store a map-like interface. See the [`store`]
22module for more details.
23
24### Const construction
25
26[`LiteMap`] supports const construction from any store that is const-constructible, such as a
27static slice, via [`LiteMap::from_sorted_store_unchecked()`]. This also makes [`LiteMap`]
28suitable for use with [`databake`]. See [`impl Bake for LiteMap`] for more details.
29
30[`impl Bake for LiteMap`]: ./struct.LiteMap.html#impl-Bake-for-LiteMap<K,+V,+S>
31[`Vec`]: alloc::vec::Vec
32
33<!-- cargo-rdme end -->
34
35## More Information
36
37For more information on development, authorship, contributing etc. please visit [`ICU4X home page`](https://github.com/unicode-org/icu4x).
38