|
ICU 73.2
73.2
|
00001 // © 2016 and later: Unicode, Inc. and others. 00002 // License & terms of use: http://www.unicode.org/copyright.html 00003 /* 00004 ********************************************************************** 00005 * Copyright (c) 2002-2005, International Business Machines Corporation 00006 * and others. All Rights Reserved. 00007 ********************************************************************** 00008 * Date Name Description 00009 * 01/14/2002 aliu Creation. 00010 ********************************************************************** 00011 */ 00012 #ifndef UNIFUNCT_H 00013 #define UNIFUNCT_H 00014 00015 #include "unicode/utypes.h" 00016 00017 #if U_SHOW_CPLUSPLUS_API 00018 00019 #include "unicode/uobject.h" 00020 00026 U_NAMESPACE_BEGIN 00027 00028 class UnicodeMatcher; 00029 class UnicodeReplacer; 00030 class TransliterationRuleData; 00031 00038 class U_COMMON_API UnicodeFunctor : public UObject { 00039 00040 public: 00041 00046 virtual ~UnicodeFunctor(); 00047 00054 virtual UnicodeFunctor* clone() const = 0; 00055 00066 virtual UnicodeMatcher* toMatcher() const; 00067 00078 virtual UnicodeReplacer* toReplacer() const; 00079 00086 static UClassID U_EXPORT2 getStaticClassID(void); 00087 00103 virtual UClassID getDynamicClassID(void) const override = 0; 00104 00113 virtual void setData(const TransliterationRuleData*) = 0; 00114 00115 protected: 00116 00122 /*UnicodeFunctor();*/ 00123 00124 }; 00125 00126 /*inline UnicodeFunctor::UnicodeFunctor() {}*/ 00127 00128 U_NAMESPACE_END 00129 00130 #endif /* U_SHOW_CPLUSPLUS_API */ 00131 00132 #endif
1.7.6.1