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 Methods | |
virtual | ~UnicodeFunctor () |
Destructor. More... | |
virtual UnicodeFunctor * | clone () const=0 |
Return a copy of this object. More... | |
virtual UnicodeMatcher * | toMatcher () const |
Cast 'this' to a UnicodeMatcher* pointer and return the pointer, or null if this is not a UnicodeMatcher*. More... | |
virtual UnicodeReplacer * | toReplacer () const |
Cast 'this' to a UnicodeReplacer* pointer and return the pointer, or null if this is not a UnicodeReplacer*. More... | |
virtual UClassID | getDynamicClassID (void) const |
Returns a unique class ID polymorphically. More... | |
virtual void | setData (const TransliterationRuleData *)=0 |
Set the data object associated with this functor. More... | |
Static Public Methods | |
UClassID | getStaticClassID (void) |
Return the class ID for this class. More... | |
Protected Methods | |
UnicodeFunctor () | |
Static Private Attributes | |
const char | fgClassID |
Class identifier for subclasses of UnicodeFunctor that do not define their class (anonymous subclasses). More... |
UnicodeFunctor
is an abstract base class for objects that perform match and/or replace operations on Unicode strings.
Definition at line 27 of file unifunct.h.
|
Destructor.
Definition at line 126 of file unifunct.h. |
|
Definition at line 125 of file unifunct.h. |
|
Return a copy of this object. All UnicodeFunctor objects have to support cloning in order to allow classes using UnicodeFunctor to implement cloning. Reimplemented 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)&fgClassID; } static char fgClassID; Subclasses that do not implement this method will have a dynamic class ID of UnicodeFunctor::getStatisClassID().
Reimplemented from UObject. Reimplemented in UnicodeFilter, and UnicodeSet. Definition at line 100 of file unifunct.h. |
|
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 UnicodeFilter, and UnicodeSet. Definition at line 76 of file unifunct.h. Referenced by UnicodeFilter::getDynamicClassID().
|
|
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.
Reimplemented 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. |
|
Class identifier for subclasses of UnicodeFunctor that do not define their class (anonymous subclasses).
Reimplemented in UnicodeFilter, and UnicodeSet. Definition at line 122 of file unifunct.h. |