zerotrie

Crates.iozerotrie
lib.rszerotrie
version0.2.0
sourcesrc
created_at2023-09-23 04:06:54.409204
updated_at2024-11-23 01:50:36.330707
descriptionA data structure that efficiently maps strings to integers
homepagehttps://icu4x.unicode.org
repositoryhttps://github.com/unicode-org/icu4x
max_upload_size
id981047
size364,324
Shane F. Carr (sffc)

documentation

README

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.

Commit count: 3709

cargo fmt