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

unifunct.h

00001 /* 00002 ********************************************************************** 00003 * Copyright (c) 2002, International Business Machines Corporation 00004 * and others. All Rights Reserved. 00005 ********************************************************************** 00006 * Date Name Description 00007 * 01/14/2002 aliu Creation. 00008 ********************************************************************** 00009 */ 00010 #ifndef UNIFUNCT_H 00011 #define UNIFUNCT_H 00012 00013 #include "unicode/utypes.h" 00014 00015 U_NAMESPACE_BEGIN 00016 00017 class UnicodeMatcher; 00018 class UnicodeReplacer; 00019 class TransliterationRuleData; 00020 00026 class U_I18N_API UnicodeFunctor { 00027 00028 public: 00029 00033 virtual ~UnicodeFunctor(); 00034 00040 virtual UnicodeFunctor* clone() const = 0; 00041 00051 virtual UnicodeMatcher* toMatcher() const; 00052 00062 virtual UnicodeReplacer* toReplacer() const; 00063 00075 static UClassID getStaticClassID(void) { return (UClassID)&fgClassID; } 00076 00099 virtual UClassID getDynamicClassID(void) const { return getStaticClassID(); }; 00100 00109 virtual void setData(const TransliterationRuleData*) = 0; 00110 00111 protected: 00112 00113 UnicodeFunctor(); 00114 00115 private: 00116 00121 static const char fgClassID; 00122 }; 00123 00124 inline UnicodeFunctor::UnicodeFunctor() {} 00125 inline UnicodeFunctor::~UnicodeFunctor() {} 00126 00127 U_NAMESPACE_END 00128 00129 #endif

Generated on Wed Jul 28 05:45:13 2004 for ICU 2.1 by doxygen 1.3.7