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. |
UnicodeFunctor
is an abstract base class for objects that perform match and/or replace operations on Unicode strings.
Definition at line 33 of file unifunct.h.
virtual UnicodeFunctor::~UnicodeFunctor | ( | ) | [virtual] |
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.
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.
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.
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().
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.
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.
Implemented in UnicodeFilter.