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

unifunct.h

00001 /* 00002 ********************************************************************** 00003 * Copyright (c) 2002-2003, 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 #include "unicode/uobject.h" 00015 00016 U_NAMESPACE_BEGIN 00017 00018 class UnicodeMatcher; 00019 class UnicodeReplacer; 00020 class TransliterationRuleData; 00021 00028 class U_COMMON_API UnicodeFunctor : public UObject { 00029 00030 public: 00031 00036 virtual ~UnicodeFunctor(); 00037 00044 virtual UnicodeFunctor* clone() const = 0; 00045 00056 virtual UnicodeMatcher* toMatcher() const; 00057 00068 virtual UnicodeReplacer* toReplacer() const; 00069 00070 /* 00071 * Return the class ID for this class. This is useful only for 00072 * comparing to a return value from getDynamicClassID(). For example: 00073 * <pre> 00074 * . Base* polymorphic_pointer = createPolymorphicObject(); 00075 * . if (polymorphic_pointer->getDynamicClassID() == 00076 * . Derived::getStaticClassID()) ... 00077 * </pre> 00078 * @return The class ID for all objects of this class. 00079 * @stable ICU 2.0 00080 */ 00081 /*static UClassID getStaticClassID(void) { return (UClassID)&fgClassID; }*/ 00082 00106 virtual UClassID getDynamicClassID(void) const = 0; 00107 00116 virtual void setData(const TransliterationRuleData*) = 0; 00117 00118 protected: 00119 00125 /*UnicodeFunctor();*/ 00126 00127 private: 00128 00129 /* 00130 * Class identifier for subclasses of UnicodeFunctor that do not 00131 * define their class (anonymous subclasses). 00132 */ 00133 /*static const char fgClassID;*/ 00134 }; 00135 00136 /*inline UnicodeFunctor::UnicodeFunctor() {}*/ 00137 00138 U_NAMESPACE_END 00139 00140 #endif

Generated on Wed Sep 15 17:18:09 2004 for ICU 2.8 by doxygen 1.3.8