unifilt.h

00001 /*
00002 * Copyright (C) 1999-2004, International Business Machines Corporation and others.
00003 * All Rights Reserved.
00004 **********************************************************************
00005 *   Date        Name        Description
00006 *   11/17/99    aliu        Creation.
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 
00025 #define U_ETHER ((UChar)0xFFFF)
00026 
00052 class U_COMMON_API UnicodeFilter : public UnicodeFunctor, public UnicodeMatcher {
00053 
00054 public:
00059     virtual ~UnicodeFilter();
00060 
00068     virtual UBool contains(UChar32 c) const = 0;
00069 
00075     virtual UnicodeMatcher* toMatcher() const;
00076 
00081     virtual UMatchDegree matches(const Replaceable& text,
00082                                  int32_t& offset,
00083                                  int32_t limit,
00084                                  UBool incremental);
00085 
00090     virtual void setData(const TransliterationRuleData*);
00091 
00097     virtual UClassID getDynamicClassID() const = 0;
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

Generated on Tue Nov 16 10:03:06 2004 for ICU 3.2 by  doxygen 1.3.9.1