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.


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.


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 u32


Sample data for CodePointTrie that returns the code point’s plane number.

Utilities for reading CodePointTrie data from TOML files.


Represents a range of consecutive code points sharing the same value in a code point map. The start and end of the interval is represented as a RangeInclusive<u32>, and the value is represented as a TrieValue.

A custom Iterator type specifically for a code point trie that returns CodePointMapRanges.

This struct represents a de-serialized CodePointTrie that was exported from ICU binary data.

This struct contains the fixed-length header fields of a CodePointTrie.


A custom error type for [CodePointTrie].

A custom error type for [CodePointTrie].

The type of trie represents whether the trie has an optimization that would make it smaller or faster.


A trait representing the values stored in the data array of a CodePointTrie. This trait is used as a type parameter in constructing a CodePointTrie.