00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef UNIFUNCT_H
00011 #define UNIFUNCT_H
00012
00013 #include "unicode/utypes.h"
00014 #include "unicode/uobject.h"
00015
00021 U_NAMESPACE_BEGIN
00022
00023 class UnicodeMatcher;
00024 class UnicodeReplacer;
00025 class TransliterationRuleData;
00026
00033 class U_COMMON_API UnicodeFunctor : public UObject {
00034
00035 public:
00036
00041 virtual ~UnicodeFunctor();
00042
00049 virtual UnicodeFunctor* clone() const = 0;
00050
00061 virtual UnicodeMatcher* toMatcher() const;
00062
00073 virtual UnicodeReplacer* toReplacer() const;
00074
00081 static UClassID U_EXPORT2 getStaticClassID(void);
00082
00098 virtual UClassID getDynamicClassID(void) const = 0;
00099
00108 virtual void setData(const TransliterationRuleData*) = 0;
00109
00110 protected:
00111
00117
00118
00119 };
00120
00121
00122
00123 U_NAMESPACE_END
00124
00125 #endif