- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- Search for |

- Alphabetical List
- Data Structures
- Class Hierarchy
- Data Fields

# UnicodeReplacer Class Reference

`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 36 of file unirepl.h.

## Constructor & Destructor Documentation

virtual UnicodeReplacer::~UnicodeReplacer | ( |  | ) | `[virtual]`

Destructor.

Stable:
  ICU 2.4

## Member Function Documentation

virtual int32_t 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

virtual UnicodeString& 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

virtual void 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

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

- unirepl.h