/** * @internal * @deprecated This API is ICU internal only. */ @Deprecated protected void loadRange(int aRange) { nextElement = set.getRangeStart(aRange); endElement = set.getRangeEnd(aRange); } }
private static int[] codeRange(UnicodeSet set) { // codeRange = { numRanges, (start..end)* } int rangeCount = set.getRangeCount(); int[] codeRange = new int[1 + rangeCount * 2]; codeRange[0] = rangeCount; for (int i = 0, j = 1; i < rangeCount; ++i) { codeRange[j++] = set.getRangeStart(i); codeRange[j++] = set.getRangeEnd(i); } return codeRange; } }
/** * Returns the number of elements in this set (its cardinality) * Note than the elements of a set may include both individual * codepoints and strings. * * @return the number of elements in this set (its cardinality). * @stable ICU 2.0 */ public int size() { int n = 0; int count = getRangeCount(); for (int i = 0; i < count; ++i) { n += getRangeEnd(i) - getRangeStart(i) + 1; } return n + strings.size(); }
void checkDelimiters() { if (m_delimiters_ == null || m_delimiters_.size() == 0) { delims = new boolean[0]; } else { int maxChar = m_delimiters_.getRangeEnd(m_delimiters_.getRangeCount()-1); if (maxChar < 0x7f) { delims = new boolean[maxChar+1]; for (int i = 0, ch; -1 != (ch = m_delimiters_.charAt(i)); ++i) { delims[ch] = true; } } else { delims = null; } } } private boolean[] delims;
getRangeEnd(count-1) == MAX_VALUE) { int start = getRangeEnd(i-1)+1; int end = getRangeStart(i)-1; _appendToPat(result, start, escapeUnprintable); for (int i = 0; i < count; ++i) { int start = getRangeStart(i); int end = getRangeEnd(i); _appendToPat(result, start, escapeUnprintable); if (start != end) {
int high = getRangeEnd(i); if ((low & ~0xFF) == (high & ~0xFF)) { if ((low & 0xFF) <= v && v <= (high & 0xFF)) {
int inputSetRangeEnd = inputSet.getRangeEnd(inputSetRangeIndex);
for (int j = 0; j < itemCount; ++j) { int startChar = unicodePointSet.getRangeStart(j); int endChar = unicodePointSet.getRangeEnd(j); pvec.setValue(startChar, endChar, column, ~0, mask); for (int j = 0; j < itemCount; ++j) { int startChar = excludedCodePoints.getRangeStart(j); int endChar = excludedCodePoints.getRangeEnd(j); for (int col = 0; col < columns; col++) { pvec.setValue(startChar, endChar, col, ~0, ~0);
int end = inclusions.getRangeEnd(j);
private void enumCnERange(int start, int end, int ce32, ContractionsAndExpansions cne) { if (cne.checkTailored == 0) { // There is no tailoring. // No need to collect nor check the tailored set. } else if (cne.checkTailored < 0) { // Collect the set of code points with mappings in the tailoring data. if (ce32 == Collation.FALLBACK_CE32) { return; // fallback to base, not tailored } else { cne.tailored.add(start, end); } // checkTailored > 0: Exclude tailored ranges from the base data enumeration. } else if (start == end) { if (cne.tailored.contains(start)) { return; } } else if (cne.tailored.containsSome(start, end)) { if (cne.ranges == null) { cne.ranges = new UnicodeSet(); } cne.ranges.set(start, end).removeAll(cne.tailored); int count = cne.ranges.getRangeCount(); for (int i = 0; i < count; ++i) { cne.handleCE32(cne.ranges.getRangeStart(i), cne.ranges.getRangeEnd(i), ce32); } } cne.handleCE32(start, end, ce32); }
int end = getRangeEnd(i);