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

- Search for |

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

# UnicodeFunctor Class Reference

`UnicodeFunctor` is an abstract base class for objects that perform match and/or replace operations on Unicode strings. More...

`#include <unifunct.h>`

Inheritance diagram for UnicodeFunctor:

## Public Member Functions
virtual | ~UnicodeFunctor ()
| Destructor.
virtual UnicodeFunctor * | clone () const=0
| Return a copy of this object.
virtual UnicodeMatcher * | toMatcher () const
| Cast 'this' to a UnicodeMatcher* pointer and return the pointer, or null if this is not a UnicodeMatcher*.
virtual UnicodeReplacer * | toReplacer () const
| Cast 'this' to a UnicodeReplacer* pointer and return the pointer, or null if this is not a UnicodeReplacer*.
virtual UClassID | getDynamicClassID (void) const =0
| Returns a unique class ID polymorphically.
virtual void | setData (const TransliterationRuleData *)=0
| Set the data object associated with this functor.
## Static Public Member Functions
static UClassID | getStaticClassID (void)
| Return the class ID for this class.

## Detailed Description

`UnicodeFunctor` is an abstract base class for objects that perform match and/or replace operations on Unicode strings.

Author:
  Alan Liu

Stable:
  ICU 2.4

Definition at line 33 of file unifunct.h.

## Constructor & Destructor Documentation

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

Destructor.

Stable:
  ICU 2.4

## Member Function Documentation

virtual UnicodeFunctor* UnicodeFunctor::clone | ( |  | ) | const`[pure virtual]`

Return a copy of this object.

All UnicodeFunctor objects have to support cloning in order to allow classes using UnicodeFunctor to implement cloning.

Stable:
  ICU 2.4

Implemented in UnicodeSet.

virtual UnicodeMatcher* UnicodeFunctor::toMatcher | ( |  | ) | const`[virtual]`

Cast 'this' to a UnicodeMatcher* pointer and return the pointer, or null if this is not a UnicodeMatcher*.

Subclasses that mix in UnicodeMatcher as a base class must override this. This protocol is required because a pointer to a UnicodeFunctor cannot be cast to a pointer to a UnicodeMatcher, since UnicodeMatcher is a mixin that does not derive from UnicodeFunctor.

Stable:
  ICU 2.4

Reimplemented in UnicodeFilter.

virtual UnicodeReplacer* UnicodeFunctor::toReplacer | ( |  | ) | const`[virtual]`

Cast 'this' to a UnicodeReplacer* pointer and return the pointer, or null if this is not a UnicodeReplacer*.

Subclasses that mix in UnicodeReplacer as a base class must override this. This protocol is required because a pointer to a UnicodeFunctor cannot be cast to a pointer to a UnicodeReplacer, since UnicodeReplacer is a mixin that does not derive from UnicodeFunctor.

Stable:
  ICU 2.4

static UClassID UnicodeFunctor::getStaticClassID | ( | void |  | ) | `[static]`

Return the class ID for this class.

This is useful only for comparing to a return value from getDynamicClassID().

Returns:
  The class ID for all objects of this class.

Stable:
  ICU 2.0

Reimplemented in UnicodeFilter, and UnicodeSet.

virtual UClassID UnicodeFunctor::getDynamicClassID | ( | void |  | ) | const`[pure virtual]`

Returns a unique class ID polymorphically.

This method is to implement a simple version of RTTI, since not all C++ compilers support genuine RTTI. Polymorphic operator==() and clone() methods call this method.

Concrete subclasses of UnicodeFunctor should use the macro UOBJECT_DEFINE_RTTI_IMPLEMENTATION from uobject.h to provide definitios getStaticClassID and getDynamicClassID.

Returns:
  The class ID for this object. All objects of a given class have the same class ID. Objects of other classes have different class IDs.

Stable:
  ICU 2.4

Implements UObject.

Implemented in UnicodeFilter, and UnicodeSet.

virtual void UnicodeFunctor::setData | ( | const TransliterationRuleData * |  | ) | `[pure virtual]`

Set the data object associated with this functor.

The data object provides context for functor-to-standin mapping. This method is required when assigning a functor to a different data object. This function MAY GO AWAY later if the architecture is changed to pass data object pointers through the API.

Internal:
  Do not use. This API is for interal use only. ICU 2.1

Implemented in UnicodeFilter.

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

- unifunct.h