trisquel-icecat/icecat/third_party/dump_syms/vendor/zerotrie
2025-10-06 02:35:48 -06:00
..
benches icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
examples icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
src icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
tests icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
.cargo-checksum.json icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
Cargo.lock icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
Cargo.toml icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
LICENSE icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
README.md icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00

zerotrie crates.io

A data structure offering zero-copy storage and retrieval of byte strings, with a focus on the efficient storage of ASCII strings. Strings are mapped to usize values.

[ZeroTrie] does not support mutation because doing so would require recomputing the entire data structure. Instead, it supports conversion to and from LiteMap and BTreeMap.

There are multiple variants of [ZeroTrie] optimized for different use cases.

Examples

use zerotrie::ZeroTrie;

let data: &[(&str, usize)] = &[("abc", 11), ("xyz", 22), ("axyb", 33)];

let trie: ZeroTrie<Vec<u8>> = data.iter().copied().collect();

assert_eq!(trie.get("axyb"), Some(33));
assert_eq!(trie.byte_len(), 18);

Internal Structure

To read about the internal structure of [ZeroTrie], build the docs with private modules:

cargo doc --document-private-items --all-features --no-deps --open

More Information

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