Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

unifunct.h

Go to the documentation of this file.
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 Mon Nov 24 14:35:41 2003 for ICU 2.8 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001