Expand description
This module provides a data structure for an time-efficient lookup of values associated to code points.
It is an implementation of the existing ICU4C UCPTrie / ICU4J CodePointTrie API.
§Architecture
ICU4X CodePointTrie is designed to provide a read-only view of CodePointTrie data that is exported
from ICU4C. Detailed information about the design of the data structure can be found in the documentation
for the CodePointTrie struct.
§Examples
§Querying a CodePointTrie
use icu::collections::codepointtrie::planes;
let trie = planes::get_planes_trie();
assert_eq!(0, trie.get32(0x41)); // 'A' as u32
assert_eq!(0, trie.get32(0x13E0)); // 'Ꮰ' as u32
assert_eq!(1, trie.get32(0x10044)); // '𐁄' as u32Modules§
- cptrie 🔒
- error 🔒
- Custom error type(s) for the parent module.
- impl_
const 🔒 - iter 🔒
- planes
- Sample data for
CodePointTriethat returns the code point’s plane number.
Structs§
- Char
Indices With Trie - Iterator over
strbycharandTrieValue. - Char
Indices With Trie Default ForAscii - Iterator over
strbycharandTrieValue. - Char
Iter With Trie - Wraps an
Iterator<Item = char>with a reference to anAbstractCodePointTrie. - Chars
With Trie - Iterator over
strbycharandTrieValue. - Chars
With Trie Default ForAscii - Iterator over
strbycharandTrieValuebut the trie value for ASCII isV::default()instead of reading from the trie. (V::default()can be optimized on at compile time while reading the trie’s default value is a run-time operation.) - Code
Point MapRange - Represents a range of consecutive code points sharing the same value in a code point map.
- Code
Point MapRange Iterator - A custom
Iteratortype specifically for a code point trie that returnsCodePointMapRanges. - Code
Point Trie - This struct represents a de-serialized
CodePointTriethat was exported from ICU binary data. - Code
Point Trie Header - This struct contains the fixed-length header fields of a
CodePointTrie. - Fast
Code Point Trie - Type-safe wrapper for a fast trie guaranteeing
the the getters don’t branch on the trie type
and for guarenteeing that
get16is branchless in release builds. - Latin1
Char Indices With Trie - Iterator over
strbycharandTrieValue. - Latin1
Chars With Trie - Iterator over Latin1
[u8]bycharandTrieValue. - Small
Code Point Trie - Type-safe wrapper for a small trie guaranteeing the the getters don’t branch on the trie type.
Enums§
- Code
Point Trie Error - A custom error type for
CodePointTrie. - Trie
Type - The type of trie represents whether the trie has an optimization that would make it smaller or faster.
- Typed
- Holder for either fast or small trie with the trie type encoded into the Rust type.
Traits§
- Abstract
Code Point Trie - Trait for writing trait bounds for monomorphizing over either
CodePointTrie,FastCodePointTrie, orSmallCodePointTrie. - Chars
With Trie Default ForAscii Ex - Adds convenience methods to
str. - Chars
With Trie Ex - Adds convenience methods to
str. - Latin1
Chars With Trie Ex - Adds convenience methods to
[u8]. - Trie
Value - A trait representing the values stored in the data array of a
CodePointTrie. This trait is used as a type parameter in constructing aCodePointTrie. - Typed
Code Point Trie - Trait for writing trait bounds for monomorphizing over either
FastCodePointTrieorSmallCodePointTrie. - With
Trie - Provides a trie accessor for types (likely iterators)
that are holding a reference to a type that implements
AbstractCodePointTrie.