ICU 76.1: icu::UnicodeReplacer Class Reference

ICU 76.1 76.1

Public Member Functions
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 UnicodeString & | toReplacerPattern (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

  toUnionTo | the 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

  text | the text to be matched
  start | inclusive start index of text to be replaced
  limit | exclusive end index of text to be replaced; must be greater than or equal to start
  cursor | output 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

  result | the string to receive the pattern. Previous contents will be deleted.
  escapeUnprintable | if 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:

- i18n/unicode/unirepl.h