ICU 4.8.1.1  4.8.1.1
unifilt.h
Go to the documentation of this file.
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
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines