ICU 76.1 76.1
icu::UnicodeReplacer Class Referenceabstract

UnicodeReplacer defines a protocol for objects that replace a range of characters in a Replaceable string with output text. More...

#include <unirepl.h>

Public Member Functions

virtual ~UnicodeReplacer ()
 Destructor.
 
virtual int32_t replace (Replaceable &text, int32_t start, int32_t limit, int32_t &cursor)=0
 Replace characters in 'text' from 'start' to 'limit' with the output text of this object.
 
virtual UnicodeStringtoReplacerPattern (UnicodeString &result, UBool escapeUnprintable) const =0
 Returns a string representation of this replacer.
 
virtual void addReplacementSetTo (UnicodeSet &toUnionTo) const =0
 Union the set of all characters that may output by this object into the given set.
 

Detailed Description

UnicodeReplacer defines a protocol for objects that replace a range of characters in a Replaceable string with output text.

The replacement is done via the Replaceable API so as to preserve out-of-band data.

This is a mixin class.

Author
Alan Liu
Stable
ICU 2.4

Definition at line 40 of file unirepl.h.

Constructor & Destructor Documentation

◆ ~UnicodeReplacer()

virtual icu::UnicodeReplacer::~UnicodeReplacer ( )
virtual

Destructor.

Stable
ICU 2.4

Member Function Documentation

◆ addReplacementSetTo()

virtual void icu::UnicodeReplacer::addReplacementSetTo ( UnicodeSet & toUnionTo) const
pure virtual

Union the set of all characters that may output by this object into the given set.

Parameters
toUnionTothe set into which to union the output characters
Stable
ICU 2.4

◆ replace()

virtual int32_t icu::UnicodeReplacer::replace ( Replaceable & text,
int32_t start,
int32_t limit,
int32_t & cursor )
pure virtual

Replace characters in 'text' from 'start' to 'limit' with the output text of this object.

Update the 'cursor' parameter to give the cursor position and return the length of the replacement text.

Parameters
textthe text to be matched
startinclusive start index of text to be replaced
limitexclusive end index of text to be replaced; must be greater than or equal to start
cursoroutput parameter for the cursor position. Not all replacer objects will update this, but in a complete tree of replacer objects, representing the entire output side of a transliteration rule, at least one must update it.
Returns
the number of 16-bit code units in the text replacing the characters at offsets start..(limit-1) in text
Stable
ICU 2.4

◆ toReplacerPattern()

virtual UnicodeString & icu::UnicodeReplacer::toReplacerPattern ( UnicodeString & result,
UBool escapeUnprintable ) const
pure virtual

Returns a string representation of this replacer.

If the result of calling this function is passed to the appropriate parser, typically TransliteratorParser, it will produce another replacer that is equal to this one.

Parameters
resultthe string to receive the pattern. Previous contents will be deleted.
escapeUnprintableif true then convert unprintable character to their hex escape representations, \uxxxx or \Uxxxxxxxx. Unprintable characters are defined by Utility.isUnprintable().
Returns
a reference to 'result'.
Stable
ICU 2.4

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