typst/vendor/zerotrie
2024-10-16 14:18:46 +03:00
..
benches 0.11.1-alt1 2024-10-16 14:18:46 +03:00
examples 0.11.1-alt1 2024-10-16 14:18:46 +03:00
src 0.11.1-alt1 2024-10-16 14:18:46 +03:00
tests 0.11.1-alt1 2024-10-16 14:18:46 +03:00
.cargo-checksum.json 0.11.1-alt1 2024-10-16 14:18:46 +03:00
Cargo.lock 0.11.1-alt1 2024-10-16 14:18:46 +03:00
Cargo.toml 0.11.1-alt1 2024-10-16 14:18:46 +03:00
LICENSE 0.11.1-alt1 2024-10-16 14:18:46 +03:00
README.md 0.11.1-alt1 2024-10-16 14:18:46 +03: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.