Class BMPSet
java.lang.Object
org.graalvm.shadowed.com.ibm.icu.impl.BMPSet
Helper class for frozen UnicodeSets, implements contains() and span() optimized for BMP code points.
Latin-1: Look up bytes.
2-byte characters: Bits organized vertically.
3-byte characters: Use zero/one/mixed data per 64-block in U+0000..U+FFFF, with mixed for illegal ranges.
Supplementary characters: Binary search over
the supplementary part of the parent set's inversion list.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancontains(int c) final intspan(CharSequence s, int start, UnicodeSet.SpanCondition spanCondition, OutputInt outCount) Span the initial substring for which each character c has spanCondition==contains(c).final intspanBack(CharSequence s, int limit, UnicodeSet.SpanCondition spanCondition) Symmetrical with span().
-
Field Details
-
U16_SURROGATE_OFFSET
public static int U16_SURROGATE_OFFSET
-
-
Constructor Details
-
BMPSet
public BMPSet(int[] parentList, int parentListLength) -
BMPSet
-
-
Method Details
-
contains
public boolean contains(int c) -
span
public final int span(CharSequence s, int start, UnicodeSet.SpanCondition spanCondition, OutputInt outCount) Span the initial substring for which each character c has spanCondition==contains(c). It must be spanCondition==0 or 1.- Parameters:
start- The start indexoutCount- If not null: Receives the number of code points in the span.- Returns:
- the limit (exclusive end) of the span NOTE: to reduce the overhead of function call to contains(c), it is manually inlined here. Check for sufficient length for trail unit for each surrogate pair. Handle single surrogates as surrogate code points as usual in ICU.
-
spanBack
Symmetrical with span(). Span the trailing substring for which each character c has spanCondition==contains(c). It must be s.length >= limit and spanCondition==0 or 1.- Returns:
- The string index which starts the span (i.e. inclusive).
-