Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

unifilt.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 1999, International Business Machines Corporation and others. All Rights Reserved.
00003 **********************************************************************
00004 *   Date        Name        Description
00005 *   11/17/99    aliu        Creation.
00006 **********************************************************************
00007 */
00008 #ifndef UNIFILT_H
00009 #define UNIFILT_H
00010 
00011 #include "unicode/unifunct.h"
00012 #include "unicode/unimatch.h"
00013 
00014 U_NAMESPACE_BEGIN
00015 
00023 #define U_ETHER ((UChar)0xFFFF)
00024 
00050 class U_COMMON_API UnicodeFilter : public UnicodeFunctor, public UnicodeMatcher {
00051 
00052 public:
00057     virtual ~UnicodeFilter();
00058 
00066     virtual UBool contains(UChar32 c) const = 0;
00067 
00072     virtual UnicodeMatcher* toMatcher() const;
00073 
00077     UnicodeString& toPattern(UnicodeString& result,
00078                              UBool escapeUnprintable) const;
00079 
00083     UBool matchesIndexValue(uint8_t v) const;
00084 
00088     virtual UMatchDegree matches(const Replaceable& text,
00089                                  int32_t& offset,
00090                                  int32_t limit,
00091                                  UBool incremental);
00092 
00096     virtual void setData(const TransliterationRuleData*) {}
00097 
00103     virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }
00104 
00110     static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }
00111 
00117     virtual void addMatchSetTo(UnicodeSet& toUnionTo) const;
00118 
00119 protected:
00120 
00121     UnicodeFilter();
00122 
00123 private:
00124 
00129     static const char fgClassID;
00130 };
00131 
00132 inline UnicodeFilter::UnicodeFilter() {}
00133 inline UnicodeFilter::~UnicodeFilter() {}
00134 
00135 U_NAMESPACE_END
00136 
00137 #endif

Generated on Thu Aug 15 14:13:31 2002 for ICU 2.2 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001