96 enum { DONE = 0xffff };
131 virtual int32_t hashCode(
void)
const = 0;
150 virtual UChar nextPostInc(
void) = 0;
160 virtual UChar32 next32PostInc(
void) = 0;
171 virtual UBool hasNext() = 0;
387 virtual UChar first(
void) = 0;
397 virtual UChar firstPostInc(
void);
408 virtual UChar32 first32(
void) = 0;
418 virtual UChar32 first32PostInc(
void);
427 inline int32_t setToStart();
436 virtual UChar last(
void) = 0;
445 virtual UChar32 last32(
void) = 0;
454 inline int32_t setToEnd();
464 virtual UChar setIndex(int32_t position) = 0;
477 virtual UChar32 setIndex32(int32_t position) = 0;
484 virtual UChar current(
void)
const = 0;
491 virtual UChar32 current32(
void)
const = 0;
500 virtual UChar next(
void) = 0;
512 virtual UChar32 next32(
void) = 0;
521 virtual UChar previous(
void) = 0;
530 virtual UChar32 previous32(
void) = 0;
541 virtual UBool hasPrevious() = 0;
553 inline int32_t startIndex(
void)
const;
564 inline int32_t endIndex(
void)
const;
574 inline int32_t getIndex(
void)
const;
582 inline int32_t getLength()
const;
595 virtual int32_t move(int32_t delta, EOrigin origin) = 0;
608 virtual int32_t move32(int32_t delta, EOrigin origin) = 0;
641 CharacterIterator(int32_t length, int32_t textBegin, int32_t textEnd, int32_t position);
692 CharacterIterator::setToStart() {
693 return move(0, kStart);
697 CharacterIterator::setToEnd() {
698 return move(0, kEnd);
702 CharacterIterator::startIndex(
void)
const {
707 CharacterIterator::endIndex(
void)
const {
712 CharacterIterator::getIndex(
void)
const {
717 CharacterIterator::getLength(
void)
const {