Expand description
This module provides necessary functionality for highly efficient querying of sets of Unicode characters.
It is an implementation of the code point portion of the existing ICU4C UnicodeSet API.
§Architecture
ICU4X CodePointInversionList
is split up into independent levels, with CodePointInversionList
representing the membership/query API,
and CodePointInversionListBuilder
representing the builder API.
§Examples:
§Creating a CodePointInversionList
CodePointSets
are created from either serialized CodePointSets
,
represented by inversion lists,
the CodePointInversionListBuilder
, or from the Properties API.
use icu::collections::codepointinvlist::{
CodePointInversionList, CodePointInversionListBuilder,
};
let mut builder = CodePointInversionListBuilder::new();
builder.add_range(&('A'..='Z'));
let set: CodePointInversionList = builder.build();
assert!(set.contains('A'));
§Querying a CodePointInversionList
Currently, you can check if a character/range of characters exists in the CodePointInversionList
, or iterate through the characters.
use icu::collections::codepointinvlist::{
CodePointInversionList, CodePointInversionListBuilder,
};
let mut builder = CodePointInversionListBuilder::new();
builder.add_range(&('A'..='Z'));
let set: CodePointInversionList = builder.build();
assert!(set.contains('A'));
assert!(set.contains_range(&('A'..='C')));
assert_eq!(set.iter_chars().next(), Some('A'));
Re-exports§
pub use CodePointInversionListError as Error;
Structs§
- Code
Point Inversion List - A membership wrapper for
CodePointInversionList
. - Code
Point Inversion List Builder - A builder for
CodePointInversionList
. - Code
Point Inversion ListULE VarULE
type forCodePointInversionList
. SeeCodePointInversionList
for documentation.
Enums§
- Code
Point Inversion List Error - Custom Errors for
CodePointInversionList
.