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 #include "unicode/uobject.h" 00017 00023 U_NAMESPACE_BEGIN 00024 00025 class UnicodeMatcher; 00026 class UnicodeReplacer; 00027 class TransliterationRuleData; 00028 00035 class U_COMMON_API UnicodeFunctor : public UObject { 00036 00037 public: 00038 00043 virtual ~UnicodeFunctor(); 00044 00051 virtual UnicodeFunctor* clone() const = 0; 00052 00063 virtual UnicodeMatcher* toMatcher() const; 00064 00075 virtual UnicodeReplacer* toReplacer() const; 00076 00083 static UClassID U_EXPORT2 getStaticClassID(void); 00084 00100 virtual UClassID getDynamicClassID(void) const = 0; 00101 00110 virtual void setData(const TransliterationRuleData*) = 0; 00111 00112 protected: 00113 00119 /*UnicodeFunctor();*/ 00120 00121 }; 00122 00123 /*inline UnicodeFunctor::UnicodeFunctor() {}*/ 00124 00125 U_NAMESPACE_END 00126 00127 #endif
1.6.1