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 |
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.
|
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. |
|
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 that wish clients to be able to identify them should implement getDynamicClassID() and also a static method and data member:
static UClassID getStaticClassID() { return (UClassID) } static char fgClassID; Subclasses that do not implement this method will have a dynamic class ID of UnicodeFunctor::getStatisClassID().
Reimplemented in UnicodeSet. |
|
Return the class ID for this class. This is useful only for comparing to a return value from getDynamicClassID(). For example: . Base* polymorphic_pointer = createPolymorphicObject(); . if (polymorphic_pointer->getDynamicClassID() == . Derived::getStaticClassID()) ...
Reimplemented in UnicodeSet. |
|
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. |
|
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. |
|
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. |