Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

unifilt.h

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 
00041 class U_I18N_API UnicodeFilter : public UnicodeFunctor, public UnicodeMatcher {
00042 
00043 public:
00048     virtual ~UnicodeFilter();
00049 
00057     virtual UBool contains(UChar32 c) const = 0;
00058 
00063     virtual UnicodeMatcher* toMatcher() const;
00064 
00068     UnicodeString& toPattern(UnicodeString& result,
00069                              UBool escapeUnprintable) const;
00070 
00074     UBool matchesIndexValue(uint8_t v) const;
00075 
00079     virtual UMatchDegree matches(const Replaceable& text,
00080                                  int32_t& offset,
00081                                  int32_t limit,
00082                                  UBool incremental);
00083 
00087     virtual void setData(const TransliterationRuleData*) {}
00088 
00089 protected:
00090 
00091     UnicodeFilter();
00092 };
00093 
00094 inline UnicodeFilter::UnicodeFilter() {}
00095 inline UnicodeFilter::~UnicodeFilter() {}
00096 
00097 U_NAMESPACE_END
00098 
00099 #endif

Generated on Wed Nov 17 21:02:04 2004 for ICU 2.1 by  doxygen 1.3.9.1