icu_char16trie
is a utility crate of the [ICU4X
] project.
This component provides a data structure for a space-efficient and time-efficient lookup of sequences of 16-bit units (commonly but not necessarily UTF-16 code units) which map to integer values.
It is an implementation of the existing ICU4C UCharsTrie / ICU4J CharsTrie API.
ICU4X Char16Trie
is designed to provide a read-only view of UCharsTrie data that is exported from ICU4C.
Char16Trie
```rust use icu_char16trie::char16trie::{Char16Trie, TrieResult}; use zerovec::ZeroVec;
// A Char16Trie containing the ASCII characters mapping 'a' to 1 and 'ab' // to 100. let triedata = vec![48, 97, 176, 98, 32868]; let trie = Char16Trie::new(ZeroVec::fromsliceoralloc(triedata.asslice()));
let mut iter = trie.iter(); let res = iter.next('a'); asserteq!(res, TrieResult::Intermediate(1)); let res = iter.next('b'); asserteq!(res, TrieResult::FinalValue(100)); let res = iter.next('c'); assert_eq!(res, TrieResult::NoMatch); ```
For more information on development, authorship, contributing etc. please visit ICU4X home page
.