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 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