Lines Matching refs:iterator

33 static TextBreakIterator* ensureIterator(bool& createdIterator, TextBreakIterator*& iterator, UBreakIteratorType type)
37 iterator = reinterpret_cast<TextBreakIterator*>(ubrk_open(type, currentTextBreakLocaleID(), 0, 0, &openStatus));
39 ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus);
41 return iterator;
412 static TextBreakIterator* setUpIterator(bool& createdIterator, TextBreakIterator*& iterator, UBreakIteratorType type, const UChar* string, int length)
417 iterator = ensureIterator(createdIterator, iterator, type);
418 if (!iterator)
422 ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus);
426 return iterator;
429 static TextBreakIterator* setUpIterator(bool& createdIterator, TextBreakIterator*& iterator, UBreakIteratorType type, const LChar* string, int length)
434 iterator = ensureIterator(createdIterator, iterator, type);
435 if (!iterator)
451 ubrk_setUText(reinterpret_cast<UBreakIterator*>(iterator), text, &setTextStatus);
460 return iterator;
490 UBreakIterator* iterator = LineBreakIteratorPool::sharedPool().take(locale);
491 if (!iterator)
507 ubrk_setUText(iterator, text, &setTextStatus);
516 return reinterpret_cast<TextBreakIterator*>(iterator);
521 UBreakIterator* iterator = LineBreakIteratorPool::sharedPool().take(locale);
522 if (!iterator)
535 ubrk_setUText(iterator, text, &setTextStatus);
544 return reinterpret_cast<TextBreakIterator*>(iterator);
547 void releaseLineBreakIterator(TextBreakIterator* iterator)
549 ASSERT_ARG(iterator, iterator);
551 LineBreakIteratorPool::sharedPool().put(reinterpret_cast<UBreakIterator*>(iterator));
667 int textBreakFirst(TextBreakIterator* iterator)
669 return ubrk_first(reinterpret_cast<UBreakIterator*>(iterator));
672 int textBreakLast(TextBreakIterator* iterator)
674 return ubrk_last(reinterpret_cast<UBreakIterator*>(iterator));
677 int textBreakNext(TextBreakIterator* iterator)
679 return ubrk_next(reinterpret_cast<UBreakIterator*>(iterator));
682 int textBreakPrevious(TextBreakIterator* iterator)
684 return ubrk_previous(reinterpret_cast<UBreakIterator*>(iterator));
687 int textBreakPreceding(TextBreakIterator* iterator, int pos)
689 return ubrk_preceding(reinterpret_cast<UBreakIterator*>(iterator), pos);
692 int textBreakFollowing(TextBreakIterator* iterator, int pos)
694 return ubrk_following(reinterpret_cast<UBreakIterator*>(iterator), pos);
697 int textBreakCurrent(TextBreakIterator* iterator)
699 return ubrk_current(reinterpret_cast<UBreakIterator*>(iterator));
702 bool isTextBreak(TextBreakIterator* iterator, int position)
704 return ubrk_isBoundary(reinterpret_cast<UBreakIterator*>(iterator), position);
707 bool isWordTextBreak(TextBreakIterator* iterator)
709 int ruleStatus = ubrk_getRuleStatus(reinterpret_cast<UBreakIterator*>(iterator));
713 static TextBreakIterator* setUpIteratorWithRules(bool& createdIterator, TextBreakIterator*& iterator,
724 iterator = reinterpret_cast<TextBreakIterator*>(ubrk_openRules(rules.data(), rules.size(), 0, 0, &parseStatus, &openStatus));
726 ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus);
728 if (!iterator)
732 ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus);
736 return iterator;
741 // This rule set is based on character-break iterator rules of ICU 4.0