ICU 73.2  73.2
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
icu::StringCharacterIterator Class Reference

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

#include <schriter.h>

Inheritance diagram for icu::StringCharacterIterator:
icu::UCharCharacterIterator icu::CharacterIterator icu::ForwardCharacterIterator icu::UObject icu::UMemory

Public Member Functions

 StringCharacterIterator (const UnicodeString &textStr)
 Create an iterator over the UnicodeString referred to by "textStr".
 StringCharacterIterator (const UnicodeString &textStr, int32_t textPos)
 Create an iterator over the UnicodeString referred to by "textStr".
 StringCharacterIterator (const UnicodeString &textStr, int32_t textBegin, int32_t textEnd, int32_t textPos)
 Create an iterator over the UnicodeString referred to by "textStr".
 StringCharacterIterator (const StringCharacterIterator &that)
 Copy constructor.
virtual ~StringCharacterIterator ()
 Destructor.
StringCharacterIteratoroperator= (const StringCharacterIterator &that)
 Assignment operator.
virtual bool operator== (const ForwardCharacterIterator &that) const override
 Returns true if the iterators iterate over the same range of the same string and are pointing at the same character.
virtual StringCharacterIteratorclone () const override
 Returns a new StringCharacterIterator referring to the same character in the same range of the same string as this one.
void setText (const UnicodeString &newText)
 Sets the iterator to iterate over the provided string.
virtual void getText (UnicodeString &result) override
 Copies the UnicodeString under iteration into the UnicodeString referred to by "result".
virtual UClassID getDynamicClassID (void) const override
 Return a class ID for this object (not really public)

Static Public Member Functions

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

Protected Member Functions

 StringCharacterIterator ()
 Default constructor, iteration over empty string.

Protected Attributes

UnicodeString text
 Copy of the iterated string object.

Detailed Description

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

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

See also:
CharacterIterator
ForwardCharacterIterator
Stable:
ICU 2.0

Definition at line 48 of file schriter.h.


Constructor & Destructor Documentation

Create an iterator over the UnicodeString referred to by "textStr".

The UnicodeString object is copied. The iteration range is the whole string, and the starting position is 0.

Parameters:
textStrThe unicode string used to create an iterator
Stable:
ICU 2.0
icu::StringCharacterIterator::StringCharacterIterator ( const UnicodeString textStr,
int32_t  textPos 
)

Create an iterator over the UnicodeString referred to by "textStr".

The iteration range is the whole string, and the starting position is specified by "textPos". If "textPos" is outside the valid iteration range, the behavior of this object is undefined.

Parameters:
textStrThe unicode string used to create an iterator
textPosThe starting position of the iteration
Stable:
ICU 2.0
icu::StringCharacterIterator::StringCharacterIterator ( const UnicodeString textStr,
int32_t  textBegin,
int32_t  textEnd,
int32_t  textPos 
)

Create an iterator over the UnicodeString referred to by "textStr".

The UnicodeString object is copied. The iteration range begins with the code unit specified by "textBegin" and ends with the code unit BEFORE the code unit specified by "textEnd". The starting position is specified by "textPos". If "textBegin" and "textEnd" don't form a valid range on "text" (i.e., textBegin >= textEnd or either is negative or greater than text.size()), or "textPos" is outside the range defined by "textBegin" and "textEnd", the behavior of this iterator is undefined.

Parameters:
textStrThe unicode string used to create the StringCharacterIterator
textBeginThe begin position of the iteration range
textEndThe end position of the iteration range
textPosThe starting position of the iteration
Stable:
ICU 2.0

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. The UnicodeString object in "that" is copied.

Parameters:
thatThe StringCharacterIterator to be copied
Stable:
ICU 2.0

Destructor.

Stable:
ICU 2.0

Default constructor, iteration over empty string.

Stable:
ICU 2.0

Member Function Documentation

virtual StringCharacterIterator* icu::StringCharacterIterator::clone ( ) const [override, virtual]

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

The caller must delete the new iterator.

Returns:
the newly cloned object.
Stable:
ICU 2.0

Reimplemented from icu::UCharCharacterIterator.

virtual UClassID icu::StringCharacterIterator::getDynamicClassID ( void  ) const [override, virtual]

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

Returns:
a class ID for this object.
Stable:
ICU 2.0

Reimplemented from icu::UCharCharacterIterator.

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

Returns:
a class ID for this class
Stable:
ICU 2.0

Reimplemented from icu::UCharCharacterIterator.

virtual void icu::StringCharacterIterator::getText ( UnicodeString result) [override, virtual]

Copies the UnicodeString 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:
resultReceives a copy of the text under iteration.
Stable:
ICU 2.0

Reimplemented from icu::UCharCharacterIterator.

StringCharacterIterator& icu::StringCharacterIterator::operator= ( const StringCharacterIterator that)

Assignment operator.

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

Parameters:
thatThe object to be copied.
Returns:
the newly created object.
Stable:
ICU 2.0
virtual bool icu::StringCharacterIterator::operator== ( const ForwardCharacterIterator that) const [override, virtual]

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

Parameters:
thatThe ForwardCharacterIterator to be compared for equality
Returns:
true if the iterators iterate over the same range of the same string and are pointing at the same character.
Stable:
ICU 2.0

Reimplemented from icu::UCharCharacterIterator.

Sets the iterator to iterate over the provided string.

Parameters:
newTextThe string to be iterated over
Stable:
ICU 2.0

Field Documentation

Copy of the iterated string object.

Stable:
ICU 2.0

Reimplemented from icu::UCharCharacterIterator.

Definition at line 179 of file schriter.h.


The documentation for this class was generated from the following file: