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

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>

List of all members.

Public Methods

virtual ~UnicodeReplacer ()
 Destructor. More...

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. More...

virtual UnicodeStringtoReplacerPattern (UnicodeString &result, UBool escapeUnprintable) const=0
 Returns a string representation of this replacer. More...

virtual void addReplacementSetTo (UnicodeSet &toUnionTo) const=0
 Union the set of all characters that may output by this object into the given set. More...


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
Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.

Definition at line 31 of file unirepl.h.


Constructor & Destructor Documentation

virtual UnicodeReplacer::~UnicodeReplacer   [virtual]
 

Destructor.

Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.


Member Function Documentation

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
Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.

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
Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.

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'.
Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.


The documentation for this class was generated from the following file:
Generated on Mon Nov 24 14:37:01 2003 for ICU 2.8 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001