ICU 4.8.1.1
4.8.1.1
|
00001 /* 00002 ********************************************************************** 00003 * Copyright (C) 1999-2010, International Business Machines Corporation and others. 00004 * All Rights Reserved. 00005 ********************************************************************** 00006 * Date Name Description 00007 * 11/17/99 aliu Creation. 00008 ********************************************************************** 00009 */ 00010 #ifndef UNIFILT_H 00011 #define UNIFILT_H 00012 00013 #include "unicode/unifunct.h" 00014 #include "unicode/unimatch.h" 00015 00021 U_NAMESPACE_BEGIN 00022 00031 #define U_ETHER ((UChar)0xFFFF) 00032 00059 class U_COMMON_API UnicodeFilter : public UnicodeFunctor, public UnicodeMatcher { 00060 00061 public: 00066 virtual ~UnicodeFilter(); 00067 00075 virtual UBool contains(UChar32 c) const = 0; 00076 00082 virtual UnicodeMatcher* toMatcher() const; 00083 00088 virtual UMatchDegree matches(const Replaceable& text, 00089 int32_t& offset, 00090 int32_t limit, 00091 UBool incremental); 00092 00097 virtual void setData(const TransliterationRuleData*); 00098 00104 static UClassID U_EXPORT2 getStaticClassID(); 00105 00106 protected: 00107 00108 /* 00109 * Since this class has pure virtual functions, 00110 * a constructor can't be used. 00111 * @stable ICU 2.0 00112 */ 00113 /* UnicodeFilter();*/ 00114 }; 00115 00116 /*inline UnicodeFilter::UnicodeFilter() {}*/ 00117 00118 U_NAMESPACE_END 00119 00120 #endif