ICU 76.1 76.1
|
UnicodeFunctor
is an abstract base class for objects that perform match and/or replace operations on Unicode strings.
More...
#include <unifunct.h>
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 () const override=0 |
Returns a unique class ID polymorphically. | |
virtual void | setData (const TransliterationRuleData *)=0 |
Set the data object associated with this functor. | |
Public Member Functions inherited from icu::UObject | |
virtual | ~UObject () |
Destructor. | |
Static Public Member Functions | |
static UClassID | getStaticClassID () |
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 38 of file unifunct.h.
|
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 icu::UnicodeSet, and icu::UnicodeFilter.
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 definitions getStaticClassID and getDynamicClassID.
Reimplemented from icu::UObject.
Implemented in icu::UnicodeSet.
Return the class ID for this class.
This is useful only for comparing to a return value from getDynamicClassID().
|
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 icu::UnicodeFilter.
|
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 icu::UnicodeFilter.
|
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.