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
00016 U_NAMESPACE_BEGIN
00017
00018 class UnicodeMatcher;
00019 class UnicodeReplacer;
00020 class TransliterationRuleData;
00021
00028 class U_COMMON_API UnicodeFunctor : public UObject {
00029
00030 public:
00031
00036 virtual ~UnicodeFunctor();
00037
00044 virtual UnicodeFunctor* clone() const = 0;
00045
00056 virtual UnicodeMatcher* toMatcher() const;
00057
00068 virtual UnicodeReplacer* toReplacer() const;
00069
00076 static UClassID U_EXPORT2 getStaticClassID(void);
00077
00093 virtual UClassID getDynamicClassID(void) const = 0;
00094
00103 virtual void setData(const TransliterationRuleData*) = 0;
00104
00105 protected:
00106
00112
00113
00114 };
00115
00116
00117
00118 U_NAMESPACE_END
00119
00120 #endif