00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef UNIFUNCT_H
00013 #define UNIFUNCT_H
00014
00015 #include "unicode/utypes.h"
00016
00017 #if U_SHOW_CPLUSPLUS_API
00018
00019 #include "unicode/uobject.h"
00020
00026 U_NAMESPACE_BEGIN
00027
00028 class UnicodeMatcher;
00029 class UnicodeReplacer;
00030 class TransliterationRuleData;
00031
00038 class U_COMMON_API UnicodeFunctor : public UObject {
00039
00040 public:
00041
00046 virtual ~UnicodeFunctor();
00047
00054 virtual UnicodeFunctor* clone() const = 0;
00055
00066 virtual UnicodeMatcher* toMatcher() const;
00067
00078 virtual UnicodeReplacer* toReplacer() const;
00079
00086 static UClassID U_EXPORT2 getStaticClassID(void);
00087
00103 virtual UClassID getDynamicClassID(void) const = 0;
00104
00113 virtual void setData(const TransliterationRuleData*) = 0;
00114
00115 protected:
00116
00122
00123
00124 };
00125
00126
00127
00128 U_NAMESPACE_END
00129
00130 #endif
00131
00132 #endif