00001
00002
00003
00004
00005
00006
00007
00008
00009
#ifndef UNIFILT_H
00010
#define UNIFILT_H
00011
00012
#include "unicode/unifunct.h"
00013
#include "unicode/unimatch.h"
00014
00015
U_NAMESPACE_BEGIN
00016
00024
#define U_ETHER ((UChar)0xFFFF)
00025
00051 class U_COMMON_API UnicodeFilter :
public UnicodeFunctor,
public UnicodeMatcher {
00052
00053
public:
00058
virtual ~UnicodeFilter();
00059
00067
virtual UBool contains(
UChar32 c)
const = 0;
00068
00074
virtual UnicodeMatcher*
toMatcher()
const;
00075
00080
virtual UMatchDegree matches(
const Replaceable& text,
00081 int32_t& offset,
00082 int32_t limit,
00083
UBool incremental);
00084
00089
virtual void setData(
const TransliterationRuleData*);
00090
00096
virtual UClassID getDynamicClassID()
const = 0;
00097
00098
00099
00100
00101
00102
00103
00104
00105
protected:
00106
00107
00108
00109
00110
00111
00112
00113
00114
private:
00115
00116
00117
00118
00119
00120
00121 };
00122
00123
00124
00125
U_NAMESPACE_END
00126
00127
#endif