| 1 | // This file is part of ICU4X. For terms of use, please see the file |
| 2 | // called LICENSE at the top level of the ICU4X source tree |
| 3 | // (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). |
| 4 | |
| 5 | //! Efficient collections for Unicode data. |
| 6 | //! |
| 7 | //! This module is published as its own crate ([`icu_collections`](https://docs.rs/icu_collections/latest/icu_collections/)) |
| 8 | //! and as part of the [`icu`](https://docs.rs/icu/latest/icu/) crate. See the latter for more details on the ICU4X project. |
| 9 | //! |
| 10 | //! ICU4X [`CodePointTrie`](crate::codepointtrie::CodePointTrie) provides a read-only view of `CodePointTrie` data that is exported |
| 11 | //! from ICU4C. Detailed information about the design of the data structure can be found in the documentation |
| 12 | //! for the [`CodePointTrie`](crate::codepointtrie::CodePointTrie) struct. |
| 13 | //! |
| 14 | //! ICU4X [`CodePointInversionList`](`crate::codepointinvlist::CodePointInversionList`) provides necessary functionality for highly efficient querying of sets of Unicode characters. |
| 15 | //! It is an implementation of the existing [ICU4C UnicodeSet API](https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1UnicodeSet.html). |
| 16 | //! |
| 17 | //! ICU4X [`Char16Trie`](`crate::char16trie::Char16Trie`) provides a data structure for a space-efficient and time-efficient lookup of |
| 18 | //! sequences of 16-bit units (commonly but not necessarily UTF-16 code units) |
| 19 | //! which map to integer values. |
| 20 | //! It is an implementation of the existing [ICU4C UCharsTrie](https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1UCharsTrie.html) |
| 21 | //! / [ICU4J CharsTrie](https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/util/CharsTrie.html) API. |
| 22 | |
| 23 | // https://github.com/unicode-org/icu4x/blob/main/documents/process/boilerplate.md#library-annotations |
| 24 | #![cfg_attr (not(any(test, feature = "std" )), no_std)] |
| 25 | #![cfg_attr ( |
| 26 | not(test), |
| 27 | deny( |
| 28 | clippy::indexing_slicing, |
| 29 | clippy::unwrap_used, |
| 30 | clippy::expect_used, |
| 31 | clippy::panic |
| 32 | ) |
| 33 | )] |
| 34 | #![warn (missing_docs)] |
| 35 | |
| 36 | extern crate alloc; |
| 37 | |
| 38 | pub mod char16trie; |
| 39 | pub mod codepointinvlist; |
| 40 | pub mod codepointinvliststringlist; |
| 41 | pub mod codepointtrie; |
| 42 | |
| 43 | pub(crate) mod iterator_utils; |
| 44 | |