unifilt.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 1999-2005, 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 
00020 U_NAMESPACE_BEGIN
00021 
00030 #define U_ETHER ((UChar)0xFFFF)
00031 
00058 class U_COMMON_API UnicodeFilter : public UnicodeFunctor, public UnicodeMatcher {
00059 
00060 public:
00065     virtual ~UnicodeFilter();
00066 
00074     virtual UBool contains(UChar32 c) const = 0;
00075 
00081     virtual UnicodeMatcher* toMatcher() const;
00082 
00087     virtual UMatchDegree matches(const Replaceable& text,
00088                                  int32_t& offset,
00089                                  int32_t limit,
00090                                  UBool incremental);
00091 
00096     virtual void setData(const TransliterationRuleData*);
00097 
00103     virtual UClassID getDynamicClassID() const = 0;
00104 
00110     static UClassID U_EXPORT2 getStaticClassID();
00111 
00112 protected:
00113 
00114     /*
00115      * Since this class has pure virtual functions,
00116      * a constructor can't be used.
00117      * @stable ICU 2.0
00118      */
00119 /*    UnicodeFilter();*/
00120 };
00121 
00122 /*inline UnicodeFilter::UnicodeFilter() {}*/
00123 
00124 U_NAMESPACE_END
00125 
00126 #endif

Generated on Wed Jul 20 08:07:21 2005 for ICU 3.4 by  doxygen 1.4.2-20050421