unifilt.h

Go to the documentation of this file.
00001 /*
00002 **********************************************************************
00003 * Copyright (C) 1999-2006, 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     virtual UClassID getDynamicClassID() const = 0;
00105 
00111     static UClassID U_EXPORT2 getStaticClassID();
00112 
00113 protected:
00114 
00115     /*
00116      * Since this class has pure virtual functions,
00117      * a constructor can't be used.
00118      * @stable ICU 2.0
00119      */
00120 /*    UnicodeFilter();*/
00121 };
00122 
00123 /*inline UnicodeFilter::UnicodeFilter() {}*/
00124 
00125 U_NAMESPACE_END
00126 
00127 #endif

Generated on Mon Aug 13 07:17:24 2007 for ICU 3.6 by  doxygen 1.5.2