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:
UObject UMemory UnicodeFilter UnicodeSet

Public Member Functions

virtual ~UnicodeFunctor ()
 Destructor.
virtual UnicodeFunctorclone () const =0
 Return a copy of this object.
virtual UnicodeMatchertoMatcher () const
 Cast 'this' to a UnicodeMatcher* pointer and return the pointer, or null if this is not a UnicodeMatcher*.
virtual UnicodeReplacertoReplacer () 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 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.

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 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 internal use only. ICU 2.1

Implemented in UnicodeFilter.

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

The documentation for this class was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Sat Jan 23 15:17:45 2010 for ICU 4.3.4 by  doxygen 1.6.1