Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

UCharCharacterIterator Class Reference

A concrete subclass of CharacterIterator that iterates over the characters (code units or code points) in a UChar array. More...

#include <uchriter.h>

Inheritance diagram for UCharCharacterIterator::

CharacterIterator ForwardCharacterIterator StringCharacterIterator List of all members.

Public Methods

 UCharCharacterIterator (const UChar *textPtr, int32_t length)
 Create an iterator over the UChar array referred to by "textPtr". More...

 UCharCharacterIterator (const UChar *textPtr, int32_t length, int32_t position)
 Create an iterator over the UChar array referred to by "textPtr". More...

 UCharCharacterIterator (const UChar *textPtr, int32_t length, int32_t textBegin, int32_t textEnd, int32_t position)
 Create an iterator over the UChar array referred to by "textPtr". More...

 UCharCharacterIterator (const UCharCharacterIterator &that)
 Copy constructor. More...

 ~UCharCharacterIterator ()
 Destructor. More...

UCharCharacterIterator & operator= (const UCharCharacterIterator &that)
 Assignment operator. More...

virtual UBool operator== (const ForwardCharacterIterator &that) const
 Returns true if the iterators iterate over the same range of the same string and are pointing at the same character. More...

virtual int32_t hashCode (void) const
 Generates a hash code for this iterator. More...

virtual CharacterIteratorclone (void) const
 Returns a new UCharCharacterIterator referring to the same character in the same range of the same string as this one. More...

virtual UChar first (void)
 Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit. More...

virtual UChar firstPostInc (void)
 Sets the iterator to refer to the first code unit in its iteration range, returns that code unit, and moves the position to the second code unit. More...

virtual UChar32 first32 (void)
 Sets the iterator to refer to the first code point in its iteration range, and returns that code unit, This can be used to begin an iteration with next32(). More...

virtual UChar32 first32PostInc (void)
 Sets the iterator to refer to the first code point in its iteration range, returns that code point, and moves the position to the second code point. More...

virtual UChar last (void)
 Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit. More...

virtual UChar32 last32 (void)
 Sets the iterator to refer to the last code point in its iteration range, and returns that code unit. More...

virtual UChar setIndex (int32_t position)
 Sets the iterator to refer to the "position"-th code unit in the text-storage object the iterator refers to, and returns that code unit. More...

virtual UChar32 setIndex32 (int32_t position)
 Sets the iterator to refer to the beginning of the code point that contains the "position"-th code unit in the text-storage object the iterator refers to, and returns that code point. More...

virtual UChar current (void) const
 Returns the code unit the iterator currently refers to. More...

virtual UChar32 current32 (void) const
 Returns the code point the iterator currently refers to. More...

virtual UChar next (void)
 Advances to the next code unit in the iteration range (toward endIndex()), and returns that code unit. More...

virtual UChar nextPostInc (void)
 Gets the current code unit for returning and advances to the next code unit in the iteration range (toward endIndex()). More...

virtual UChar32 next32 (void)
 Advances to the next code point in the iteration range (toward endIndex()), and returns that code point. More...

virtual UChar32 next32PostInc (void)
 Gets the current code point for returning and advances to the next code point in the iteration range (toward endIndex()). More...

virtual UBool hasNext ()
 Returns FALSE if there are no more code units or code points at or after the current position in the iteration range. More...

virtual UChar previous (void)
 Advances to the previous code unit in the iteration rance (toward startIndex()), and returns that code unit. More...

virtual UChar32 previous32 (void)
 Advances to the previous code point in the iteration rance (toward startIndex()), and returns that code point. More...

virtual UBool hasPrevious ()
 Returns FALSE if there are no more code units or code points before the current position in the iteration range. More...

virtual int32_t move (int32_t delta, EOrigin origin)
 Moves the current position relative to the start or end of the iteration range, or relative to the current position itself. More...

virtual int32_t move32 (int32_t delta, EOrigin origin)
 Moves the current position relative to the start or end of the iteration range, or relative to the current position itself. More...

void setText (const UChar *newText, int32_t newTextLength)
 Sets the iterator to iterate over a new range of text. More...

virtual void getText (UnicodeString &result)
 Copies the UChar array under iteration into the UnicodeString referred to by "result". More...

virtual UClassID getDynamicClassID (void) const
 Return a class ID for this object (not really public). More...


Static Public Methods

UClassID getStaticClassID (void)
 Return a class ID for this class (not really public). More...


Protected Methods

 UCharCharacterIterator ()

Protected Attributes

const UChartext

Static Private Attributes

const char fgClassID

Detailed Description

A concrete subclass of CharacterIterator that iterates over the characters (code units or code points) in a UChar array.

It's possible not only to create an iterator that iterates over an entire UChar array, but also to create one that iterates over only a subrange of a UChar array (iterators over different subranges of the same UChar array don't compare equal).

See also:
CharacterIterator , ForwardCharacterIterator
Stable:

Definition at line 28 of file uchriter.h.


Constructor & Destructor Documentation

UCharCharacterIterator::UCharCharacterIterator const UChar   textPtr,
int32_t    length
 

Create an iterator over the UChar array referred to by "textPtr".

The iteration range is 0 to length-1. text is only aliased, not adopted (the destructor will not delete it).

Stable:

UCharCharacterIterator::UCharCharacterIterator const UChar   textPtr,
int32_t    length,
int32_t    position
 

Create an iterator over the UChar array referred to by "textPtr".

The iteration range is 0 to length-1. text is only aliased, not adopted (the destructor will not delete it). The starting position is specified by "position". If "position" is outside the valid iteration range, the behavior of this object is undefined.

Stable:

UCharCharacterIterator::UCharCharacterIterator const UChar   textPtr,
int32_t    length,
int32_t    textBegin,
int32_t    textEnd,
int32_t    position
 

Create an iterator over the UChar array referred to by "textPtr".

The iteration range is 0 to end-1. text is only aliased, not adopted (the destructor will not delete it). The starting position is specified by "position". If begin and end do not form a valid iteration range or "position" is outside the valid iteration range, the behavior of this object is undefined.

Stable:

UCharCharacterIterator::UCharCharacterIterator const UCharCharacterIterator &    that
 

Copy constructor.

The new iterator iterates over the same range of the same string as "that", and its initial position is the same as "that"'s current position.

Stable:

UCharCharacterIterator::~UCharCharacterIterator  
 

Destructor.

Stable:

UCharCharacterIterator::UCharCharacterIterator   [protected]
 


Member Function Documentation

virtual CharacterIterator* UCharCharacterIterator::clone void    const [virtual]
 

Returns a new UCharCharacterIterator referring to the same character in the same range of the same string as this one.

The caller must delete the new iterator.

Stable:

Reimplemented from CharacterIterator.

Reimplemented in StringCharacterIterator.

virtual UChar UCharCharacterIterator::current void    const [virtual]
 

Returns the code unit the iterator currently refers to.

Stable:

Reimplemented from CharacterIterator.

virtual UChar32 UCharCharacterIterator::current32 void    const [virtual]
 

Returns the code point the iterator currently refers to.

Stable:

Reimplemented from CharacterIterator.

virtual UChar UCharCharacterIterator::first void    [virtual]
 

Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit.

This can be used to begin an iteration with next().

Stable:

Reimplemented from CharacterIterator.

virtual UChar32 UCharCharacterIterator::first32 void    [virtual]
 

Sets the iterator to refer to the first code point in its iteration range, and returns that code unit, This can be used to begin an iteration with next32().

Note that an iteration with next32PostInc(), beginning with, e.g., setToStart() or firstPostInc(), is more efficient.

Stable:

Reimplemented from CharacterIterator.

virtual UChar32 UCharCharacterIterator::first32PostInc void    [virtual]
 

Sets the iterator to refer to the first code point in its iteration range, returns that code point, and moves the position to the second code point.

This is an alternative to setToStart() for forward iteration with next32PostInc().

Stable:

Reimplemented from CharacterIterator.

virtual UChar UCharCharacterIterator::firstPostInc void    [virtual]
 

Sets the iterator to refer to the first code unit in its iteration range, returns that code unit, and moves the position to the second code unit.

This is an alternative to setToStart() for forward iteration with nextPostInc().

Stable:

Reimplemented from CharacterIterator.

virtual UClassID UCharCharacterIterator::getDynamicClassID void    const [inline, virtual]
 

Return a class ID for this object (not really public).

Stable:

Reimplemented from ForwardCharacterIterator.

Reimplemented in StringCharacterIterator.

Definition at line 305 of file uchriter.h.

UClassID UCharCharacterIterator::getStaticClassID void    [inline, static]
 

Return a class ID for this class (not really public).

Stable:

Reimplemented in StringCharacterIterator.

Definition at line 312 of file uchriter.h.

Referenced by StringCharacterIterator::getDynamicClassID().

virtual void UCharCharacterIterator::getText UnicodeString   result [virtual]
 

Copies the UChar array under iteration into the UnicodeString referred to by "result".

Even if this iterator iterates across only a part of this string, the whole string is copied.

Parameters:
result  Receives a copy of the text under iteration.
Stable:

Reimplemented from CharacterIterator.

Reimplemented in StringCharacterIterator.

virtual UBool UCharCharacterIterator::hasNext void    [virtual]
 

Returns FALSE if there are no more code units or code points at or after the current position in the iteration range.

This is used with nextPostInc() or next32PostInc() in forward iteration.

Stable:

Reimplemented from ForwardCharacterIterator.

virtual UBool UCharCharacterIterator::hasPrevious   [virtual]
 

Returns FALSE if there are no more code units or code points before the current position in the iteration range.

This is used with previous() or previous32() in backward iteration.

Stable:

Reimplemented from CharacterIterator.

virtual int32_t UCharCharacterIterator::hashCode void    const [virtual]
 

Generates a hash code for this iterator.

Stable:

Reimplemented from ForwardCharacterIterator.

virtual UChar UCharCharacterIterator::last void    [virtual]
 

Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit.

This can be used to begin an iteration with previous().

Stable:

Reimplemented from CharacterIterator.

virtual UChar32 UCharCharacterIterator::last32 void    [virtual]
 

Sets the iterator to refer to the last code point in its iteration range, and returns that code unit.

This can be used to begin an iteration with previous32().

Stable:

Reimplemented from CharacterIterator.

virtual int32_t UCharCharacterIterator::move int32_t    delta,
EOrigin    origin
[virtual]
 

Moves the current position relative to the start or end of the iteration range, or relative to the current position itself.

The movement is expressed in numbers of code units forward or backward by specifying a positive or negative delta.

Returns:
the new position
Stable:

Reimplemented from CharacterIterator.

virtual int32_t UCharCharacterIterator::move32 int32_t    delta,
EOrigin    origin
[virtual]
 

Moves the current position relative to the start or end of the iteration range, or relative to the current position itself.

The movement is expressed in numbers of code points forward or backward by specifying a positive or negative delta.

Returns:
the new position
Stable:

Reimplemented from CharacterIterator.

virtual UChar UCharCharacterIterator::next void    [virtual]
 

Advances to the next code unit in the iteration range (toward endIndex()), and returns that code unit.

If there are no more code units to return, returns DONE.

Stable:

Reimplemented from CharacterIterator.

virtual UChar32 UCharCharacterIterator::next32 void    [virtual]
 

Advances to the next code point in the iteration range (toward endIndex()), and returns that code point.

If there are no more code points to return, returns DONE. Note that iteration with "pre-increment" semantics is less efficient than iteration with "post-increment" semantics that is provided by next32PostInc().

Stable:

Reimplemented from CharacterIterator.

virtual UChar32 UCharCharacterIterator::next32PostInc void    [virtual]
 

Gets the current code point for returning and advances to the next code point in the iteration range (toward endIndex()).

If there are no more code points to return, returns DONE.

Stable:

Reimplemented from ForwardCharacterIterator.

virtual UChar UCharCharacterIterator::nextPostInc void    [virtual]
 

Gets the current code unit for returning and advances to the next code unit in the iteration range (toward endIndex()).

If there are no more code units to return, returns DONE.

Stable:

Reimplemented from ForwardCharacterIterator.

UCharCharacterIterator& UCharCharacterIterator::operator= const UCharCharacterIterator &    that
 

Assignment operator.

*this is altered to iterate over the sane range of the same string as "that", and refers to the same character within that string as "that" does.

Stable:

virtual UBool UCharCharacterIterator::operator== const ForwardCharacterIterator   that const [virtual]
 

Returns true if the iterators iterate over the same range of the same string and are pointing at the same character.

Stable:

Reimplemented from ForwardCharacterIterator.

Reimplemented in StringCharacterIterator.

virtual UChar UCharCharacterIterator::previous void    [virtual]
 

Advances to the previous code unit in the iteration rance (toward startIndex()), and returns that code unit.

If there are no more code units to return, returns DONE.

Stable:

Reimplemented from CharacterIterator.

virtual UChar32 UCharCharacterIterator::previous32 void    [virtual]
 

Advances to the previous code point in the iteration rance (toward startIndex()), and returns that code point.

If there are no more code points to return, returns DONE.

Stable:

Reimplemented from CharacterIterator.

virtual UChar UCharCharacterIterator::setIndex int32_t    position [virtual]
 

Sets the iterator to refer to the "position"-th code unit in the text-storage object the iterator refers to, and returns that code unit.

Stable:

Reimplemented from CharacterIterator.

virtual UChar32 UCharCharacterIterator::setIndex32 int32_t    position [virtual]
 

Sets the iterator to refer to the beginning of the code point that contains the "position"-th code unit in the text-storage object the iterator refers to, and returns that code point.

The current position is adjusted to the beginning of the code point (its first code unit).

Stable:

Reimplemented from CharacterIterator.

void UCharCharacterIterator::setText const UChar   newText,
int32_t    newTextLength
 

Sets the iterator to iterate over a new range of text.

Stable:

Reimplemented in StringCharacterIterator.


Member Data Documentation

const char UCharCharacterIterator::fgClassID [static, private]
 

Reimplemented in StringCharacterIterator.

Definition at line 321 of file uchriter.h.

const UChar* UCharCharacterIterator::text [protected]
 

Reimplemented in StringCharacterIterator.

Definition at line 318 of file uchriter.h.


The documentation for this class was generated from the following file:
Generated on Tue Apr 9 11:30:48 2002 for ICU 2.1 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001