Lines Matching full:ce32
35 enumTailoredRange(const void *context, UChar32 start, UChar32 end, uint32_t ce32) {
36 if(ce32 == Collation::FALLBACK_CE32) {
40 return ts->handleCE32(start, end, ce32);
57 TailoredSet::handleCE32(UChar32 start, UChar32 end, uint32_t ce32) {
58 U_ASSERT(ce32 != Collation::FALLBACK_CE32);
59 if(Collation::isSpecialCE32(ce32)) {
60 ce32 = data->getIndirectCE32(ce32);
61 if(ce32 == Collation::FALLBACK_CE32) {
67 // Do not just continue if ce32 == baseCE32 because
70 if(Collation::isSelfContainedCE32(ce32) && Collation::isSelfContainedCE32(baseCE32)) {
72 if(ce32 != baseCE32) {
76 compare(start, ce32, baseCE32);
83 TailoredSet::compare(UChar32 c, uint32_t ce32, uint32_t baseCE32) {
84 if(Collation::isPrefixCE32(ce32)) {
85 const UChar *p = data->contexts + Collation::indexFromCE32(ce32);
86 ce32 = data->getFinalCE32(CollationData::readCE32(p));
100 if(Collation::isContractionCE32(ce32)) {
101 const UChar *p = data->contexts + Collation::indexFromCE32(ce32);
102 if((ce32 & Collation::CONTRACT_SINGLE_CP_NO_MATCH) != 0) {
103 ce32 = Collation::NO_CE32;
105 ce32 = data->getFinalCE32(CollationData::readCE32(p));
125 if(Collation::isSpecialCE32(ce32)) {
126 tag = Collation::tagFromCE32(ce32);
153 if(!Collation::isLongPrimaryCE32(ce32)) {
159 if(Collation::primaryFromLongPrimaryCE32(ce32) != p) {
171 const uint32_t *ce32s = data->ce32s + Collation::indexFromCE32(ce32);
172 int32_t length = Collation::lengthFromCE32(ce32);
188 const int64_t *ces = data->ces + Collation::indexFromCE32(ce32);
189 int32_t length = Collation::lengthFromCE32(ce32);
211 } else if(ce32 != baseCE32) {
317 TailoredSet::addPrefix(const CollationData *d, const UnicodeString &pfx, UChar32 c, uint32_t ce32) {
319 ce32 = d->getFinalCE32(ce32);
320 if(Collation::isContractionCE32(ce32)) {
321 const UChar *p = d->contexts + Collation::indexFromCE32(ce32);
360 enumCnERange(const void *context, UChar32 start, UChar32 end, uint32_t ce32) {
367 if(ce32 == Collation::FALLBACK_CE32) {
381 cne->handleCE32(cne->ranges.getRangeStart(i), cne->ranges.getRangeEnd(i), ce32);
385 cne->handleCE32(start, end, ce32);
417 uint32_t ce32 = d->getCE32(c);
418 if(ce32 == Collation::FALLBACK_CE32) {
420 ce32 = d->getCE32(c);
423 handleCE32(c, c, ce32);
428 ContractionsAndExpansions::handleCE32(UChar32 start, UChar32 end, uint32_t ce32) {
430 if((ce32 & 0xff) < Collation::SPECIAL_CE32_LOW_BYTE) {
433 sink->handleCE(Collation::ceFromSimpleCE32(ce32));
437 switch(Collation::tagFromCE32(ce32)) {
447 sink->handleCE(Collation::ceFromLongPrimaryCE32(ce32));
452 sink->handleCE(Collation::ceFromLongSecondaryCE32(ce32));
457 ces[0] = Collation::latinCE0FromCE32(ce32);
458 ces[1] = Collation::latinCE1FromCE32(ce32);
469 const uint32_t *ce32s = data->ce32s + Collation::indexFromCE32(ce32);
470 int32_t length = Collation::lengthFromCE32(ce32);
484 int32_t length = Collation::lengthFromCE32(ce32);
485 sink->handleExpansion(data->ces + Collation::indexFromCE32(ce32), length);
494 handlePrefixes(start, end, ce32);
497 handleContractions(start, end, ce32);
500 // Fetch the non-numeric-collation CE32 and continue.
501 ce32 = data->ce32s[Collation::indexFromCE32(ce32)];
505 // Fetch the normal ce32 for U+0000 and continue.
506 ce32 = data->ce32s[0];
542 UChar32 start, UChar32 end, uint32_t ce32) {
543 const UChar *p = data->contexts + Collation::indexFromCE32(ce32);
544 ce32 = CollationData::readCE32(p); // Default if no prefix match.
545 handleCE32(start, end, ce32);
561 UChar32 start, UChar32 end, uint32_t ce32) {
562 const UChar *p = data->contexts + Collation::indexFromCE32(ce32);
563 if((ce32 & Collation::CONTRACT_SINGLE_CP_NO_MATCH) != 0) {
569 ce32 = CollationData::readCE32(p); // Default if no suffix match.
570 U_ASSERT(!Collation::isContractionCE32(ce32));
571 handleCE32(start, end, ce32);